From 898d065fe1072bdbe7993c14a1905877837da9d5 Mon Sep 17 00:00:00 2001 From: SaraP Date: Wed, 31 Jul 2024 14:23:36 +0200 Subject: [PATCH] 3dPrinting : - nel caso spiral vase corretta la gestione dei punti iniziali delle curve. --- LuaLibs/CalcToolPath.lua | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) 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