From 75a472f45b93c97d13f4a9d142b04b1dfebe230e Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Tue, 12 Apr 2022 19:34:16 +0200 Subject: [PATCH] - Aggiunta gestione colori dei solidi --- 3dPrinting.ini | 5 +- Images/MachiningParamCalc.png | Bin 497 -> 1077 bytes Images/MaterialParamEdit.png | Bin 1158 -> 809 bytes Images/SlicePalette.png | Bin 0 -> 391 bytes LuaLibs/AddManData.lua | 13 +++++ LuaLibs/RunMachiningParamCalc.lua | 13 ++++- LuaLibs/RunSlicePalette.lua | 89 ++++++++++++++++++++++++++++++ SlicePalette.lua | 18 ++++++ 8 files changed, 134 insertions(+), 4 deletions(-) create mode 100644 Images/SlicePalette.png create mode 100644 LuaLibs/RunSlicePalette.lua create mode 100644 SlicePalette.lua diff --git a/3dPrinting.ini b/3dPrinting.ini index b84435a..25e9d21 100644 --- a/3dPrinting.ini +++ b/3dPrinting.ini @@ -8,8 +8,9 @@ Button4=GcodeGenerate.lua,Images\GcodeGenerate.png,Genera codice CN Button5=ShowManager.lua,Images\ShowManager.png,Gestore visualizzazione Button6=ViewManager.lua,Images\ViewManager.png,Nascondi Visualizza strato Button7=SliceAdvancement.lua,Images\SliceAdvancement.png,Mostra avanzamento strato -Button8=MachiningParamEdit.lua,Images\MachiningParamEdit.png,Edita i parametri di stampa -Button9=MaterialParamEdit.lua,Images\MaterialParamEdit.png,Edita i parametri del materiale +Button8=SlicePalette.lua,Images\SlicePalette.png,Gestore colori strato +Button9=MachiningParamEdit.lua,Images\MachiningParamEdit.png,Edita i parametri di stampa +Button10=MaterialParamEdit.lua,Images\MaterialParamEdit.png,Edita i parametri del materiale ParamFile=C:\EgtData\3dPrinting\Machinings\Params.ini ResultReadProg="C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE" MachiningEditProg="C:\Windows\System32\notepad.exe" \ No newline at end of file diff --git a/Images/MachiningParamCalc.png b/Images/MachiningParamCalc.png index d94842b1db55892a459228960f9dc624afeb1ef4..ffe23a784828d6f224ca64eda4fade7a3aef26e9 100644 GIT binary patch delta 977 zcmV;?11|jW1GNZ{JPN@801m+cxRGn^kw!Xy1D{DmK~z{r&6sUyjbRwaA4XWLe4tjc z$fih{nwghG`5;QPFMKiYGp#g=CNITDS=c6}Hbq$}sU;K&rOC?&$!jDZeA(n>HfbFH z|I>AyuIE12Sj~D|^?S~9|DNk?f9IS%*SSTROy;!7Te!fAZYP~GO*MbK#0y}*Y00k|L=v@gV!7Su?`jWOpr*A;sW zmB+PW`$AlqHm*z?SEh|C6;w0G&MR^2#HsHTzgwL8cJcSc9RoW+q5k~-aHWEO;$b7; z+*>VfAGirP!^k}Gt$?==^(Er(f)7axWi26!@mN?nL66%<2_4cuVgzEbec_Jp`nLH*NEs6xOG`>wFh z;z|Ye6L_H*wi{5~6VFiW{|YG1i)X0MfX{gb>g><+aHWEBXB54~^I^YT{|#5BjVse8 zS47boz&rCPuvDCm7LJd@V7&O5z>XFjMcnmR|4Dp}alDv~({dMq2{BppZjEN<^z4DssTq!we&C) zUvV8dI-(Mx#JvQi31=67vB2#g>;+sL5yw#6vfl!{-)s@Dp*ULj)kSZT4D|}=C@L54 zg?b3$w>|6Z!h+&v^1GZf)LBpz^bGdx<2|hlOic787EyG=O%Yr2yX^{-yD;N<2d~*lAaSVxYKRfNAV6y^`+sy998SR-7ZHbp! zB1}IxW}i3v`|;hEMnxwFX2HL*0aeUP&A~+26`zTrGX#oNwNCB`;aXZYcSXSjTe09t zKRiB3*zfqddCQFD=`6*`6BW)ktlpNqVM%1>{J*T{|E7J^3D63k^yu{&V+rHTa;|z) z_j#>0-+pHXeT`MWUTecW<&+kOoKKqi2`R6;TerUXeX~kxTFv1*5$n{KmQK+qYk diff --git a/Images/MaterialParamEdit.png b/Images/MaterialParamEdit.png index f65d28caa8e65a055e7ec1a89d370b00c1e4f5be..eef597753c7833aeac10d4a4992902adc67cca97 100644 GIT binary patch delta 764 zcmV;l$uB;DN+(;L8JT|%7TTGtUTXy-uc~kf85_`e!sjsUAI2J zch2XY`+KL}d%w=3Mx*iH;mX{&GB>S&Xx;>L*+X@~+UWTzS^?1~z=6kzJyZv*O?q~j zw?7fBfT+{(72E=IlqvR5U9gsWz6xIweE~Njw--zY>%eKSS$zlC2M&TIroImx0Mj%- z1FnE>&=2;5#YMfPe) zG&o*h-$!a=A(H4FxEeXWTr&Bvy7ijR(tL~NUQ@q7kLEMMcd(mt%U?;5L~p?5$nmAu zI$@poScoKg3hFe4 zuv9Z?P06#RU9dVlUxh1kWwjVp80y!eA%!9NXn?a;g=9`M?wd6|R(uN}%F z!GNcGtH1!@e<%4?Kn)RZ`IgM5ordz?SKQGHjeJ7=)?-0000d2F}Pu>wXi$BmWzYzi*;KQC*y;75AJ0{moxBTyc2h^q06cGDBhH6tH4hElZ%7c zsXubDCnur{!_S%B^7eRkw|q37hhO7nI2qr-z3~Qo42Mw;wVhgt4sT$m-o#Dt3L7ex z;xu$RZngmy;T?Dceu?*^yo2830(={Pqch*(9{5wLK~tyVCbAVe0(R? zJv0{+%hBI9(zd32qCYDyL2)Gh#-mbg2wwp2c~GilT;Rv&V!{#HDHlf)of?aOj)H5; z>1bQ%KIQMYXQ~b1n)(KJOtm2{#M^VRa}2J?#b)Y}+8q0N`{tt4Q)(z!ShcAmD!vTQ zqN9794QrYW8kAn`fnlRwm!qs(7`bC1%DuQC7Zcl|QMnD{+mm>4s*S|-VlI3Lr`u3d zrj%dskX%fd$7Wz$V-EW(7kl!51e$V8!c*~5Eb)yt0~qt><1=^`4#OJ+#;0R(9-8UZ zXlrLb$7}IrG$x&n2ULEA*P-8e{U_+#npF#OHAW?$+S8Xi_yE8Skz}<57vz?~XwX5!+yyI~(~PC*l$`nj1@h9BP03GX|0S zN=+$tC{l>&HxE9;+2|%t%y)GTwBx3kvg3}n4_7lDm*JJE z)(2+t5Adl}%lM|ehmCJag%9JlMO#{=S?f7BDoyT#KTjqq8=$RrT7$Er`m9T{LY+aj`YweK8(@c z!=*W}DOpQ&NT#3%i&nh35mr3Ky5(@BqRo*yCl?bQJnguVI}VysCu%LZ4c(FSq-mtY zV~<-Aw;v@xc0a{^mdAOqEN%pUt1OfB1Gq7sl4?DuJLNen@X#11;J`hV?2LBWjh#eZ zbXQ=xH1eMd-D$r?D%JYL>5C^0T*T${`7a!IpKjt@U*hz+^<5PnbRz+W-{Km>|1p)s g6t>Z4BJOnl1%h7Y-Vbk{hX4Qo07*qoM6N<$f?4+>J^%m! diff --git a/Images/SlicePalette.png b/Images/SlicePalette.png new file mode 100644 index 0000000000000000000000000000000000000000..0918ad55ca42bb80746338679614dee57f0f7a0e GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^svyk41|*NpQ(y*CEa{HEjtmSN`?>!lvI6;>1s;*b z3=DjSL74G){)!Z!pk#?_L`iUdT1k0gQ7S`0VrE{6US4X6f{C7io{`~4h0Li842&$E zE{-7)?r$$`opIu*7mwZ6rx)!$eP!A4VvX3E_&sMP*%@rhEthQ9;=NUJ{ks4Ebrl&aq7=Re zuTtYkU7Xb%Aa;sbncUU3Ym0-8k zQP5+KeV0Os=ao;}%#QZGRuf4&UMkGB@$oLs)*FR$S(iF`@Kik57%?+R|H9G$o|YpI zI)AY_C4F$>ZJZ!s6QC&|gTe~DWM4f7Z#F= literal 0 HcmV?d00001 diff --git a/LuaLibs/AddManData.lua b/LuaLibs/AddManData.lua index 8c57b40..320ca23 100644 --- a/LuaLibs/AddManData.lua +++ b/LuaLibs/AddManData.lua @@ -90,5 +90,18 @@ VIEWPARAMS = 'ViewParams' IMPORTED_SOLID = 'ImportedSolid' RESULT_READ_PROG = 'ResultReadProg' +KEY_RESULT = 'Result' +KEY_PALETTE = 'Palette' + +RESULT = { + OK = 0, + KO_MINUS = 1, + KO_PLUS = 2, +} + +PALETTE_TYPE = { + IN_OUT = 0, + RESULTS = 1, +} --------------------------------------------------------------------- return AddManData diff --git a/LuaLibs/RunMachiningParamCalc.lua b/LuaLibs/RunMachiningParamCalc.lua index eb0cdee..3958e6e 100644 --- a/LuaLibs/RunMachiningParamCalc.lua +++ b/LuaLibs/RunMachiningParamCalc.lua @@ -127,13 +127,16 @@ function RunMachiningParamCalc.Exec() EgtSetInfo( nToolPathId, KEY_SPEED, dSpeed) nCrvId = EgtGetNext( nCrvId) end - -- riporto valori calcolati in tabella per csv + -- salvo e riporto valori calcolati in tabella per csv local sStatus = '' if dEsteemedTime < dMinTime then + EgtSetInfo( nLayerId, KEY_RESULT, RESULT.KO_MINUS) sStatus = 'KO(-)' elseif dEsteemedTime > dMinTime and dEsteemedTime < dMaxTime then + EgtSetInfo( nLayerId, KEY_RESULT, RESULT.OK) sStatus = 'OK' elseif dEsteemedTime > dMaxTime then + EgtSetInfo( nLayerId, KEY_RESULT, RESULT.KO_PLUS) sStatus = 'KO(+)' end --table.insert( CSVOutTable, { Index = nLayerIndex, EsteemedTime = dEsteemedTime, Feed = dLayerFeed, Speed = dSpeed}) @@ -144,7 +147,13 @@ function RunMachiningParamCalc.Exec() nPartIndex = nPartIndex + 1 nPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex) end - + + -- aggiorno palette + local nPaletteType = EgtGetInfo( nParamsGrp, KEY_PALETTE, 'i') + if nPaletteType == PALETTE_TYPE.RESULTS then + local RSP = require( 'RunSlicePalette') + RSP.UpdateColors( nPaletteType) + end -- scrivo nuovo file csv di risultato local file = io.open( sResultFile, "w") if file then diff --git a/LuaLibs/RunSlicePalette.lua b/LuaLibs/RunSlicePalette.lua new file mode 100644 index 0000000..35fbd73 --- /dev/null +++ b/LuaLibs/RunSlicePalette.lua @@ -0,0 +1,89 @@ +-- RunSlicePalette.lua by Egaltech s.r.l. 2022/04/05 +-- Gestione visualizzazione per Stampa 3d + +-- Tabella per definizione modulo +local RunSlicePalette = {} + +-- Intestazioni +require( 'EgtBase') + +EgtOutLog( ' RunSlicePalette started', 1) + +-- Costanti generali +local AMD = require( 'AddManData') + +function RunSlicePalette.UpdateColors( nPaletteType) + -- ciclo sui pezzi + local nPartIndex = 1 + local nPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex) + while nPartId do + -- ciclo sui layer per dis/attivare il resto + local nLayerIndex = 1 + local nLayerId = EgtGetFirstNameInGroup( nPartId, SLICE_LAYER .. nLayerIndex) + while nLayerId do + local nCrvId = EgtGetFirstGroupInGroup( nLayerId) + while nCrvId do + local nSolidId = EgtGetFirstNameInGroup( nCrvId, SOLID_GRP) + local nSurfId = EgtGetFirstInGroup( nSolidId) + local nOldType = 0 + while nSurfId do + local Color = EgtStdColor( 'GRAY') + if nPaletteType == PALETTE_TYPE.IN_OUT then + local nType = EgtGetInfo( nSurfId, KEY_TYPE, 'i') + if not nType or ( nType ~= 0 and nType ~= 1) then nType = nOldType end + nOldType = nType + -- scelta del colore + if nType == TYPE.OUTER_SHELL then + Color = EgtStdColor( 'ORANGE') + elseif nType == TYPE.INNER_SHELL or nType == TYPE.LINK then + Color = EgtStdColor( 'TEAL') + elseif nType == TYPE.INFILL then + Color = EgtStdColor( 'YELLOW') + end + else + local nResult = EgtGetInfo( nLayerId, KEY_RESULT, 'i') + if nResult == RESULT.OK then + Color = EgtStdColor( 'GREEN') + elseif nResult == RESULT.KO_MINUS then + Color = EgtStdColor( 'ORANGE') + elseif nResult == RESULT.KO_PLUS then + Color = EgtStdColor( 'RED') + end + end + EgtSetColor( nSurfId, Color) + nSurfId = EgtGetNext( nSurfId) + end + nCrvId = EgtGetNext( nCrvId) + end + nLayerIndex = nLayerIndex + 1 + nLayerId = EgtGetFirstNameInGroup( nPartId, SLICE_LAYER .. nLayerIndex) + end + nPartIndex = nPartIndex + 1 + nPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex) + end + + EgtDraw() + +end + +function RunSlicePalette.Exec() + + local nParamsGrp = EgtGetFirstNameInGroup( GDB_ID.ROOT, PARAMS_GRP) or GDB_ID.NULL + local nOldPaletteType = EgtGetInfo( nParamsGrp, KEY_PALETTE, 'i') + local sCombo = EgtIf( not nOldPaletteType or nOldPaletteType == 0, 'CB:*In/Out,Results', 'CB:In/Out,*Results') + ViewValues = EgtDialogBox( 'Slice Palette', { 'Type', sCombo}) + if not ViewValues or #ViewValues < 1 then return end + + local nPaletteType = PALETTE_TYPE.IN_OUT -- 1 = In/Out, 2 = Results + if ViewValues[1] == 'In/Out' then + nPaletteType = PALETTE_TYPE.IN_OUT + elseif ViewValues[1] == 'Results' then + nPaletteType = PALETTE_TYPE.RESULTS + end + EgtSetInfo( nParamsGrp, KEY_PALETTE, nPaletteType) + + RunSlicePalette.UpdateColors( nPaletteType) +end + +--------------------------------------------------------------------- +return RunSlicePalette diff --git a/SlicePalette.lua b/SlicePalette.lua new file mode 100644 index 0000000..e47e78f --- /dev/null +++ b/SlicePalette.lua @@ -0,0 +1,18 @@ +-- SlicePalette.lua by Egaltech s.r.l. 2022/04/05 +-- Gestione visualizzazione per Stampa 3d + +-- Intestazioni +require( 'EgtBase') +_ENV = EgtProtectGlobal() +EgtEnableDebug( false) + +-- Imposto direttorio libreria specializzata per Stampa 3d +local sBaseDir = EgtGetSourceDir() +EgtAddToPackagePath( sBaseDir .. 'LuaLibs\\?.lua') + +-- Librerie +_G.package.loaded.RunSlicePalette = nil +local RSP = require( 'RunSlicePalette') + +-- Calcolo +RSP.Exec()