From 89c315cdd863e63680e3cac69b2bccaeea784fe2 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Wed, 22 Jan 2025 12:33:19 +0100 Subject: [PATCH] - in MachiningLib corretta l'assegnazione del nFeatureSegment nei casi in cui la lavorazione non ha quasi componenti in X --- LuaLibs/MachiningLib.lua | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/LuaLibs/MachiningLib.lua b/LuaLibs/MachiningLib.lua index 33e88af..3c1692a 100644 --- a/LuaLibs/MachiningLib.lua +++ b/LuaLibs/MachiningLib.lua @@ -166,10 +166,16 @@ function MachiningLib.GetSplitMachinings( Machinings, SplittingPoints, Part ) end -- anche le lavorazioni non splittate necessitano del segmento assegnato else - local dRightAddLength = dOriginalStartAddLength - local dLeftAddLength = dOriginalEndAddLength - if MachiningLib.StartsLeftSide( Machinings[i]) then - dRightAddLength, dLeftAddLength = dLeftAddLength, dRightAddLength + local dRightAddLength = 0 + local dLeftAddLength = 0 + -- si considerano allungamenti e accorciamenti solo se la feature è orientata principalmente lungo X + -- TODO il modo corretto è proiettare tutto, allungamenti e accorciamenti compresi, sulla faccia frontale + if abs( Machinings[i].vtToolDirection:getX()) < 0.707 then + dRightAddLength = dOriginalStartAddLength + dLeftAddLength = dOriginalEndAddLength + if MachiningLib.StartsLeftSide( Machinings[i]) then + dRightAddLength, dLeftAddLength = dLeftAddLength, dRightAddLength + end end for j = 1, nParts do local dNextSplitX = dEdgeMinX