diff --git a/LuaLibs/CalcSlices.lua b/LuaLibs/CalcSlices.lua index cec45bf..2bcdd5c 100644 --- a/LuaLibs/CalcSlices.lua +++ b/LuaLibs/CalcSlices.lua @@ -876,6 +876,10 @@ local function MultiPlanarSlicing( nStmId, dMaxH, vSlicingDir, vSlicingPnt) end end nCnt = i + 1 + -- aggiornamento progress + if EgtProcessEvents( 100 * i / #vSlicingPnt, 0) == 1 then + return nFirstGrpId, -1 + end end return nFirstGrpId, nCnt end @@ -884,14 +888,15 @@ end local function SlicingWithSolid( nStmId, nSlicingType, dMaxH, vSlicingVal, vSlicingDir) -- calcolo delle intersezioni - if EgtProcessEvents( 1, 0) == 1 then return false end local nLayId, nCnt if nSlicingType ~= SLICING_TYPE.MULTIPLANAR then + if EgtProcessEvents( 1, 0) == 1 then return false end nLayId, nCnt = EgtParPlanesSurfTmInters( ORIG(), vSlicingDir[1], vSlicingVal, nStmId, s_nPartId, GDB_RT.GLOB, TOLER) + if EgtProcessEvents( 100, 0) == 1 then return false end else nLayId, nCnt = MultiPlanarSlicing( nStmId, dMaxH, vSlicingDir, vSlicingVal) + if nCnt == -1 then return false end end - if EgtProcessEvents( 100, 0) == 1 then return false end local vPrevCen = {} local nLayCnt = 1