From e37a2f8e852a701f8d0e779f08e5bb960afe21b7 Mon Sep 17 00:00:00 2001 From: SaraP Date: Mon, 29 Jan 2024 14:43:43 +0100 Subject: [PATCH] 3dPrinting : - modifiche per utilizzare la nuova funzione per il calcolo degli offset di flat regions ( per Voronoi). --- LuaLibs/CalcPaths.lua | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/LuaLibs/CalcPaths.lua b/LuaLibs/CalcPaths.lua index 6c5e57b..2ce6a9c 100644 --- a/LuaLibs/CalcPaths.lua +++ b/LuaLibs/CalcPaths.lua @@ -85,24 +85,16 @@ end ---------------------------------------------------------------------- local function ComputeSurfOffset( nSrf, nGrpId, dOffs) -- restituisce id della superficie offsettata in caso di successo, nil in caso di errore, GDB_ID.NULL se la superficie offsettata scompare - - local nOffsSrf = EgtCopyGlob( nSrf, nGrpId) or GDB_ID.NULL - local bOk = EgtSurfFrOffset( nOffsSrf, dOffs) - if not bOk then + + local nOffsSrf = EgtSurfFrOffsetAdv( nSrf, dOffs) + if not nOffsSrf then -- ritento modificando leggermente l'offset - EgtErase( nOffsSrf) - nOffsSrf = EgtCopyGlob( nSrf, nGrpId) or GDB_ID.NULL - bOk = EgtSurfFrOffset( nOffsSrf, dOffs + 0.05) + nOffsSrf = EgtSurfFrOffsetAdv( nSrf, dOffs + 0.05) end + -- sposto nel gruppo desiderato + EgtRelocateGlob( nOffsSrf or GDB_ID.NULL, nGrpId) - if not bOk then - EgtErase( nOffsSrf) - return nil - elseif EgtSurfFrChunkCount( nOffsSrf) == 0 then - return GDB_ID.NULL - else - return nOffsSrf - end + return nOffsSrf end -------------------------------------------------------------------- @@ -204,15 +196,14 @@ local function GetPathsFromSurf( nSrfId, sName, nType, nGrpId, vPtStart) local _ , _ , dArea = EgtCurveArea( nCrvId + nInd) if dLen < MIN_LEN or dArea < MIN_AREA then EgtErase( nCrvId + nInd) - return + else + table.insert( vIds, nCrvId + nInd) + ModifyStartPoint( nCrvId + nInd, vPtStart) end - - table.insert( vIds, nCrvId + nInd) - ModifyStartPoint( nCrvId + nInd, vPtStart) end end - return vIds + return vIds or {} end ---------------------------------------------------------------------- @@ -4209,6 +4200,8 @@ end --------------------------------------------------------------------- function CalcPaths.Exec( nPartId) + EgtStartCounter() + s_nPartId = nPartId local vLayIds = EgtGetNameInGroup( s_nPartId, SLICE_LAYER.."*") @@ -4384,6 +4377,9 @@ function CalcPaths.Exec( nPartId) end end + -- report tempo di calcolo in log + EgtOutLog( string.format( ' CalcPathTime = %.2f ms', EgtStopCounter())) + if #s_vErr > 0 then EgtOutBox( 'CalcPath Error on :\n' .. table.concat( s_vErr, '\n'), 'Calculating Paths') end