diff --git a/LuaLibs/RunCalcSolids.lua b/LuaLibs/RunCalcSolids.lua index 61b6088..785c189 100644 --- a/LuaLibs/RunCalcSolids.lua +++ b/LuaLibs/RunCalcSolids.lua @@ -1,4 +1,4 @@ --- RunCalcSolids.lua by Egaltech s.r.l. 2022/07/01 +-- RunCalcSolids.lua by Egaltech s.r.l. 2022/10/10 -- Calcolo percorsi di lavoro per Stampa 3d -- Tabella per definizione modulo @@ -226,7 +226,8 @@ function RunCalcSolids.Exec() local LayerParams = GetLayerParamsForSolidCalc( nPartId) for nIdx = 1, #vLayIds do - + -- flag di interruzione perchè trovati solidi già ok + local bSolidsOk = false -- scorro tutti i gruppi di contorni local nCrvGrpId = EgtGetFirstNameInGroup( vLayIds[ nIdx], CONTOUR_GRP.."*") or GDB_ID.NULL while nCrvGrpId ~= GDB_ID.NULL do @@ -258,15 +259,18 @@ function RunCalcSolids.Exec() -- processo gli eventi if ( nIdx % 20) == 0 then EgtDraw() - -- if EgtProcessEvents( nIdx / #vLayIds * 100, 0) == 1 then - -- return - -- end end + else + bSolidsOk = true + break end --passo al gruppo di contorni successivo nCrvGrpId = EgtGetNextName( nCrvGrpId, CONTOUR_GRP.."*") or GDB_ID.NULL end + if bSolidsOk then + break + end EgtDraw() if EgtProcessEvents( EgtIf( PRINT, 400, 0) + nIdx / #vLayIds * 100, 0) == 1 then return