From b0531f8df8dcfaddb9d890adafaa1a8ff9a068a4 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Mon, 2 Feb 2026 09:50:52 +0100 Subject: [PATCH] - in STR0012 la faccia aggiuntiva viene sempre estesa fino al grezzo --- Strategies/Standard/STR0012/STR0012.lua | 10 ++++++++-- StrategyLibs/FACEBYBLADE.lua | 9 ++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Strategies/Standard/STR0012/STR0012.lua b/Strategies/Standard/STR0012/STR0012.lua index 9b5bcbc..949a492 100644 --- a/Strategies/Standard/STR0012/STR0012.lua +++ b/Strategies/Standard/STR0012/STR0012.lua @@ -73,8 +73,14 @@ function STR0012.Make( bAddMachining, Proc, Part, CustomParameters) if not( AreSameVectorApprox( Proc.Faces[nAddedFace + 1].vtN, X_AX()) and abs( Proc.Faces[nAddedFace + 1].ptCenter:getX() - Part.b3Part:getMax():getX()) < 10 * GEO.EPS_SMALL) and not( AreSameVectorApprox( Proc.Faces[nAddedFace + 1].vtN, -X_AX()) and abs( Proc.Faces[nAddedFace + 1].ptCenter:getX() - Part.b3Part:getMin():getX()) < 10 * GEO.EPS_SMALL) then - -- faccia aggiuntiva da lavorare - idAddedTmFace = EgtCopySurfTmFacet( Proc.id, nAddedFace, nAddGrpId) + -- faccia aggiuntiva da lavorare: si estende fino al box della parte + local idAddGroup + if bAddMachining then + idAddGroup = BeamLib.GetAddGroup( Part.id) + else + idAddGroup = Part.idTempGroup + end + idAddedTmFace = EgtSurfTmPlaneInBBox( idAddGroup, Proc.Faces[nAddedFace + 1].ptCenter, Proc.Faces[nAddedFace + 1].vtN, Part.b3Part, GDB_ID.ROOT) end -- rimozione della terza faccia dalla Proc diff --git a/StrategyLibs/FACEBYBLADE.lua b/StrategyLibs/FACEBYBLADE.lua index 9afe10f..389b2aa 100644 --- a/StrategyLibs/FACEBYBLADE.lua +++ b/StrategyLibs/FACEBYBLADE.lua @@ -51,23 +51,22 @@ local function GetLeadInOut( Machining, EdgeToMachine, bIsSplitFeature) end -- in caso di percorso ridotto gli attacchi vanno adeguati - --TODO VEDERE SE IL CALCOLO E' CORRETTO if Machining.sEdgeUsage == 'Guillotine' then local dGuillotineLengthToMachine = 1 LeadIn.dStartAddLength = ( - EdgeToMachine.dLength + dGuillotineLengthToMachine) / 2 LeadOut.dEndAddLength = ( - EdgeToMachine.dLength + dGuillotineLengthToMachine) / 2 - LeadIn.dPerpDistance = LeadIn.dPerpDistance - Machining.dRadialOffset + LeadIn.dPerpDistance = EdgeToMachine.dElevation + BeamData.CUT_SIC - Machining.dRadialOffset LeadIn.dTangentDistance = 0 - LeadOut.dPerpDistance = LeadOut.dPerpDistance - Machining.dRadialOffset + LeadOut.dPerpDistance = EdgeToMachine.dElevation + BeamData.CUT_SIC - Machining.dRadialOffset LeadOut.dTangentDistance = 0 LeadIn.dTotalLength = sqrt( LeadIn.dPerpDistance ^ 2 + LeadIn.dTangentDistance ^ 2) LeadOut.dTotalLength = sqrt( LeadOut.dPerpDistance ^ 2 + LeadOut.dTangentDistance ^ 2) elseif Machining.sEdgeUsage == 'Reduced' then LeadIn.dStartAddLength = - FACEBYBLADE.GetPathReductionLength( Machining.nToolIndex, Machining.dMaxRadialOffset) LeadOut.dEndAddLength = - FACEBYBLADE.GetPathReductionLength( Machining.nToolIndex, Machining.dMaxRadialOffset) - LeadIn.dPerpDistance = LeadIn.dPerpDistance - Machining.dRadialOffset + LeadIn.dPerpDistance = EdgeToMachine.dElevation + BeamData.CUT_SIC - Machining.dRadialOffset LeadIn.dTangentDistance = 0 - LeadOut.dPerpDistance = LeadOut.dPerpDistance - Machining.dRadialOffset + LeadOut.dPerpDistance = EdgeToMachine.dElevation + BeamData.CUT_SIC - Machining.dRadialOffset LeadOut.dTangentDistance = 0 LeadIn.dTotalLength = sqrt( LeadIn.dPerpDistance ^ 2 + LeadIn.dTangentDistance ^ 2) LeadOut.dTotalLength = sqrt( LeadOut.dPerpDistance ^ 2 + LeadOut.dTangentDistance ^ 2)