diff --git a/LuaLibs/CalcToolPath.lua b/LuaLibs/CalcToolPath.lua index 8df029b..4a6772e 100644 --- a/LuaLibs/CalcToolPath.lua +++ b/LuaLibs/CalcToolPath.lua @@ -152,8 +152,13 @@ local function AddCurvesToToolPath( vEntIds, nTpathGrpId, nOrder, bInvert, vtSli end end + -- approssimo la curva e ne risetto il punto iniziale + local ptS = EgtSP( vIds[nIdx], GDB_ID.ROOT) EgtApproxCurve( vIds[nIdx], GDB_CA.ARCS, s_dApproxTol) - + if EgtCurveIsClosed( vIds[nIdx]) then + EgtChangeClosedCurveStartPoint( vIds[nIdx], ptS, GDB_RT.GLOB) + end + EgtSetInfo( vEntIds[i], KEY_ASSOCIATED_TP_CRV, vIds[nIdx]) EgtSetInfo( vIds[nIdx], KEY_ASSOCIATED_P_CRV, vEntIds[i]) @@ -1712,7 +1717,14 @@ local function CalcRibsToolPath( vEntIds, nRibsGrp, nTpathGrpId, LayerParams) local nNewEntId = EgtCopyGlob( vEntIds[i], nTpathGrpId, GDB_IN.LAST_SON) -- mi sposto dell'altezza layer EgtMove( nNewEntId, LayerParams.dLayHeight * LayerParams.vtSlicing, GDB_RT.GLOB) + + -- approssimo la curva e ne risetto punto iniziale (se chiusa) + local ptS = EgtSP( nNewEntId, GDB_ID.ROOT) EgtApproxCurve( nNewEntId, GDB_CA.ARCS, s_dApproxTol) + if EgtCurveIsClosed( nNewEntId) then + EgtChangeClosedCurveStartPoint( nNewEntId, ptS, GDB_RT.GLOB) + end + EgtModifyCurveExtrusion( nNewEntId, LayerParams.vtSlicing, GDB_RT.GLOB) EgtSetColor( nNewEntId, EgtStdColor('MAROON'))