diff --git a/LuaLibs/CalcToolPath.lua b/LuaLibs/CalcToolPath.lua index 697235b..ab5e900 100644 --- a/LuaLibs/CalcToolPath.lua +++ b/LuaLibs/CalcToolPath.lua @@ -2097,7 +2097,7 @@ local function SpiralVase( vLayIds, LayerParams) local nGuideId = EgtCopyGlob( nOldPathId, nTpathGrpId) -- la porto alla stessa quota del toolpath EgtMove( nGuideId, vtMove + LayerParams.dLayHeight * LayerParams.vtSlicing, GDB_RT.GLOB) - EgtChangeClosedCurveStartPoint( nGuideId, ptOld, GDB_RT.GLOB) + EgtChangeClosedCurveStartPoint( nGuideId, ptNew, GDB_RT.GLOB) EgtSpiralizeCurveAlongGuide( nNewEntId, nGuideId) EgtErase( nGuideId) diff --git a/LuaLibs/RunCalcSolids.lua b/LuaLibs/RunCalcSolids.lua index 38ca633..f27f016 100644 --- a/LuaLibs/RunCalcSolids.lua +++ b/LuaLibs/RunCalcSolids.lua @@ -112,6 +112,10 @@ local function CreateSpiralVaseSolid( nCrvId, nSolidGrp, LayerParams, dStrand) -- gruppo temporaneo per conti local nGrpTmp = EgtGroup( nSolidGrp, Frame3d( ORIG(), LayerParams.vtSlicing, GDB_RT.GLOB)) + -- accorcio leggermente la curva per evitare problemi di inconsistent orientation nel solido + local dLen = EgtCurveLength( nCrvId) + EgtTrimCurveEndAtLen( nCrvId, dLen - 20 * GEO.EPS_SMALL) + local ptS = EgtSP( nCrvId, GDB_ID.ROOT) local vtS = EgtSV( nCrvId, GDB_ID.ROOT) local ptE = EgtEP( nCrvId, GDB_ID.ROOT)