From da23b96a9c4ef69e6d4c5d52eb68ee8fb7f50dc2 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Mon, 12 Jan 2026 16:48:10 +0100 Subject: [PATCH] Funzione per verificare se la lavorazione ostacola il pinzaggio spostata nella MachiningLib --- LuaLibs/MachiningLib.lua | 10 ++++++++++ Strategies/Standard/STR0005/STR0005.lua | 5 +++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/LuaLibs/MachiningLib.lua b/LuaLibs/MachiningLib.lua index 605ab30..374e5d7 100644 --- a/LuaLibs/MachiningLib.lua +++ b/LuaLibs/MachiningLib.lua @@ -96,6 +96,16 @@ function MachiningLib.CanExtendAfterTail( sCanDamageNextPiece, Part) return bCanExtendAfterTail end +------------------------------------------------------------------------------------------------------------- +function MachiningLib.IsFeatureHinderingClamping( Proc, Part) + local bFeatureHindersClamping + + local dFeatureMaxNotClampableLengthHead, dFeatureMaxNotClampableLengthTail = FeatureLib.GetFeatureMaxNotClampableLengths( Proc, Part) + bFeatureHindersClamping = FeatureLib.IsMachiningLong( max( dFeatureMaxNotClampableLengthHead, dFeatureMaxNotClampableLengthTail), Part, { dMaxSegmentLength = BeamData.LONGCUT_ENDLEN}) + + return bFeatureHindersClamping +end + ------------------------------------------------------------------------------------------------------------- function MachiningLib.GetMachiningSteps( dMachiningDepth, dStep) local MachiningSteps = {} diff --git a/Strategies/Standard/STR0005/STR0005.lua b/Strategies/Standard/STR0005/STR0005.lua index 5127c23..0258667 100644 --- a/Strategies/Standard/STR0005/STR0005.lua +++ b/Strategies/Standard/STR0005/STR0005.lua @@ -100,8 +100,9 @@ function STR0005.Make( bAddMachining, Proc, Part, CustomParameters) -- considerazioni necessarie a determinare se lavorare con codolo oppure no local bKeepWasteAttached = ( Strategy.Parameters.sCuttingStrategy == 'KEEP_WASTE_ATTACHED') local bDropWaste = ( Strategy.Parameters.sCuttingStrategy == 'DROP_WASTE') - local dFeatureMaxNotClampableLengthHead, dFeatureMaxNotClampableLengthTail = FeatureLib.GetFeatureMaxNotClampableLengths( Proc, Part) - local bFeatureHindersClamping = FeatureLib.IsMachiningLong( max( dFeatureMaxNotClampableLengthHead, dFeatureMaxNotClampableLengthTail), Part, { dMaxSegmentLength = BeamData.LONGCUT_ENDLEN}) + + local bFeatureHindersClamping = MachiningLib.IsFeatureHinderingClamping( Proc, Part) + local bIsFeatureLong = FeatureLib.IsMachiningLong( Proc.b3Box:getDimX(), Part, { dMaxSegmentLength = BeamData.LONGCUT_ENDLEN}) local bIsTwoFacesCommonEdgeTooLong = ( ( Proc.Topology and ( Proc.Topology.sName == 'Rabbet-2-Through' or Proc.Topology.sName == 'Bevel-2-Blind')) and IsTwoFacesCommonEdgeTooLong( Proc, Part))