diff --git a/LuaLibs/CalcToolPath.lua b/LuaLibs/CalcToolPath.lua index c09b711..ccb43c2 100644 --- a/LuaLibs/CalcToolPath.lua +++ b/LuaLibs/CalcToolPath.lua @@ -2091,22 +2091,17 @@ local function SpiralVase( vLayIds, LayerParams) else local ptOld = EgtEP( nOldId, GDB_ID.ROOT) local ptNew = EgtSP( nNewEntId, GDB_ID.ROOT) - if dist( ptNew, ptOld) < LayerParams.dStrand then - -- se i punti sono vicini ma non coincidenti modifico la curva per avere transizione più uniforme - if not AreSamePointApprox( ptOld, ptNew) then - -- recupero la curva da usare come guida - local nGuideId = EgtCopyGlob( nOldPathId, nTpathGrpId) - -- la porto alla stessa quota del toolpath - EgtMove( nGuideId, vtMove + LayerParams.dLayHeight * LayerParams.vtSlicing, GDB_RT.GLOB) - EgtChangeClosedCurveStartPoint( nGuideId, ptNew, GDB_RT.GLOB) - - EgtSpiralizeCurveAlongGuide( nNewEntId, nGuideId) - EgtErase( nGuideId) - end - else - EgtOutLog( 'Warning : in spiral vase mode no link betweeen toolpaths (layer '..tostring( nIdx)..') - CalcToolPath') - -- aggiungo uscita, coasting e wipe sulla curva precedente - AddSpiralVaseLeadOut( nOldId, LayerParams) + -- se i punti non coincidono modifico la curva per avere transizione più uniforme + if not AreSamePointApprox( ptOld, ptNew) then + -- recupero la curva da usare come guida + local nGuideId = EgtCopyGlob( nOldPathId, nTpathGrpId) + -- la porto alla stessa quota del toolpath + EgtMove( nGuideId, vtMove + LayerParams.dLayHeight * LayerParams.vtSlicing, GDB_RT.GLOB) + -- modifico i punti iniziali affinchè coincidano con il punto finale del percorso precedente + EgtChangeClosedCurveStartPoint( nGuideId, ptOld, GDB_RT.GLOB) + EgtChangeClosedCurveStartPoint( nNewEntId, ptOld, GDB_RT.GLOB) + EgtSpiralizeCurveAlongGuide( nNewEntId, nGuideId) + EgtErase( nGuideId) end EgtSpiralizeCurveAlongExtrusion( nNewEntId, LayerParams.dLayHeight) end