From ab56316930181cb77b6d5f06ad649eb3383be720 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 12 Nov 2024 18:23:22 +0300 Subject: [PATCH] =?UTF-8?q?dev:=20=D0=BA=D0=BE=D0=BD=D0=B5=D1=86=20II=20?= =?UTF-8?q?=D0=B8=D0=B4=D0=B5=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE=20?= =?UTF-8?q?=D1=8D=D1=82=D0=B0=D0=BF=D0=B0=20=D1=81=D0=BE=D0=B2=D0=BC=D0=B5?= =?UTF-8?q?=D1=89=D0=B5=D0=BD=20=D1=81=20=D1=80=D0=B5=D0=B0=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D1=8B=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__pycache__/plot_window.cpython-310.pyc | Bin 7640 -> 8102 bytes src/gui/plot_window.py | 116 +++++++++++------- src/uml/__pycache__/creator.cpython-310.pyc | Bin 3187 -> 3267 bytes src/uml/creator.py | 14 ++- 4 files changed, 79 insertions(+), 51 deletions(-) diff --git a/src/gui/__pycache__/plot_window.cpython-310.pyc b/src/gui/__pycache__/plot_window.cpython-310.pyc index 5775610eb947ac2ac4971f1df8ae396fab0faa86..9dfef7e7fdf88e19b6ee962ce6c41351db7848a2 100644 GIT binary patch delta 1803 zcmbVMU1%d!6u#%?&NP|Hf7)c4q}?Ctx(X_7u?Q*^U06XE1s8PdmfdV-Op`XoOa}$I z!wCB#K1kuhviOv|2;z%Nz!yc(7eSwV(hZ2{%PQit_*BoCNt(2-Y}vWYnKS3_e)l_b z=BFn=UQc&YDTCp4ySv(GF5gQ3Z162j{bhU+@Xd>txzGKWjGbe9eDg(LG?=g9txIn6 zZSH<6Sqp5KXZ{RodTYjyd+}Bxv?M&k2G5k_NzStCAOR&m$2P0JAq@!?=9^OMrDR;1 z6jQ;NJ^+(C+Ds_|DibA_7&*G{OV&$!nO;`veF&dgA6mIS$0XLvOEJkfq?;wy;4(pR z-8w=S+k6k)t5_TC!~yui2s~L3ycZn7Zi8)HMWxJr9D} zft<0%C8o-aPa-ust!*OOq}0Qc>$ZWLhSE-2tP%55GD!=yG;TR7Q!;I*Y`rfo$NY?+ z^>YYuu2+?b3*@SVY(V^m^eKTw$*#jf+~n2VEK5 zlca<1W4eHx>h|4u!Eb?hIbiQ@TF6&0CM$@^k5VAE8NCx3)5kEb|1)hCX08qeLEA5V7w&}2_$ zW7KWl?fe(w%8}Wg4Aj&#j35@G*;f7Z3rqWW{UPv=)_CN(>Yu-@mDd~ee`8EMGg5wE zSJ}+7>YdC>ntKWz>UQRgdNp&hu#v0RcIq#0)pnf=owuE~^QNcvGuA6Z(e#}5MuOxO zyXMt45?-_IgsNM_3LAnFhg!X}({YE;918NIblPvZk79uP7>XgUEf4uMyz9&Aq3mMd z=ExO_JZYCu)bQTDi9+W^Sb`OJ0tBB00|c%(Hz1CB73D0Hq0Ao!V`N+8WLrYpSxE9S zMin86D~%C4=#&*kRKtieKMiY>04f@-=^(*HxRr&n3}=DA$8U*!bt2c&+KBMW!H2n3 zfUf!`|E@{gx?3cg>U`mG*inAr0(?FAzVIEuRdr+TK{S0e_q_H7#{4iaiywg=<)}|f ztLXcs^Z=I9tf#dWM%)>kw-%_jGrt1=3~tW<2o;;EQ_fKAc3sbP==}zXE%iZV5raRe pT+_GF0HAW!&&veTeT@Wd>Qdb(ep~%oy$G+XwS}jkp>`LXe*snAkgos$ delta 1349 zcma)5&1(}u6rVTQ-87qzX49l;lD5%OKk$>bD1w$&+k*(Ac#t+Ul(d_sNt?FWE{bKA z2p&A>AuyomK@t$bgNOu0@#0Cuiw6(ZpopF<+P^{HY?^+dXqI{Vo8SArdB2&-J{VX& z?wj{|Rf4}8*}hC+{}bP5l|FayRrO^Nl5C7x)N(MY(-~@*jO0Lv2(ctYO3rD?W>d~( zGs@fmsw7lhw^gonmAa-9j52osRWhn>qe`;Zaj)eacD^0+PRv&sDPjwcCELr1q-YAd zg2-vN6-cp>il~V>hDiyMU6w0DEER{_^y*;xn5b(Gl54;KBONBmcFV&&3}VFcGPUey zGV=;e3^f%1!raJtS<&8Ey*NxnqVR^1vStR#EzDg3`>j?W7pzb$BIOX6*01<-I?Il}z* zq1Umtfr~6)AG)xBe=M}HjLTzl(a6Fp_^X{3hR>F^zW;CA=vv?x{Aao){4!R4;V*M= zsQt&cqtStk_*e+}-T=}df8{?V8#|HYOxwY!cCIC%O{Qii&rhco(`V-|rSs`IlV8+! z^T%3Sz-UEfLK1?SJUKr*Z}4cKvsja|W;&m6i8!vO%v8cr# zHJa+F(Fq)rJ(x@97Yt40><|!W6hjKf;t~dhwn8`b!ZDC&5Sl>6;o0<7MnSO&ky?AG z1QN8PCPn=qJN# zS0a6wdlcD)E548P%QL8WR}DowM2o&yFMO>|#XdkREt-g$nzUFjOk+ySZ;6oQBORS6 uzT7dP%p$Qu_?M1nQQ_4X5kWLH#JY9;EMJI+`RmSp7~)d=1Wfaj@$_%g<~D@@ diff --git a/src/gui/plot_window.py b/src/gui/plot_window.py index a4c4e8e..5580735 100644 --- a/src/gui/plot_window.py +++ b/src/gui/plot_window.py @@ -104,37 +104,78 @@ class PlotWindow: delta = 10 #points_per_ms for key, items in self.timings_dict.items(): - if key == 'closure': - ideal_time = self.idealTime[0] - calc = self.opt.calcPhaseClose - color = qts.RGBA[0] - elif key == 'compression': - ideal_time = self.idealTime[1] - calc = self.opt.calcPhaseGrow - color = qts.RGBA[1] - elif key == 'welding': - ideal_time = self.WeldTime - calc = self._returnWeldData - color = qts.RGBA[2] - elif key == 'opening': - calc = self.opt.calcPhaseOpen - ideal_time = self.idealTime[2] - ideal_closure = self.idealTime[3] - color = qts.RGBA[3] - color_closure = qts.RGBA[4] - for item in items: item_data = [] time_data = [] - for i in range(0, int(ideal_time*self.scaler)*delta): - time = i/delta - item_data.append(calc(time/self.scaler)) - time_data.append(time+item[0]*self.scaler) - #print (item_data[-1], time_data[-1]) - self._plotIdealData(np.array(time_data), np.array(item_data).T) - self._addBackgroundSplitter([item[0]*self.scaler,item[0]*self.scaler + time], color) - - if key == 'opening': + + if key == 'closure': + ideal_time = self.idealTime[0] + calc = self.opt.calcPhaseClose + color = qts.RGBA[0] + for i in range(0, int(ideal_time*self.scaler)*delta): + time = i/delta + item_data.append(calc(time/self.scaler)) + time_data.append(time+item[0]*self.scaler) + #print (item_data[-1], time_data[-1]) + self._plotIdealData(np.array(time_data), np.array(item_data).T) + self._addBackgroundSplitter([item[0]*self.scaler,item[0]*self.scaler + time], color) + + elif key == 'compression': + ideal_time = self.idealTime[1] + calc = self.opt.calcPhaseGrow + color = qts.RGBA[1] + + for i in range(int(ideal_time*self.scaler)*delta, 0, -1): + time = i/delta + item_data.append(calc(time/self.scaler)) + time_data.append(item[1]*self.scaler-(ideal_time*self.scaler-time)) + #print (item_data[-1], time_data[-1]) + self._plotIdealData(np.array(time_data), np.array(item_data).T) + self._addBackgroundSplitter([(item[1]-ideal_time)*self.scaler, item[1]*self.scaler], color) + + temp = item_data[0][4] + x = [time_data[0], time_data[-1], time_data[-1]-0.0001] + y = [temp, temp, temp] + a1, b1, c1 = self._calculate_equidistant(x, y, 2.5, 3) + self.p11.addItem(a1) + self.p11.addItem(b1) + self.p11.addItem(c1) + + elif key == 'welding': + ideal_time = self.WeldTime + calc = self._returnWeldData + color = qts.RGBA[2] + + for i in range(0, int(ideal_time*self.scaler)*delta): + time = i/delta + item_data.append(calc(time/self.scaler)) + time_data.append(time+item[0]*self.scaler) + #print (item_data[-1], time_data[-1]) + self._plotIdealData(np.array(time_data), np.array(item_data).T) + self._addBackgroundSplitter([item[0]*self.scaler,item[0]*self.scaler + time], color) + + x = [time_data[0], time_data[-1], time_data[-1]+0.0001] + y = [item_data[0][4], item_data[0][4], item_data[0][4]] + a1, b1, c1 = self._calculate_equidistant(x, y, 0.75, 3) + self.p11.addItem(a1) + self.p11.addItem(b1) + self.p11.addItem(c1) + + elif key == 'opening': + calc = self.opt.calcPhaseOpen + ideal_time = self.idealTime[2] + ideal_closure = self.idealTime[3] + color = qts.RGBA[3] + color_closure = qts.RGBA[4] + + for i in range(0, int(ideal_time*self.scaler)*delta): + time = i/delta + item_data.append(calc(time/self.scaler)) + time_data.append(time+item[0]*self.scaler) + #print (item_data[-1], time_data[-1]) + self._plotIdealData(np.array(time_data), np.array(item_data).T) + self._addBackgroundSplitter([item[0]*self.scaler,item[0]*self.scaler + time], color) + item_data = [] time_data = [] for i in range(0, int(ideal_closure*self.scaler)*delta): @@ -142,24 +183,7 @@ class PlotWindow: item_data.append(self.opt.calcPhaseMovement(time/self.scaler)) time_data.append(time+item[1]*self.scaler) self._plotIdealData(np.array(time_data), np.array(item_data).T) - self._addBackgroundSplitter([item[1]*self.scaler,item[1]*self.scaler + time], color_closure) - - elif key == 'welding': - x = [time_data[0], time_data[-1], time_data[-1]+0.0001] - y = [item_data[0][4], item_data[0][4], item_data[0][4]] - a1, b1, c1 = self._calculate_equidistant(x, y, 0.75, 3) - self.p11.addItem(a1) - self.p11.addItem(b1) - self.p11.addItem(c1) - - elif key == 'compression': - temp = item_data[-1][4] - x = [time_data[0], time_data[-1], time_data[-1]+0.0001] - y = [temp, temp, temp] - a1, b1, c1 = self._calculate_equidistant(x, y, 2.5, 3) - self.p11.addItem(a1) - self.p11.addItem(b1) - self.p11.addItem(c1) + self._addBackgroundSplitter([item[1]*self.scaler,item[1]*self.scaler + time], color_closure) def _returnWeldData(self, _): return self.WeldData diff --git a/src/uml/__pycache__/creator.cpython-310.pyc b/src/uml/__pycache__/creator.cpython-310.pyc index beffd91c87d68a11473bd4db676ee9daeabfc010..bf3b2efb3a9bcddd3ada70157a6431faffcfacc6 100644 GIT binary patch delta 230 zcmew?aafWspO=@50SH=)jMEmF!o2jU#hG_w74OBO9X-lL(^-qX452 zBL|ZTqXd|gV^m?1VdP+xVN_ydYGC@p^ovDwa~zv0Go#(+7S8>Qj8T(axOXs`PX5bX F1^|dQGRyz~ delta 130 zcmX>s`B{Q5pO=@50SHP{jML8uZsgm+C^wIZfgzotmJx`VY8bK@isu4J#sy3Z8C)1* z`zJqP3}sB7Y{g{H$TZoGNpkXCCLP9Eo4J^am>B~m*Rn|psW8bfaxls;DlsxOF#TZq g#Ui+Q9h)jMqt)gsockFW!zNGR-oa=%*_Wpb0I1<2U;qFB diff --git a/src/uml/creator.py b/src/uml/creator.py index fba64f7..1fc9cde 100644 --- a/src/uml/creator.py +++ b/src/uml/creator.py @@ -21,11 +21,15 @@ class UMLCreator: real_data.append([item[0]*self.scaler+0.0001, str(key) + '#green']) real_data.append([item[1]*self.scaler, '{-}']) - ideal_data.append([item[0]*self.scaler+0.0001, str(key) + '#yellow']) - ideal_data.append([(item[0]+ideal_time)*self.scaler, '{-}']) - if key == 'opening': - ideal_data.append([item[1]*self.scaler+0.0001, 'coming #yellow']) - ideal_data.append([(item[1]+self._ideal_time[3])*self.scaler, '{-}']) + if key == 'compression': + ideal_data.append([(item[1]-ideal_time)*self.scaler, str(key) + '#yellow']) + ideal_data.append([(item[1]-0.0001)*self.scaler, '{-}']) + else: + ideal_data.append([item[0]*self.scaler+0.0001, str(key) + '#yellow']) + ideal_data.append([(item[0]+ideal_time)*self.scaler, '{-}']) + if key == 'opening': + ideal_data.append([item[1]*self.scaler+0.0001, 'coming #yellow']) + ideal_data.append([(item[1]+self._ideal_time[3])*self.scaler, '{-}']) else: real_data = []