From ca4141515d85f019d1b4bafd60c5565aa002b012 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Tue, 24 Dec 2024 11:13:32 +0100 Subject: [PATCH] - piccole correzioni varie --- LuaLibs/MachiningLib.lua | 3 ++- Strategies/Standard/STR0002/STR0002.lua | 6 ++++++ Strategies/Standard/STR0003/STR0003.lua | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/LuaLibs/MachiningLib.lua b/LuaLibs/MachiningLib.lua index 50a55c1..b1b92ee 100644 --- a/LuaLibs/MachiningLib.lua +++ b/LuaLibs/MachiningLib.lua @@ -766,7 +766,8 @@ function MachiningLib.PrepareMachiningsForSorting( Part) local dPreviousSplitX = dPartMaxX if j ~= 1 then dPreviousSplitX = Part.SplittingPoints[j - 1]:getX() - elseif j ~= nParts then + end + if j ~= nParts then dNextSplitX = Part.SplittingPoints[j]:getX() end if MachiningCurrent.ptCenter:getX() > dNextSplitX - 10 * GEO.EPS_SMALL and MachiningCurrent.ptCenter:getX() < dPreviousSplitX + 10 * GEO.EPS_SMALL then diff --git a/Strategies/Standard/STR0002/STR0002.lua b/Strategies/Standard/STR0002/STR0002.lua index 4981303..c0d0b2e 100644 --- a/Strategies/Standard/STR0002/STR0002.lua +++ b/Strategies/Standard/STR0002/STR0002.lua @@ -462,6 +462,9 @@ function STR0002.Make( bAddMachining, Proc, Part, CustomParameters) if #vAddId == 1 then Pocketing.Geometry = {{ Strategy.Machining[j].idProc, Strategy.Machining[j].idFaceToMachine}} Pocketing.vtToolDirection = Proc.Faces[ Strategy.Machining[j].idFaceToMachine + 1].vtN + if Pocketing.bToolInvert then + Pocketing.vtToolDirection = -Pocketing.vtToolDirection + end bAreAllMachiningsAdded = MachiningLib.AddNewMachining( Proc, Pocketing) else -- TODO settare parametro per indicare qual รจ lo spezzone che deve essere fatto dopo il taglio di separazione @@ -470,6 +473,9 @@ function STR0002.Make( bAddMachining, Proc, Part, CustomParameters) local nIdTm = EgtIf( Strategy.Machining[j].bMachAppliedToTunnelFace, vAddIdTunnel[i], vAddId[i]) Pocketing.ptCenter, vtNSplitFace = EgtSurfTmFacetCenter( nIdTm, k - 1, GDB_ID.ROOT) Pocketing.vtToolDirection = vtNSplitFace + if Pocketing.bToolInvert then + Pocketing.vtToolDirection = -Pocketing.vtToolDirection + end if vtNSplitFace and AreSameVectorApprox( vtNSplitFace * EgtIf( Pocketing.bToolInvert, -1, 1), Strategy.Machining[j].vtFaceNormal) then Pocketing.Geometry = {{ nIdTm, k - 1}} bAreAllMachiningsAdded = bAreAllMachiningsAdded and MachiningLib.AddNewMachining( Proc, Pocketing) diff --git a/Strategies/Standard/STR0003/STR0003.lua b/Strategies/Standard/STR0003/STR0003.lua index a2fbba9..042aa6e 100644 --- a/Strategies/Standard/STR0003/STR0003.lua +++ b/Strategies/Standard/STR0003/STR0003.lua @@ -488,11 +488,11 @@ function STR0003.Make( bAddMachining, Proc, Part, CustomParameters) if Chainsaw.Result.Opposite[1].dResidualDepth > 10 * GEO.EPS_SMALL then Chainsaw.Result.Opposite[1].bIsApplicable = false local OptionalParameters = { bStopAtHalfElevation = true, dMaxElev = Blade.Result.Opposite[1].dResidualDepth + BeamData.CUT_EXTRA, dExtendAfterTail = dExtendAfterTail} - SlotByChainSaw.Make( Proc, Part, Proc.MainFaces.LongFaces[1], Proc.MainFaces.LongFaces[1].MainEdges.OppositeEdges[1], OptionalParameters) + Mortising = SlotByChainSaw.Make( Proc, Part, Proc.MainFaces.LongFaces[1], Proc.MainFaces.LongFaces[1].MainEdges.OppositeEdges[1], OptionalParameters) Chainsaw.AddResult( Mortising) OptionalParameters = {} OptionalParameters = { bStopAtHalfElevation = true, dMaxElev = Blade.Result.Opposite[2].dResidualDepth + BeamData.CUT_EXTRA, dExtendAfterTail = dExtendAfterTail} - SlotByChainSaw.Make( Proc, Part, Proc.MainFaces.LongFaces[1], Proc.MainFaces.LongFaces[1].MainEdges.OppositeEdges[2], OptionalParameters) + Mortising = SlotByChainSaw.Make( Proc, Part, Proc.MainFaces.LongFaces[1], Proc.MainFaces.LongFaces[1].MainEdges.OppositeEdges[2], OptionalParameters) Chainsaw.AddResult( Mortising) end end