diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e4e7f88..7e3ace3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -50,7 +50,6 @@ variables: net use R: /delete net use R: $env:NET_SHARE_R /u:$env:NET_USERQ $ZDRIVE_PASSWD ROBOCOPY /MIR bin R:\EgtData\$env:APP_NAME\bin - ROBOCOPY /MIR Images R:\EgtData\$env:APP_NAME\bin\Images SLEEP 2 net use R: /delete @@ -60,7 +59,6 @@ variables: net use Z: /delete net use Z: $env:NET_SHARE_Z /u:$env:NET_USERQ $ZDRIVE_PASSWD ROBOCOPY /MIR bin Z:\EgtData\$env:APP_NAME\bin - ROBOCOPY /MIR Images Z:\EgtData\$env:APP_NAME\bin\Images SLEEP 2 net use Z: /delete diff --git a/3dPrinting.ini b/3dPrinting.ini deleted file mode 100644 index 25e9d21..0000000 --- a/3dPrinting.ini +++ /dev/null @@ -1,16 +0,0 @@ -[3dPrinting] -Enable=1 -BaseDir=C:\EgtData\3dPrinting -Button1=PartPositioning.lua,Images\PartPositioning.png,Disponi pezzo sulla tavola macchina -Button2=Slicing.lua,Images\Slicing.png,Calcola lo slicing, i solidi e i percorsi utensile -Button3=MachiningParamCalc.lua,Images\MachiningParamCalc.png,Calcola parametri di lavorazione (Tempo layer, F, S) -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=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/CalcMachParamFromSW.lua b/CalcMachParamFromSW.lua index 400bca9..5d13947 100644 --- a/CalcMachParamFromSW.lua +++ b/CalcMachParamFromSW.lua @@ -1,4 +1,4 @@ --- CalcMachParamFromSW.lua by Egaltech s.r.l. 2022/09/15 +-- CalcMachParamFromSW.lua by Egaltech s.r.l. 2023/01/11 -- Calcolo dei parametri di stampa -- Intestazioni @@ -7,8 +7,7 @@ _ENV = EgtProtectGlobal() EgtEnableDebug( false) -- Imposto direttorio libreria specializzata per Stampa 3d -local sBaseDir = EgtGetSourceDir() -EgtAddToPackagePath( sBaseDir .. 'LuaLibs\\?.lua') +EgtAddToPackagePath( PRINT.BASEDIR .. '\\LuaLibs\\?.lua') -- Librerie _G.package.loaded.RunMachParamFromSWCalc = nil diff --git a/CalcSolids.lua b/CalcSolids.lua index c0adffa..5f3fe91 100644 --- a/CalcSolids.lua +++ b/CalcSolids.lua @@ -1,4 +1,4 @@ --- CalcSolids.lua by Egaltech s.r.l. 2022/09/26 +-- CalcSolids.lua by Egaltech s.r.l. 2023/01/11 -- Calcola i solidi a partire dallo slicing -- Intestazioni @@ -7,8 +7,7 @@ _ENV = EgtProtectGlobal() EgtEnableDebug( false) -- Imposto direttorio libreria specializzata per Stampa 3d -local sBaseDir = EgtGetSourceDir() -EgtAddToPackagePath( sBaseDir .. 'LuaLibs\\?.lua') +EgtAddToPackagePath( PRINT.BASEDIR .. '\\LuaLibs\\?.lua') -- Librerie _G.package.loaded.RunCalcSolids = nil diff --git a/Compile.bat b/Compile.bat index d8ae439..62cf277 100644 --- a/Compile.bat +++ b/Compile.bat @@ -8,28 +8,11 @@ REM Compilazione 32 e 64 bit \EgtProg\Dll32\luac54 -o bin\LuaLibs\CalcPaths.lua LuaLibs\CalcPaths.lua \EgtProg\Dll32\luac54 -o bin\LuaLibs\CalcSlices.lua LuaLibs\CalcSlices.lua \EgtProg\Dll32\luac54 -o bin\LuaLibs\CalcToolPath.lua LuaLibs\CalcToolPath.lua -\EgtProg\Dll32\luac54 -o bin\LuaLibs\CSVManager.lua LuaLibs\CSVManager.lua \EgtProg\Dll32\luac54 -o bin\LuaLibs\RunCalcSolids.lua LuaLibs\RunCalcSolids.lua \EgtProg\Dll32\luac54 -o bin\LuaLibs\RunGcodeGenerate.lua LuaLibs\RunGcodeGenerate.lua -\EgtProg\Dll32\luac54 -o bin\LuaLibs\RunMachiningParamCalc.lua LuaLibs\RunMachiningParamCalc.lua -\EgtProg\Dll32\luac54 -o bin\LuaLibs\RunMachiningParamEdit.lua LuaLibs\RunMachiningParamEdit.lua \EgtProg\Dll32\luac54 -o bin\LuaLibs\RunMachParamFromSWCalc.lua LuaLibs\RunMachParamFromSWCalc.lua -\EgtProg\Dll32\luac54 -o bin\LuaLibs\RunMaterialParamEdit.lua LuaLibs\RunMaterialParamEdit.lua -\EgtProg\Dll32\luac54 -o bin\LuaLibs\RunPartPositioning.lua LuaLibs\RunPartPositioning.lua -\EgtProg\Dll32\luac54 -o bin\LuaLibs\RunShowManager.lua LuaLibs\RunShowManager.lua -\EgtProg\Dll32\luac54 -o bin\LuaLibs\RunSliceAdvancement.lua LuaLibs\RunSliceAdvancement.lua -\EgtProg\Dll32\luac54 -o bin\LuaLibs\RunSlicePalette.lua LuaLibs\RunSlicePalette.lua \EgtProg\Dll32\luac54 -o bin\LuaLibs\RunSlicing.lua LuaLibs\RunSlicing.lua -\EgtProg\Dll32\luac54 -o bin\LuaLibs\RunViewManager.lua LuaLibs\RunViewManager.lua \EgtProg\Dll32\luac54 -o bin\CalcMachParamFromSW.lua CalcMachParamFromSW.lua \EgtProg\Dll32\luac54 -o bin\CalcSolids.lua CalcSolids.lua \EgtProg\Dll32\luac54 -o bin\GcodeGenerate.lua GcodeGenerate.lua -\EgtProg\Dll32\luac54 -o bin\MachiningParamCalc.lua MachiningParamCalc.lua -\EgtProg\Dll32\luac54 -o bin\MachiningParamEdit.lua MachiningParamEdit.lua -\EgtProg\Dll32\luac54 -o bin\MaterialParamEdit.lua MaterialParamEdit.lua -\EgtProg\Dll32\luac54 -o bin\PartPositioning.lua PartPositioning.lua -\EgtProg\Dll32\luac54 -o bin\ShowManager.lua ShowManager.lua -\EgtProg\Dll32\luac54 -o bin\SliceAdvancement.lua SliceAdvancement.lua -\EgtProg\Dll32\luac54 -o bin\SlicePalette.lua SlicePalette.lua \EgtProg\Dll32\luac54 -o bin\Slicing.lua Slicing.lua -\EgtProg\Dll32\luac54 -o bin\ViewManager.lua ViewManager.lua diff --git a/GcodeGenerate.lua b/GcodeGenerate.lua index 1047d2b..703149d 100644 --- a/GcodeGenerate.lua +++ b/GcodeGenerate.lua @@ -1,4 +1,4 @@ --- GcodeGenerate.lua by Egaltech s.r.l. 2022/04/11 +-- GcodeGenerate.lua by Egaltech s.r.l. 2023/01/11 -- Calcoli prima fase per Stampa 3d -- Intestazioni @@ -7,8 +7,7 @@ _ENV = EgtProtectGlobal() EgtEnableDebug( false) -- Imposto direttorio libreria specializzata per Stampa 3d -local sBaseDir = EgtGetSourceDir() -EgtAddToPackagePath( sBaseDir .. 'LuaLibs\\?.lua') +EgtAddToPackagePath( PRINT.BASEDIR .. '\\LuaLibs\\?.lua') -- Librerie _G.package.loaded.RunGcodeGenerate = nil diff --git a/Images/GcodeGenerate.png b/Images/GcodeGenerate.png deleted file mode 100644 index 67d9056..0000000 Binary files a/Images/GcodeGenerate.png and /dev/null differ diff --git a/Images/MachiningParamCalc.png b/Images/MachiningParamCalc.png deleted file mode 100644 index ffe23a7..0000000 Binary files a/Images/MachiningParamCalc.png and /dev/null differ diff --git a/Images/MachiningParamEdit.png b/Images/MachiningParamEdit.png deleted file mode 100644 index f65d28c..0000000 Binary files a/Images/MachiningParamEdit.png and /dev/null differ diff --git a/Images/MaterialParamEdit.png b/Images/MaterialParamEdit.png deleted file mode 100644 index eef5977..0000000 Binary files a/Images/MaterialParamEdit.png and /dev/null differ diff --git a/Images/PartPositioning.png b/Images/PartPositioning.png deleted file mode 100644 index 860306a..0000000 Binary files a/Images/PartPositioning.png and /dev/null differ diff --git a/Images/ShowManager.png b/Images/ShowManager.png deleted file mode 100644 index ad9d17b..0000000 Binary files a/Images/ShowManager.png and /dev/null differ diff --git a/Images/SliceAdvancement.png b/Images/SliceAdvancement.png deleted file mode 100644 index 4ced7f5..0000000 Binary files a/Images/SliceAdvancement.png and /dev/null differ diff --git a/Images/SlicePalette.png b/Images/SlicePalette.png deleted file mode 100644 index 0918ad5..0000000 Binary files a/Images/SlicePalette.png and /dev/null differ diff --git a/Images/Slicing.png b/Images/Slicing.png deleted file mode 100644 index 58e76e2..0000000 Binary files a/Images/Slicing.png and /dev/null differ diff --git a/Images/ViewManager.png b/Images/ViewManager.png deleted file mode 100644 index 7457827..0000000 Binary files a/Images/ViewManager.png and /dev/null differ diff --git a/LuaLibs/CSVManager.lua b/LuaLibs/CSVManager.lua deleted file mode 100644 index 3dc77ac..0000000 --- a/LuaLibs/CSVManager.lua +++ /dev/null @@ -1,75 +0,0 @@ --- CalcPaths.lua by Egaltech s.r.l. 2022/03/30 --- Calcolo percorsi di lavoro per Stampa 3d - --- Tabella per definizione modulo -local CSVManager = {} - --- Intestazioni -require( 'EgtBase') - -EgtOutLog( ' CSVManager started', 1) - --- Dati -local AMD = require( 'AddManData') - ---------------------------------------------------------------------- -function toCSV (t) - local s = "" - for _,p in pairs(t) do - s = s .. "," .. escapeCSV(p) - end - return string.sub(s, 2) -- remove first comma -end - ---------------------------------------------------------------------- -function escapeCSV (s) - if string.find(s, '[,"]') then - ns = '"' .. string.gsub(s, '"', '""') .. '"' - end - return s -end - ---------------------------------------------------------------------- -local function fromCSV(s) - s = s .. ';' -- ending comma - local t = {} -- table to collect fields - local fieldstart = 1 - repeat - -- next field is quoted? (start with `"'?) - if string.find(s, '^"', fieldstart) then - local a, c - local i = fieldstart - repeat - -- find closing quote - a, i, c = string.find(s, '"("?)', i+1) - until c ~= '"' -- quote not followed by quote? - if not i then error('unmatched "') end - local f = string.sub(s, fieldstart+1, i-1) - table.insert(t, (string.gsub(f, '""', '"'))) - fieldstart = string.find(s, ';', i) + 1 - else -- unquoted; find next comma - local nexti = string.find(s, ';', fieldstart) - table.insert(t, string.sub(s, fieldstart, nexti-1)) - fieldstart = nexti + 1 - end - until fieldstart > string.len(s) - return t -end - ---------------------------------------------------------------------- -function read_file( path) - local file = io.open( path, "r") -- r read mode and b binary mode - if not file then return nil end - local CSVTable = {} - - for line in io.lines( path) do - CSVTable[#CSVTable + 1] = fromCSV( line) - end - - file:close() - - return CSVTable -end - ---------------------------------------------------------------------- -return CSVManager diff --git a/LuaLibs/RunMachiningParamCalc.lua b/LuaLibs/RunMachiningParamCalc.lua deleted file mode 100644 index f73bf5e..0000000 --- a/LuaLibs/RunMachiningParamCalc.lua +++ /dev/null @@ -1,198 +0,0 @@ --- RunMachiningParamCalc.lua by Egaltech s.r.l. 2022/04/13 --- Gestione visualizzazione per Stampa 3d - --- Tabella per definizione modulo -local RunMachiningParamCalc = {} - --- Intestazioni -require( 'EgtBase') - -EgtOutLog( ' RunMachiningParamCalc started', 1) - --- Costanti generali -local AMD = require( 'AddManData') -local CSV = require( 'CSVManager') - ---------------------------------------------------------------------- -function RunMachiningParamCalc.Exec() - - -- Dati recuperati dalla macchina - local sMachIni = EgtGetCurrMachineDir() .. '\\' .. EgtGetCurrMachineName() .. '.ini' - local dCoeffX = tonumber( EgtGetStringFromIni( SEC_3DPRINTING, KEY_COEFF_X, 0, sMachIni)) - local dCoeffY = tonumber( EgtGetStringFromIni( SEC_3DPRINTING, KEY_COEFF_Y, 0, sMachIni)) - - -- File dei risultati - local sCalcBaseDir = EgtGetStringFromIni( '3dPrinting', 'BaseDir', 'C:\\ProgramData\\Egaltech\\EgtCam5\\3dPrinting', EgtGetIniFile()) - local sCurrProjectPath = EgtGetCurrFilePath() - local sResultFile = EgtChangePathExtension( sCurrProjectPath, '.csv') - local bResultFile = EgtExistsFile( sResultFile) - - -- carico eventuale file dei risultati - local CSVOldResult - if bResultFile then - CSVOldResult = read_file( sResultFile) - end - - -- tabella del csv del risultato - local CSVNewResult = {} - - -- ciclo sui pezzi - local nPartId = EgtGetFirstPart() - while nPartId do - if not EgtGetInfo( nPartId, KEY_PART_ON_TABLE, 'b') then - nPartId = EgtGetNextPart( nPartId) - goto continue - end - -- recupero i parametri di lavorazione del pezzo - local dMachiningFeed = EgtGetInfo( nPartId, KEY_FEED, 'd') - local dSliceStep = EgtGetInfo( nPartId, KEY_SLICE_STEP, 'd') - local dStrand = EgtGetInfo( nPartId, KEY_STRAND, 'd') - local sMaterial = EgtGetInfo( nPartId, KEY_MATERIAL) - -- verifico la definizione dei parametri - if not dMachiningFeed then - EgtOutBox( 'Impossible calculating before applying a machining.', 'Error', 'ERROR') - return - end - -- calcolo intervallo tempi consentito - local sMaterialPath = sCalcBaseDir .. '\\Materials\\' .. sMaterial .. '.csv' - local MaterialCSV = read_file( sMaterialPath) - local dMinTime = 0 - local dMaxTime = 0 - if not MaterialCSV then - EgtOutBox( 'Material csv file not found.', 'Error', 'ERROR') - return - end - local bSectionFound = false - for nSectionIndex = 1, #MaterialCSV do - local Section = MaterialCSV[nSectionIndex] - if tonumber( Section[1]) == dStrand and tonumber( Section[2]) == dSliceStep then - dMinTime = tonumber(Section[3]) - dMaxTime = tonumber(Section[4]) - bSectionFound = true - break - end - end - if not bSectionFound then - EgtOutBox( 'Section not found in Material csv file.', 'Error', 'ERROR') - return - end - -- ciclo sui layer - local nLayerIndex = 1 - local nLayerId = EgtGetFirstNameInGroup( nPartId, SLICE_LAYER .. nLayerIndex) - while nLayerId do - local sLayerName = EgtGetName( nLayerId) - local nLayerIndex = tonumber( sLayerName:sub( #SLICE_LAYER + 1)) - -- rimuovo eventuale info precedente del tempo di attesa - EgtRemoveInfo( nLayerId, KEY_WAITING_TIME) - -- calcolo lunghezza totale del layer - local dTotLayerLength = 0 - local nCrvId = EgtGetFirstGroupInGroup( nLayerId) - while nCrvId do - local nToolPathId = EgtGetFirstNameInGroup( nCrvId, TOOLPATH_GRP) - -- sommo lunghezze percorsi - local dTotCrvLength = 0 - nShellId = EgtGetFirstInGroup( nToolPathId) - while nShellId do - --local nType = EgtGetInfo( nShellId, KEY_TYPE, 'i') - dTotCrvLength = dTotCrvLength + EgtCurveLength( nShellId) - nShellId = EgtGetNext( nShellId) - end - dTotLayerLength = dTotLayerLength + dTotCrvLength - nCrvId = EgtGetNext( nCrvId) - end - -- recupero feed del layer - local dLayerFeed = 0 - if bResultFile then - -- leggo il valore dal file - local bResultFound = false - for nResultIndex = 1, #CSVOldResult do - local OldResult = CSVOldResult[nResultIndex] - if tonumber( OldResult[1]) == nLayerIndex then - dLayerFeed = tonumber( OldResult[5]) - bResultFound = true - break - end - end - if not bResultFound then - -- uso valore di default - dLayerFeed = dMachiningFeed - end - else - -- uso valore di default - dLayerFeed = dMachiningFeed - end - -- calcolo tempo stimato del layer - local dEsteemedTime = dTotLayerLength / dLayerFeed * 60 - -- calcolo speed - local dSpeed = ((( dLayerFeed * dSliceStep * dStrand ) / 60) - dCoeffX) / dCoeffY - -- scrivo info feed e speed in group toolpath - nCrvId = EgtGetFirstNameInGroup( nLayerId, CONTOUR_GRP .. '*') - while nCrvId do - local nToolPathId = EgtGetFirstNameInGroup( nCrvId, TOOLPATH_GRP) - EgtSetInfo( nToolPathId, KEY_FEED, dLayerFeed) - EgtSetInfo( nToolPathId, KEY_SPEED, dSpeed) - nCrvId = EgtGetNextName( nCrvId, CONTOUR_GRP .. '*') - end - -- salvo e riporto valori calcolati in tabella per csv - local sStatus = '' - if dEsteemedTime < dMinTime then - EgtSetInfo( nLayerId, KEY_RESULT, RESULT.KO_MINUS) - EgtSetInfo( nLayerId, KEY_WAITING_TIME, dMinTime - dEsteemedTime) - 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}) - table.insert( CSVNewResult, { nLayerIndex, dTotLayerLength, dEsteemedTime, sStatus, dLayerFeed, dSpeed}) - nLayerIndex = nLayerIndex + 1 - nLayerId = EgtGetFirstNameInGroup( nPartId, SLICE_LAYER .. nLayerIndex) - end - nPartId = EgtGetNextPart( nPartId) - ::continue:: - end - - -- aggiorno palette - local nViewId = EgtGetFirstNameInGroup( GDB_ID.ROOT, VIEWPARAMS) - local nPaletteType = EgtGetInfo( nViewId, 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 - file:write('LayerIndex; Len; Time; Status; Feed; Speed') - file:write('\n') - for NewResultIndex = 1, #CSVNewResult do - local CSVOutLine = CSVNewResult[NewResultIndex] - local sParams = '' - for ParamIndex = 1, #CSVOutLine do - if ParamIndex > 1 then - sParams = sParams .. ";" - end - if ParamIndex == 4 then - sParams = sParams .. CSVOutLine[ParamIndex] - else - sParams = sParams .. EgtNumToString( CSVOutLine[ParamIndex], 1) - end - end - file:write(sParams) - file:write('\n') - end - file:close() - local sReadProgPath = EgtGetStringFromIni( '3dPrinting', RESULT_READ_PROG, "", EgtGetIniFile()) - if not sReadProgPath or not EgtWinExec( '"'..sReadProgPath..'" "'..sResultFile..'"') then - EgtOutBox( 'Impossible opening software to show results. You can find them in ' .. sResultFile, 'Error', 'ERROR') - end - else - EgtOutBox( 'Impossible writing results file in ' .. sResultFile, 'Error', 'ERROR') - end - -end - ---------------------------------------------------------------------- -return RunMachiningParamCalc diff --git a/LuaLibs/RunMachiningParamEdit.lua b/LuaLibs/RunMachiningParamEdit.lua deleted file mode 100644 index 2cf8f29..0000000 --- a/LuaLibs/RunMachiningParamEdit.lua +++ /dev/null @@ -1,57 +0,0 @@ --- RunMachiningParamEdit.lua by Egaltech s.r.l. 2022/04/05 --- Gestione visualizzazione per Stampa 3d - --- Tabella per definizione modulo -local RunMachiningParamEdit = {} - --- Intestazioni -require( 'EgtBase') - -EgtOutLog( ' RunMachiningParamEdit started', 1) - --- Costanti generali -local AMD = require( 'AddManData') - ---------------------------------------------------------------------- -function RunMachiningParamEdit.Exec() - -- recupero cartella delle lavorazioni - local sCalcBaseDir = EgtGetStringFromIni( '3dPrinting', 'BaseDir', 'C:\\ProgramData\\Egaltech\\EgtCam5\\3dPrinting', EgtGetIniFile()) - local sMachiningDirPath = sCalcBaseDir .. '\\Machinings\\' - - -- recupero file delle lavorazioni - --local Machinings = {} - local sMachinings = '' - - local f = io.popen("dir " .. sMachiningDirPath .. " /B", "r") - for entry in f:lines() do - --Machinings[#Machinings + 1] = entry - local sDir, sFile, sExt = EgtSplitPath(entry) - if sExt == '.ini' then - if sMachinings ~= "" then - sMachinings = sMachinings .. ',' - end - sMachinings = sMachinings .. sFile - end - end - - -- chiedo quale file aprire - MachiningValues = EgtDialogBox( 'Machinings edit', { 'Machining', 'CB:' .. sMachinings}) - if not MachiningValues or #MachiningValues < 1 then return end - - -- verifico esistenza file - local sSelMachiningPath = sMachiningDirPath .. MachiningValues[1] .. '.ini' - if not EgtExistsFile( sSelMachiningPath) then - EgtOutBox( 'Machining file not found', 'Error', 'ERROR') - return - end - - -- apro programma di edit - local sEditProgPath = EgtGetStringFromIni( '3dPrinting', 'MachiningEditProg', "", EgtGetIniFile()) - if not sEditProgPath or not EgtWinExec( '"'..sEditProgPath..'" "'.. sSelMachiningPath..'"') then - EgtOutBox( 'Impossible opening software to show Machining. You can find it in ' .. sSelMachiningPath, 'Error', 'ERROR') - end - -end - ---------------------------------------------------------------------- -return RunMachiningParamEdit diff --git a/LuaLibs/RunMaterialParamEdit.lua b/LuaLibs/RunMaterialParamEdit.lua deleted file mode 100644 index eb8ad75..0000000 --- a/LuaLibs/RunMaterialParamEdit.lua +++ /dev/null @@ -1,56 +0,0 @@ --- RunMaterialParamEdit.lua by Egaltech s.r.l. 2022/04/09 --- Gestione edit parametri materiali per Stampa 3d - --- Tabella per definizione modulo -local RunMaterialParamEdit = {} - --- Intestazioni -require( 'EgtBase') - -EgtOutLog( ' RunMaterialParamEdit started', 1) - --- Costanti generali -local AMD = require( 'AddManData') - ---------------------------------------------------------------------- -function RunMaterialParamEdit.Exec() - -- recupero cartella dei materiali - local sCalcBaseDir = EgtGetStringFromIni( '3dPrinting', 'BaseDir', 'C:\\ProgramData\\Egaltech\\EgtCam5\\3dPrinting', EgtGetIniFile()) - local sMaterialDirPath = sCalcBaseDir .. '\\Materials\\' - - -- recupero elenco file dei materiali - local Files = EgtFindAllFiles( sMaterialDirPath..'*.csv') - if not Files then - EgtOutBox( 'Material files not found', 'Error', 'ERROR') - return - end - local sMaterials = '' - for i = 1, #Files do - local sDir, sFile, sExt = EgtSplitPath( Files[i]) - if sMaterials ~= "" then - sMaterials = sMaterials .. ',' - end - sMaterials = sMaterials .. sFile - end - - -- chiedo quale file aprire - MaterialValues = EgtDialogBox( 'Materials edit', { 'Material', 'CB:' .. sMaterials}) - if not MaterialValues or #MaterialValues < 1 then return end - - -- verifico esistenza file - local sSelMaterialPath = sMaterialDirPath .. MaterialValues[1] .. '.csv' - if not EgtExistsFile( sSelMaterialPath) then - EgtOutBox( 'Material file not found', 'Error', 'ERROR') - return - end - - -- apro programma di edit - local sEditProgPath = EgtGetStringFromIni( '3dPrinting', RESULT_READ_PROG, "", EgtGetIniFile()) - if not sEditProgPath or not EgtWinExec( '"'..sEditProgPath..'" "'..sSelMaterialPath..'"') then - EgtOutBox( 'Impossible opening software to show Material. You can find them it in ' .. sSelMaterialPath, 'Error', 'ERROR') - end - -end - ---------------------------------------------------------------------- -return RunMaterialParamEdit diff --git a/LuaLibs/RunPartPositioning.lua b/LuaLibs/RunPartPositioning.lua deleted file mode 100644 index 14ffef8..0000000 --- a/LuaLibs/RunPartPositioning.lua +++ /dev/null @@ -1,209 +0,0 @@ --- RunPartPositioning.lua by Egaltech s.r.l. 2022/08/29 --- Gestione calcolo disposizione e lavorazioni per stampa 3d --- 2022/03/21 Creazione file - --- Tabella per definizione modulo -local RunPartPositioning = {} - --- Intestazioni -require( 'EgtBase') - -EgtOutLog( ' RunPartPositioning started', 1) - --- Costanti generali -local AMD = require( 'AddManData') - ---------------------------------------------------------------------- -function RunPartPositioning.Exec() - -- Verifico che la macchina corrente sia adatta alla stampa 3d - local sMachIni = EgtGetCurrMachineDir() .. '\\' .. EgtGetCurrMachineName() .. '.ini' - local sMachMaterial = EgtGetStringFromIni( 'General', 'Material', '', sMachIni) - if sMachMaterial ~= 'Additive' then - EgtOutBox( 'Current machine unsuitable for additive manufacturing', 'Warning', 'WARNING') - return - end - -- Recupero ultimo oggetto selezionato - local nSolidId = EgtGetLastSelectedObj() - local nLayerId = EgtGetParent( nSolidId) - local nPartId = EgtGetParent( nLayerId) - -- Verifico sia in un pezzo valido - if nPartId then - if EgtIsPart( nPartId) then - local sName = EgtGetName( nPartId) - if sName == TABLE then - EgtOutBox( 'No selected part. Please select a part before moving it on the table.', 'Warning', 'WARNING') - return - end - local sLayer = EgtGetName( nLayerId) - if sLayer == LAY_RIBS or sLayer == LAY_AUX_SOLIDS or sLayer == LAY_SHELL_NBR then - EgtOutBox( 'No selected solid. Please select a solid before moving it on the table.', 'Warning', 'WARNING') - return - end - else - EgtOutBox( 'No selected part. Please select a part before moving it on the table.', 'Warning', 'WARNING') - return - end - else - EgtOutBox( 'No selected part. Please select a part before moving it on the table.', 'Warning', 'WARNING') - return - end - - -- Assegno nome pezzo e layer - if not EgtGetName( nPartId) then - local nPartIndex = 1 - while EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex) do - nPartIndex = nPartIndex + 1 - end - EgtSetName( nPartId, PART .. nPartIndex) - EgtSetName( nLayerId, PRINT_SOLID) - end - -- Recupero o creo layer ausiliario - local nAuxId = EgtGetFirstNameInGroup( nPartId, LAY_AUX) - if not nAuxId then - nAuxId = EgtGroup( nPartId) - EgtSetName( nAuxId, LAY_AUX) - else - EgtEmptyGroup( nAuxId) - end - - -- Rimuovo eventuale gruppo di lavoro - local nMchGrpId = EgtGetMachGroupId( '3dPrint') - EgtRemoveMachGroup( nMchGrpId or GDB_ID.NULL) - - -- Recupero dati tavola (creando gruppo di lavoro temporaneo) - local nQqqId = EgtAddMachGroup( 'qqq') - EgtSetTable( 'Tab') - local b3Tab = EgtGetTableArea() - dTabX = b3Tab:getDimX() - dTabY = b3Tab:getDimY() - EgtRemoveMachGroup( nQqqId or GDB_ID.NULL) - - -- Richiedo posizione origine e offset pezzo - local b3Solid = EgtGetBBoxGlob( nSolidId, GDB_BB.EXACT) - local b3Part = EgtGetBBoxGlob( nPartId, GDB_BB.EXACT) - local nRefX = 1 - local nRefY = 1 - local dPosX = b3Tab:getDimX() / 2 - b3Solid:getDimX() / 2 - local dPosY = b3Tab:getDimY() / 2 - b3Solid:getDimY() / 2 - local Positions = EgtDialogBox( 'Part position on table:', { 'Reference', 'CB:Left,Center,Right'}, - { '', 'CB:Bottom,Middle,Top'}, - { 'X', EgtNumToString( EgtToUiUnits( dPosX), 1)}, - { 'Y', EgtNumToString( EgtToUiUnits( dPosY), 1)}) - if not Positions then return end - dPosX = EgtFromUiUnits( tonumber( Positions[3])) - dPosY = EgtFromUiUnits( tonumber( Positions[4])) - if Positions[1] == 'Center' then - nRefX = 2 - dPosX = dPosX - b3Solid:getDimX() / 2 - elseif Positions[1] == 'Right' then - nRefX = 3 - dPosX = dPosX - b3Solid:getDimX() - end - if Positions[2] == 'Middle' then - nRefY = 2 - dPosY = dPosY - b3Solid:getDimY() / 2 - elseif Positions[2] == 'Top' then - nRefY = 3 - dPosY = dPosY - b3Solid:getDimY() - end - - -- Creo disegno tavola - local nTabPart = EgtGetFirstNameInGroup( GDB_ID.ROOT, TABLE) - EgtErase( nTabPart) - -- Disegno tavola - nTabPart = EgtGroup( GDB_ID.ROOT) - EgtSetMode( nTabPart, GDB_MD.LOCKED) - EgtSetLevel( nTabPart, GDB_LV.SYSTEM) - EgtSetName( nTabPart, TABLE) - local nTabLayer = EgtGroup( nTabPart) - EgtSetName( nTabLayer, TABLE) - local nTabOutlineId = EgtRectangle2P( nTabLayer, Point3d( 0, 0, 0), Point3d( dTabX, dTabY, 0)) - local nTabSurfId = EgtSurfFlatRegion( nTabLayer, nTabOutlineId) - EgtSetColor( nTabSurfId, 'GRAY') - EgtSetAlpha( nTabSurfId, 70) - - -- Aggiungo il box del solido - local nBoxId = EgtSurfTmBBox( nAuxId, b3Solid, false, GDB_RT.GLOB) - - -- Posiziono il pezzo e aggiorno il suo box - local vtMove = Point3d( dPosX, dPosY, 0) - b3Solid:getMin() - EgtMove( nPartId, vtMove) - b3Solid:move( vtMove) - b3Part:move( vtMove) - - -- Creo il frame del pezzo - local ptOrig = b3Solid:getMin() - if nRefX == 2 then - ptOrig = ptOrig + b3Solid:getDimX() / 2 * X_AX() - elseif nRefX == 3 then - ptOrig = ptOrig + b3Solid:getDimX() * X_AX() - end - if nRefY == 2 then - ptOrig = ptOrig + b3Solid:getDimY() / 2 * Y_AX() - elseif nRefY == 3 then - ptOrig = ptOrig + b3Solid:getDimY() * Y_AX() - end - - -- Svuoto o creo layer per il frame - local nFrameLay = EgtGetFirstNameInGroup( nPartId, LAY_FRAME) - if not nFrameLay then - nFrameLay = EgtGroup( nPartId) - EgtSetName( nFrameLay, LAY_FRAME) - else - EgtEmptyGroup( nFrameLay) - end - - local frPart = Frame3d( ptOrig, Z_AX()) - nFrameId = EgtFrame( nFrameLay, frPart, GDB_RT.GLOB) - if nFrameId then - EgtSetName( nFrameId, FRAME_PART) - EgtSetMode( nFrameId, GDB_MD.LOCKED) - end - - -- Definisco e posiziono il grezzo sulla tavola - EgtAddMachGroup( '3dPrint') - EgtSetTable( 'Tab') - - local nRawId = EgtAddRawPartWithPart( nPartId, nBoxId, 0, Color3d( 128, 128, 128, 30)) - EgtMoveToCornerRawPart( nRawId, Point3d( dPosX, dPosY, 0), MCH_CR.BL) - - EgtResetCurrMachGroup() - - -- Recupero/creo gruppo per punti e curve di partenza - local nMachStartId = EgtGetFirstNameInGroup( nPartId, LAY_MACH_START) - if not nMachStartId then - nMachStartId = EgtGroup( nPartId) - EgtSetName( nMachStartId, LAY_MACH_START) - end - - local vStartId = EgtGetNameInGroup( nLayerId, START_GEOM) - if vStartId then - for j = 1, #vStartId do - EgtRelocateGlob( vStartId[j], nMachStartId) - EgtSetColor( vStartId[j], EgtStdColor( "RED")) - end - else - -- se non ci sono punti/curve di inizio definiti e non ve ne sono nemmeno nel gruppo, creo un punto - local vOldStart = EgtGetNameInGroup( nMachStartId, START_GEOM) - if not vOldStart then - local ptStart = b3Solid:getCenter() - 0.6 * b3Solid:getDimY() * Y_AX() - 0.5 * b3Solid:getDimZ() * Z_AX() - nPtStartId = EgtPoint( nMachStartId, ptStart, GDB_RT.GLOB) - EgtSetName( nPtStartId, START_GEOM) - EgtSetColor( nPtStartId, EgtStdColor( "RED")) - end - end - - -- Dichiaro pezzo posizionato - EgtSetInfo( nPartId, KEY_PART_ON_TABLE, 1) - - -- Deseleziono tutto - EgtDeselectAll() - - EgtSetView( SCE_VD.ISO_SW, false) - EgtZoom( SCE_ZM.ALL) - - EgtOutLog( ' +++ RunPartPositioning completed') -end - ---------------------------------------------------------------------- -return RunPartPositioning diff --git a/LuaLibs/RunShowManager.lua b/LuaLibs/RunShowManager.lua deleted file mode 100644 index 8c19016..0000000 --- a/LuaLibs/RunShowManager.lua +++ /dev/null @@ -1,138 +0,0 @@ --- RunShowManager.lua by Egaltech s.r.l. 2022/09/15 --- Gestione visualizzazione per Stampa 3d - --- Tabella per definizione modulo -local RunShowManager = {} - --- Intestazioni -require( 'EgtBase') - -EgtOutLog( ' RunShowManager started', 1) - --- Costanti generali -local AMD = require( 'AddManData') - --- Librerie -_G.package.loaded.RunCalcSolids = nil -local CSOLIDS = require( 'RunCalcSolids') - ---------------------------------------------------------------------- -local function ShowImportedSolid( nPartId, bShow) - local nSolidLayId = EgtGetFirstNameInGroup( nPartId, PRINT_SOLID) - EgtSetStatus( nSolidLayId or GDB_ID.NULL, EgtIf( bShow, GDB_ST.ON, GDB_ST.OFF)) - local nRibsLayId = EgtGetFirstNameInGroup( nPartId, LAY_RIBS) - EgtSetStatus( nRibsLayId or GDB_ID.NULL, EgtIf( bShow, GDB_ST.ON, GDB_ST.OFF)) - local nShellNbrLay = EgtGetFirstNameInGroup( nPartId, LAY_SHELL_NBR) - EgtSetStatus( nShellNbrLay or GDB_ID.NULL, EgtIf( bShow, GDB_ST.ON, GDB_ST.OFF)) - local nAuxSolidsLay = EgtGetFirstNameInGroup( nPartId, LAY_AUX_SOLIDS) - EgtSetStatus( nAuxSolidsLay or GDB_ID.NULL, EgtIf( bShow, GDB_ST.ON, GDB_ST.OFF)) -end - ---------------------------------------------------------------------- -function RunShowManager.Exec() - -- Verifico esistenza gruppo stato visualizzazione progetto - local nViewId = EgtGetFirstNameInGroup( GDB_ID.ROOT, VIEWPARAMS) - local bImportedSolid = false - local bOuterCrv = false - local bPath = false - local bSolid = false - local bToolPath = false - - if not nViewId then - nViewId = EgtGroup( GDB_ID.ROOT) - EgtSetName( nViewId, VIEWPARAMS) - EgtSetLevel( nViewId, GDB_LV.SYSTEM) - else - bImportedSolid = EgtGetInfo( nViewId, IMPORTED_SOLID, 'b') - bOuterCrv = EgtGetInfo( nViewId, OUTER_CRV, 'b') - bPath = EgtGetInfo( nViewId, PATH_GRP, 'b') - bSolid = EgtGetInfo( nViewId, SOLID_GRP, 'b') - bToolPath = EgtGetInfo( nViewId, TOOLPATH_GRP, 'b') - end - - local bCurrImportedSolid = bImportedSolid - local bCurrOuterCrv = bOuterCrv - local bCurrPath = bPath - local bCurrSolid = bSolid - local bCurrToolPath = bToolPath - - if EgtGetUserLevel() == 1 then - local ViewValues = EgtDialogBox( 'Show Manager', { 'Imported Solid', 'CK:' .. EgtIf( bImportedSolid, '1', '0')}, - { 'Solid', 'CK:' .. EgtIf( bSolid, '1', '0')}, - { 'ToolPath', 'CK:' .. EgtIf( bToolPath, '1', '0')}) - if not ViewValues or #ViewValues < 3 then return end - bCurrImportedSolid = ( ViewValues[1] == '1') - bCurrSolid = ( ViewValues[2] == '1') - bCurrToolPath = ( ViewValues[3] == '1') - else - local ViewValues = EgtDialogBox( 'Show Manager', { 'Imported Solid', 'CK:' .. EgtIf( bImportedSolid, '1', '0')}, - { 'OuterCrv', 'CK:' .. EgtIf( bOuterCrv, '1', '0')}, - { 'Path', 'CK:' .. EgtIf( bPath, '1', '0')}, - { 'Solid', 'CK:' .. EgtIf( bSolid, '1', '0')}, - { 'ToolPath', 'CK:' .. EgtIf( bToolPath, '1', '0')}) - if not ViewValues or #ViewValues < 5 then return end - bCurrImportedSolid = ( ViewValues[1] == '1') - bCurrOuterCrv = ( ViewValues[2] == '1') - bCurrPath = ( ViewValues[3] == '1') - bCurrSolid = ( ViewValues[4] == '1') - bCurrToolPath = ( ViewValues[5] == '1') - end - - -- ciclo sui pezzi - local nPartIndex = 1 - local nPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex) - while nPartId do - -- eventuale calcolo dei solidi - local bHasSolids = EgtGetInfo( nPartId, KEY_HAS_SOLIDS, 'b') or false - if not bHasSolids and bCurrSolid then - EgtSetInfo( nPartId, KEY_CALC_SOLIDS, true) - CSOLIDS.Exec() - end - - if bImportedSolid ~= bCurrImportedSolid then - ShowImportedSolid( nPartId, bCurrImportedSolid) - end - -- ciclo sui layer per dis/attivare il resto - local nLayerIndex = 1 - local nLayerId = EgtGetFirstNameInGroup( nPartId, SLICE_LAYER .. nLayerIndex) or EgtGetFirstNameInGroup( nPartId, "__" .. SLICE_LAYER .. nLayerIndex) - while nLayerId do - local nCrvId = EgtGetFirstGroupInGroup( nLayerId) - while nCrvId do - if bOuterCrv ~= bCurrOuterCrv then - local nOuterCrvId = EgtGetFirstNameInGroup( nCrvId, OUTER_CRV) - EgtSetStatus( nOuterCrvId or GDB_ID.NULL, EgtIf( bCurrOuterCrv, GDB_ST.ON, GDB_ST.OFF)) - end - if bPath ~= bCurrPath then - local nPathId = EgtGetFirstNameInGroup( nCrvId, PATH_GRP) - EgtSetStatus( nPathId or GDB_ID.NULL, EgtIf( bCurrPath, GDB_ST.ON, GDB_ST.OFF)) - end - if bSolid ~= bCurrSolid then - local nSolidId = EgtGetFirstNameInGroup( nCrvId, SOLID_GRP) - EgtSetStatus( nSolidId or GDB_ID.NULL, EgtIf( bCurrSolid, GDB_ST.ON, GDB_ST.OFF)) - end - if bToolPath ~= bCurrToolPath then - local nToolPathId = EgtGetFirstNameInGroup( nCrvId, TOOLPATH_GRP) - EgtSetStatus( nToolPathId or GDB_ID.NULL, EgtIf( bCurrToolPath, GDB_ST.ON, GDB_ST.OFF)) - end - nCrvId = EgtGetNext( nCrvId) - end - nLayerIndex = nLayerIndex + 1 - nLayerId = EgtGetFirstNameInGroup( nPartId, SLICE_LAYER .. nLayerIndex) or EgtGetFirstNameInGroup( nPartId, "__" .. SLICE_LAYER .. nLayerIndex) - end - nPartIndex = nPartIndex + 1 - nPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex) - end - - -- riporto impostazioni in gruppo apposito - EgtSetInfo( nViewId, IMPORTED_SOLID, bCurrImportedSolid) - EgtSetInfo( nViewId, OUTER_CRV, bCurrOuterCrv) - EgtSetInfo( nViewId, PATH_GRP, bCurrPath) - EgtSetInfo( nViewId, SOLID_GRP, bCurrSolid) - EgtSetInfo( nViewId, TOOLPATH_GRP, bCurrToolPath) - - EgtDraw() - -end - ---------------------------------------------------------------------- -return RunShowManager diff --git a/LuaLibs/RunSliceAdvancement.lua b/LuaLibs/RunSliceAdvancement.lua deleted file mode 100644 index 9471ada..0000000 --- a/LuaLibs/RunSliceAdvancement.lua +++ /dev/null @@ -1,186 +0,0 @@ --- RunSliceAdvancement.lua by Egaltech s.r.l. 2022/06/28 --- Gestione visualizzazione per Stampa 3d - --- Tabella per definizione modulo -local RunSliceAdvancement = {} - --- Intestazioni -require( 'EgtBase') - -EgtOutLog( ' RunSliceAdvancement started', 1) - --- Costanti generali -local AMD = require( 'AddManData') - --- Librerie -_G.package.loaded.RunCalcSolids = nil -local CSOLIDS = require( 'RunCalcSolids') - ---------------------------------------------------------------------- -local function ManageSegmentVisibility( SegmentList, nLastActiveIndex, ToHideList) - for Index = 1, #SegmentList do - EgtSetStatus( SegmentList[Index], EgtIf( Index <= nLastActiveIndex, GDB_ST.ON, GDB_ST.OFF)) - end - if ToHideList and #ToHideList > 0 then - for Index = 1, #ToHideList do - EgtSetStatus( ToHideList[Index], GDB_ST.OFF) - end - end -end - ---------------------------------------------------------------------- -local function CalcType( nEntId, nOldType) - local nType = EgtGetInfo( nEntId, KEY_TYPE, 'i') - if not nType or nType == TYPE.LINK or nType == TYPE.COASTING or nType == TYPE.WIPE then - nType = nOldType - end - if nType == TYPE.RIB or nType == TYPE.AUX_SOLID then - nType = TYPE.INFILL - end - if nType == TYPE.EXTRA_SHELL then - nType = TYPE.INNER_SHELL - end - return nType -end - ---------------------------------------------------------------------- -function RunSliceAdvancement.Exec() - -- verifico ci sia almeno uno slice - local nFirstPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. 1) - if not nFirstPartId then - EgtOutBox( 'No sliced part in this project!', 'Error', 'ERROR') - return - else - local nLayerId = EgtGetFirstNameInGroup( nFirstPartId, SLICE_LAYER .. 1) or EgtGetFirstNameInGroup( nFirstPartId, "__" .. SLICE_LAYER .. 1) - if not nLayerId then - EgtOutBox( 'No sliced part in this project!', 'Error', 'ERROR') - return - end - end - local nAdvancementType = 1 -- 1 = All, 2 = Only Outer, 3 = Only Inner, 4 = Only Infill - local nPercentage = 30 - -- leggo ultimi valori - local nViewId = EgtGetFirstNameInGroup( GDB_ID.ROOT, VIEWPARAMS) - if nViewId then - nAdvancementType = EgtGetInfo( nViewId, KEY_SLICE_ADV_MODE, 'i') or SLICE_ADV_TYPE.ALL - nPercentage = EgtGetInfo( nViewId, KEY_SLICE_ADV_PERC, 'i') or 30 - end - local sAdvTypeCombo = '' - if nAdvancementType == SLICE_ADV_TYPE.ALL then - sAdvTypeCombo = 'CB:*All,Only Outer,Only Inner,Only Infill' - elseif nAdvancementType == SLICE_ADV_TYPE.OUTER then - sAdvTypeCombo = 'CB:All,*Only Outer,Only Inner,Only Infill' - elseif nAdvancementType == SLICE_ADV_TYPE.INNER then - sAdvTypeCombo = 'CB:All,Only Outer,*Only Inner,Only Infill' - elseif nAdvancementType == SLICE_ADV_TYPE.INFILL then - sAdvTypeCombo = 'CB:All,Only Outer,Only Inner,*Only Infill' - end - ViewValues = EgtDialogBox( 'Slice advancement', { 'Type', sAdvTypeCombo}, - { 'Percentage (0-100)', tostring( nPercentage)}) - if not ViewValues or #ViewValues < 1 then return end - - if ViewValues[1] == 'All' then - nAdvancementType = SLICE_ADV_TYPE.ALL - elseif ViewValues[1] == 'Only Outer' then - nAdvancementType = SLICE_ADV_TYPE.OUTER - elseif ViewValues[1] == 'Only Inner' then - nAdvancementType = SLICE_ADV_TYPE.INNER - elseif ViewValues[1] == 'Only Infill' then - nAdvancementType = SLICE_ADV_TYPE.INFILL - end - nPercentage = tonumber( ViewValues[2]) - - -- ciclo sui pezzi - local nPartIndex = 1 - local nPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex) - while nPartId do - - -- eventuale calcolo dei solidi - local bHasSolids = EgtGetInfo( nPartId, KEY_HAS_SOLIDS, 'b') or false - if not bHasSolids then - EgtSetInfo( nPartId, KEY_CALC_SOLIDS, true) - CSOLIDS.Exec() - end - - local nPrintOrder = EgtGetInfo( nPartId, KEY_STRAND_ORDER, 'i') - -- ciclo sui layer per dis/attivare il resto - local nLayerIndex = 1 - local nLayerId = EgtGetFirstNameInGroup( nPartId, SLICE_LAYER .. nLayerIndex) or EgtGetFirstNameInGroup( nPartId, "__" .. SLICE_LAYER .. nLayerIndex) - while nLayerId do - local nCrvId = EgtGetFirstGroupInGroup( nLayerId) - while nCrvId do - local nSolidId = EgtGetFirstNameInGroup( nCrvId, SOLID_GRP) - local ShellList = { {}, {}, {}} - local nSurfId = EgtGetFirstInGroup( nSolidId) - local nOldType = TYPE.OUTER_SHELL - while nSurfId do - local nType = CalcType( nSurfId, nOldType) - nOldType = nType - table.insert( ShellList[nType], nSurfId) - nSurfId = EgtGetNext( nSurfId) - end - local nSegmentQty = 1 - local SegmentList - local ToHideList - if nAdvancementType == SLICE_ADV_TYPE.ALL then - nSegmentQty = #ShellList[1] + #ShellList[2] + #ShellList[3] - if nPrintOrder == PRINT_ORDER.EXT_INT then - SegmentList = ShellList[1] - for i = 1, #ShellList[2] do - SegmentList[#SegmentList + 1] = ShellList[2][i] - end - for i = 1, #ShellList[3] do - SegmentList[#SegmentList + 1] = ShellList[3][i] - end - else - SegmentList = ShellList[3] - for i = 1, #ShellList[2] do - SegmentList[#SegmentList + 1] = ShellList[2][i] - end - for i = 1, #ShellList[1] do - SegmentList[#SegmentList + 1] = ShellList[1][i] - end - end - elseif nAdvancementType == SLICE_ADV_TYPE.OUTER then - nSegmentQty = #ShellList[1] - SegmentList = ShellList[1] - ToHideList = ShellList[2] - for i = 1, #ShellList[3] do - ToHideList[#ToHideList + 1] = ShellList[3][i] - end - elseif nAdvancementType == SLICE_ADV_TYPE.INNER then - nSegmentQty = #ShellList[2] - SegmentList = ShellList[2] - ToHideList = ShellList[1] - for i = 1, #ShellList[3] do - ToHideList[#ToHideList + 1] = ShellList[3][i] - end - elseif nAdvancementType == SLICE_ADV_TYPE.INFILL then - nSegmentQty = #ShellList[3] - SegmentList = ShellList[3] - ToHideList = ShellList[1] - for i = 1, #ShellList[2] do - ToHideList[#ToHideList + 1] = ShellList[2][i] - end - end - local nLastActiveIndex = ceil( nSegmentQty * nPercentage / 100) - ManageSegmentVisibility( SegmentList, nLastActiveIndex, ToHideList) - nCrvId = EgtGetNext( nCrvId) - end - nLayerIndex = nLayerIndex + 1 - nLayerId = EgtGetFirstNameInGroup( nPartId, SLICE_LAYER .. nLayerIndex) or EgtGetFirstNameInGroup( nPartId, "__" .. SLICE_LAYER .. nLayerIndex) - end - nPartIndex = nPartIndex + 1 - nPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex) - end - - -- riporto impostazioni in gruppo apposito - EgtSetInfo( nViewId, KEY_SLICE_ADV_MODE, nAdvancementType) - EgtSetInfo( nViewId, KEY_SLICE_ADV_PERC, nPercentage) - - EgtDraw() - -end - ---------------------------------------------------------------------- -return RunSliceAdvancement diff --git a/LuaLibs/RunSlicePalette.lua b/LuaLibs/RunSlicePalette.lua deleted file mode 100644 index b3b2bab..0000000 --- a/LuaLibs/RunSlicePalette.lua +++ /dev/null @@ -1,113 +0,0 @@ --- RunSlicePalette.lua by Egaltech s.r.l. 2022/08/23 --- Gestione visualizzazione per Stampa 3d - --- Tabella per definizione modulo -local RunSlicePalette = {} - --- Intestazioni -require( 'EgtBase') - -EgtOutLog( ' RunSlicePalette started', 1) - --- Costanti generali -local AMD = require( 'AddManData') - --- Librerie -_G.package.loaded.RunCalcSolids = nil -local CSOLIDS = require( 'RunCalcSolids') - ---------------------------------------------------------------------- -function RunSlicePalette.UpdateColors( nPaletteType) - -- ciclo sui pezzi - local nPartIndex = 1 - local nPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex) - while nPartId do - -- eventuale calcolo dei solidi - local bHasSolids = EgtGetInfo( nPartId, KEY_HAS_SOLIDS, 'b') or false - if not bHasSolids then - EgtSetInfo( nPartId, KEY_CALC_SOLIDS, true) - CSOLIDS.Exec() - end - - -- 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 < TYPE.OUTER_SHELL or nType > TYPE.AUX_SOLID then nType = nOldType end - nOldType = nType - -- scelta del colore - if nType == TYPE.OUTER_SHELL or nType == TYPE.EXTRA_OUTER_SHELL then - Color = EgtStdColor( 'TEAL') - elseif nType == TYPE.INNER_SHELL or nType == TYPE.EXTRA_SHELL then - Color = EgtStdColor( 'ORANGE') - elseif nType == TYPE.INFILL then - Color = EgtStdColor( 'YELLOW') - elseif nType == TYPE.LINK then - Color = EgtStdColor( 'GRAY') - elseif nType == TYPE.COASTING then - Color = EgtStdColor( 'BLUE') - elseif nType == TYPE.WIPE then - Color = EgtStdColor( 'LIME') - elseif nType == TYPE.RIB then - Color = EgtStdColor( 'OLIVE') - elseif nType == TYPE.AUX_SOLID then - Color = EgtStdColor( 'AQUA') - 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 nViewId = EgtGetFirstNameInGroup( GDB_ID.ROOT, VIEWPARAMS) or GDB_ID.NULL - - local nOldPaletteType = EgtGetInfo( nViewId, KEY_PALETTE, 'i') - local sCombo = EgtIf( not nOldPaletteType or nOldPaletteType == 1, '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( nViewId, KEY_PALETTE, nPaletteType) - - RunSlicePalette.UpdateColors( nPaletteType) -end - ---------------------------------------------------------------------- -return RunSlicePalette diff --git a/LuaLibs/RunViewManager.lua b/LuaLibs/RunViewManager.lua deleted file mode 100644 index fcb3110..0000000 --- a/LuaLibs/RunViewManager.lua +++ /dev/null @@ -1,195 +0,0 @@ --- RunViewManager.lua by Egaltech s.r.l. 2022/07/03 --- Gestione visualizzazione per Stampa 3d - --- Tabella per definizione modulo -local RunViewManager = {} - --- Intestazioni -require( 'EgtBase') - -EgtOutLog( ' RunViewManager started', 1) - --- Costanti generali -local AMD = require( 'AddManData') - ---------------------------------------------------------------------- -local function CalcShow( nShellView, nType) - if nShellView == SHELL_VIEW_TYPE.OUTER then - return ( nType == TYPE.OUTER_SHELL or nType == TYPE.EXTRA_OUTER_SHELL) - elseif nShellView == SHELL_VIEW_TYPE.INNER then - return ( nType == TYPE.INNER_SHELL) - elseif nShellView == SHELL_VIEW_TYPE.INFILL then - return ( nType == TYPE.INFILL) - else --nShellView == SHELL_VIEW_TYPE.ALL - return true - end -end - ---------------------------------------------------------------------- -local function CalcType( nEntId, nOldType) - local nType = EgtGetInfo( nEntId, KEY_TYPE, 'i') - if not nType or nType == TYPE.LINK or nType == TYPE.COASTING or nType == TYPE.WIPE then - nType = nOldType - end - if nType == TYPE.RIB or nType == TYPE.AUX_SOLID then - nType = TYPE.INFILL - end - if nType == TYPE.EXTRA_SHELL then - nType = TYPE.INNER_SHELL - end - return nType -end - ---------------------------------------------------------------------- -function RunViewManager.Exec() - local nVisibilityMode = LAYER_VIEW_TYPE.ALL -- 1 = All, 2 = Till Selected, 3 = Only Selected, 4 = From Selected - local nShellType = SHELL_VIEW_TYPE.ALL -- 1 = All, 2 = Outer, 3 = Inner, 4 = infill - local nOldSelLayerId = GDB_ID.NULL - - -- leggo ultimi valori - local nViewId = EgtGetFirstNameInGroup( GDB_ID.ROOT, VIEWPARAMS) - if nViewId then - nVisibilityMode = EgtGetInfo( nViewId, KEY_LAYER_VIEW, 'i') - nShellType = EgtGetInfo( nViewId, KEY_SHELL_VIEW, 'i') - nOldSelLayerId = EgtGetInfo( nViewId, KEY_SEL_LAYER, 'i') or GDB_ID.NULL - end - local sLayerViewCombo = '' - if nVisibilityMode == LAYER_VIEW_TYPE.TILL_SEL then - sLayerViewCombo = 'CB:All,*Till Selected,Only Selected,From Selected' - elseif nVisibilityMode == LAYER_VIEW_TYPE.ONLY_SEL then - sLayerViewCombo = 'CB:All,Till Selected,*Only Selected,From Selected' - elseif nVisibilityMode == LAYER_VIEW_TYPE.FROM_SEL then - sLayerViewCombo = 'CB:All,Till Selected,Only Selected,*From Selected' - else - sLayerViewCombo = 'CB:*All,Till Selected,Only Selected,From Selected' - end - local sShellViewCombo = '' - if nShellType == SHELL_VIEW_TYPE.OUTER then - sShellViewCombo = 'CB:All,*Outer,Inner,Infill' - elseif nShellType == SHELL_VIEW_TYPE.INNER then - sShellViewCombo = 'CB:All,Outer,*Inner,Infill' - elseif nShellType == SHELL_VIEW_TYPE.INFILL then - sShellViewCombo = 'CB:All,Outer,Inner,*Infill' - else - sShellViewCombo = 'CB:*All,Outer,Inner,Infill' - end - - ViewValues = EgtDialogBox( 'Slicing visibility manager', { 'Visibility Mode', sLayerViewCombo}, - { 'Shell type', sShellViewCombo}) - if not ViewValues or #ViewValues < 2 then return end - - if ViewValues[1] == 'All' then - nVisibilityMode = LAYER_VIEW_TYPE.ALL - elseif ViewValues[1] == 'Till Selected' then - nVisibilityMode = LAYER_VIEW_TYPE.TILL_SEL - elseif ViewValues[1] == 'Only Selected' then - nVisibilityMode = LAYER_VIEW_TYPE.ONLY_SEL - elseif ViewValues[1] == 'From Selected' then - nVisibilityMode = LAYER_VIEW_TYPE.FROM_SEL - end - if ViewValues[2] == 'All' then - nShellType = SHELL_VIEW_TYPE.ALL - elseif ViewValues[2] == 'Outer' then - nShellType = SHELL_VIEW_TYPE.OUTER - elseif ViewValues[2] == 'Inner' then - nShellType = SHELL_VIEW_TYPE.INNER - elseif ViewValues[2] == 'Infill' then - nShellType = SHELL_VIEW_TYPE.INFILL - end - - -- Recupero ultimo layer selezionato - -- verifico sia un pezzo valido - local sSelLayerName = '' - local bFound = false - local nSelLayerId = EgtGetLastSelectedObj() - while nSelLayerId do - local sSelLayerName = EgtGetName( nSelLayerId) - if sSelLayerName and ( sSelLayerName:sub(1, 5) == SLICE_LAYER or sSelLayerName:sub(3, 7) == SLICE_LAYER) then - bFound = true - break - end - nSelLayerId = EgtGetParent( nSelLayerId) - end - if not bFound then - if nOldSelLayerId and nOldSelLayerId ~= GDB_ID.NULL then - nSelLayerId = nOldSelLayerId - else - if nVisibilityMode ~= LAYER_VIEW_TYPE.ALL then - EgtOutBox( 'No selected element!', 'Warning', 'WARNING') - return - else - nSelLayerId = GDB_ID.NULL - sSelLayerName = '' - end - end - end - - -- 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) or EgtGetFirstNameInGroup( nPartId, "__" .. SLICE_LAYER .. nLayerIndex) - while nLayerId do - if nVisibilityMode == LAYER_VIEW_TYPE.ALL then - EgtSetStatus( nLayerId, GDB_ST.ON) - elseif nVisibilityMode == LAYER_VIEW_TYPE.TILL_SEL then - EgtSetStatus( nLayerId, EgtIf( nLayerId <= nSelLayerId, GDB_ST.ON, GDB_ST.OFF)) - elseif nVisibilityMode == LAYER_VIEW_TYPE.ONLY_SEL then - EgtSetStatus( nLayerId, EgtIf( nLayerId == nSelLayerId, GDB_ST.ON, GDB_ST.OFF)) - elseif nVisibilityMode == LAYER_VIEW_TYPE.FROM_SEL then - EgtSetStatus( nLayerId, EgtIf( nLayerId >= nSelLayerId, GDB_ST.ON, GDB_ST.OFF)) - end - local nCrvId = EgtGetFirstGroupInGroup( nLayerId) - while nCrvId do - ---- - local nOldType = TYPE.OUTER_SHELL - local nPathId = EgtGetFirstNameInGroup( nCrvId, PATH_GRP) - local nShellId = EgtGetFirstInGroup( nPathId) - while nShellId do - local nType = CalcType( nShellId, nOldType) - nOldType = nType - EgtSetStatus( nShellId, EgtIf( CalcShow( nShellType, nType), GDB_ST.ON, GDB_ST.OFF)) - nShellId = EgtGetNext( nShellId) - end - ---- - nOldType = TYPE.OUTER_SHELL - local nSolidId = EgtGetFirstNameInGroup( nCrvId, SOLID_GRP) - local nSurfId = EgtGetFirstInGroup( nSolidId) - while nSurfId do - local nType = CalcType( nSurfId, nOldType) - nOldType = nType - EgtSetStatus( nSurfId, EgtIf( CalcShow( nShellType, nType), GDB_ST.ON, GDB_ST.OFF)) - nSurfId = EgtGetNext( nSurfId) - end - ---- - nOldType = TYPE.OUTER_SHELL - local nToolPathId = EgtGetFirstNameInGroup( nCrvId, TOOLPATH_GRP) - nShellId = EgtGetFirstInGroup( nToolPathId) - while nShellId do - local nType = CalcType( nShellId, nOldType) - nOldType = nType - EgtSetStatus( nShellId, EgtIf( CalcShow( nShellType, nType), GDB_ST.ON, GDB_ST.OFF)) - nShellId = EgtGetNext( nShellId) - end - nCrvId = EgtGetNext( nCrvId) - end - nLayerIndex = nLayerIndex + 1 - nLayerId = EgtGetFirstNameInGroup( nPartId, SLICE_LAYER .. nLayerIndex) or EgtGetFirstNameInGroup( nPartId, "__" .. SLICE_LAYER .. nLayerIndex) - end - nPartIndex = nPartIndex + 1 - nPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex) - end - - -- riporto impostazioni in gruppo apposito - EgtSetInfo( nViewId, KEY_LAYER_VIEW, nVisibilityMode) - EgtSetInfo( nViewId, KEY_SHELL_VIEW, nShellType) - EgtSetInfo( nViewId, KEY_SEL_LAYER, nSelLayerId) - - EgtDraw() - -end - ---------------------------------------------------------------------- -return RunViewManager diff --git a/MachiningParamCalc.lua b/MachiningParamCalc.lua deleted file mode 100644 index 42ec772..0000000 --- a/MachiningParamCalc.lua +++ /dev/null @@ -1,18 +0,0 @@ --- MachiningParamCalc.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.RunMachiningParamCalc = nil -local RMPC = require( 'RunMachiningParamCalc') - --- Calcolo -RMPC.Exec() diff --git a/MachiningParamEdit.lua b/MachiningParamEdit.lua deleted file mode 100644 index b66dc0d..0000000 --- a/MachiningParamEdit.lua +++ /dev/null @@ -1,18 +0,0 @@ --- MachiningParamCalc.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.RunMachiningParamEdit = nil -local RMPE = require( 'RunMachiningParamEdit') - --- Calcolo -RMPE.Exec() diff --git a/MaterialParamEdit.lua b/MaterialParamEdit.lua deleted file mode 100644 index 6c39045..0000000 --- a/MaterialParamEdit.lua +++ /dev/null @@ -1,18 +0,0 @@ --- MachiningParamCalc.lua by Egaltech s.r.l. 2022/04/09 --- Gestione edit parametri materiali 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.RunMaterialParamEdit = nil -local RMPE = require( 'RunMaterialParamEdit') - --- Calcolo -RMPE.Exec() diff --git a/PartPositioning.lua b/PartPositioning.lua deleted file mode 100644 index 76a378e..0000000 --- a/PartPositioning.lua +++ /dev/null @@ -1,20 +0,0 @@ --- PlacePart.lua by Egaltech s.r.l. 2022/04/11 --- Gestione calcolo disposizione e lavorazioni per stampa 3d --- 2022/03/21 Creazione file - - --- 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.RunPartPositioning = nil -local RPP = require( 'RunPartPositioning') - --- Calcolo -RPP.Exec() diff --git a/ShowManager.lua b/ShowManager.lua deleted file mode 100644 index 2509cc0..0000000 --- a/ShowManager.lua +++ /dev/null @@ -1,18 +0,0 @@ --- ShowManager.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.RunShowManager = nil -local RSM = require( 'RunShowManager') - --- Calcolo -RSM.Exec() diff --git a/SliceAdvancement.lua b/SliceAdvancement.lua deleted file mode 100644 index 54d95d1..0000000 --- a/SliceAdvancement.lua +++ /dev/null @@ -1,18 +0,0 @@ --- SliceAdvancement.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.RunSliceAdvancement = nil -local RSA = require( 'RunSliceAdvancement') - --- Calcolo -RSA.Exec() diff --git a/SlicePalette.lua b/SlicePalette.lua deleted file mode 100644 index e47e78f..0000000 --- a/SlicePalette.lua +++ /dev/null @@ -1,18 +0,0 @@ --- 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() diff --git a/Slicing.lua b/Slicing.lua index 4248f09..4d1e223 100644 --- a/Slicing.lua +++ b/Slicing.lua @@ -1,4 +1,4 @@ --- Slicing.lua by Egaltech s.r.l. 2022/03/30 +-- Slicing.lua by Egaltech s.r.l. 2023/01/11 -- Calcoli prima fase per Stampa 3d -- Intestazioni @@ -7,8 +7,7 @@ _ENV = EgtProtectGlobal() EgtEnableDebug( false) -- Imposto direttorio libreria specializzata per Stampa 3d -local sBaseDir = EgtGetSourceDir() -EgtAddToPackagePath( sBaseDir .. 'LuaLibs\\?.lua') +EgtAddToPackagePath( PRINT.BASEDIR .. '\\LuaLibs\\?.lua') -- Librerie _G.package.loaded.RunSlicing = nil diff --git a/ViewManager.lua b/ViewManager.lua deleted file mode 100644 index 07d1b4b..0000000 --- a/ViewManager.lua +++ /dev/null @@ -1,18 +0,0 @@ --- ViewManager.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.RunViewManager = nil -local RVM = require( 'RunViewManager') - --- Calcolo -RVM.Exec() diff --git a/bin/Images/.placeholder b/bin/Images/.placeholder deleted file mode 100644 index e69de29..0000000