From d47343aba9cda4540dabb7581edd67ea553ff4c6 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Mon, 10 Mar 2025 10:05:25 +0100 Subject: [PATCH] - in FACEBYBLADE piccola correzione --- StrategyLibs/BLADETOWASTE.lua | 11 ++++++----- StrategyLibs/FACEBYBLADE.lua | 4 ++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/StrategyLibs/BLADETOWASTE.lua b/StrategyLibs/BLADETOWASTE.lua index 112dd4d..882c0e6 100644 --- a/StrategyLibs/BLADETOWASTE.lua +++ b/StrategyLibs/BLADETOWASTE.lua @@ -136,14 +136,14 @@ local function GetBestBlade( Proc, Part, Face, OptionalParameters) end -local function GetEdgeToMachine( Edges, nToolIndex) +local function GetEdgeToMachine( Edges, bIsBottomBlade) local EdgeToMachine = {} local EdgesSorted = {} for i = 1, #Edges do table.insert( EdgesSorted, Edges[i]) end - if TOOLS[nToolIndex].SetupInfo.HeadType.bBottom then + if bIsBottomBlade then table.sort( EdgesSorted, CompareEdgesBottomHead) else table.sort( EdgesSorted, CompareEdgesTopHead) @@ -218,6 +218,10 @@ function BLADETOWASTE.Make( ProcOrId, Part, OptionalParameters) local Cutting = {} local EdgeToMachine = {} local dDepthToMachine = 0 + -- scelta lato da lavorare per testa sopra e sotto - si prevede perchè l'utensile non è ancora stato scelto + local EdgeToMachineBottomBlade = GetEdgeToMachine( Proc.Faces[1].Edges, true) + local EdgeToMachineTopBlade = GetEdgeToMachine( Proc.Faces[1].Edges, false) + dDepthToMachine = EdgeToMachine.dElevation + BeamData.CUT_EXTRA -- ricerca utensile if not nToolIndex then -- scelta lama da sopra o da sotto @@ -226,9 +230,6 @@ function BLADETOWASTE.Make( ProcOrId, Part, OptionalParameters) nToolIndex = GetBestBlade( Proc, Part, Proc.Faces[1], OptionalParameters) end end - -- scelta lato da lavorare - EdgeToMachine = GetEdgeToMachine( Proc.Faces[1].Edges, nToolIndex) - dDepthToMachine = EdgeToMachine.dElevation + BeamData.CUT_EXTRA local dResidualDepth = dDepthToMachine - TOOLS[nToolIndex].dMaxMaterial -- TODO qui gestire il caso in cui si può tagliare da due lati (inizialmente solo se vtN:Y è ~= 0?) diff --git a/StrategyLibs/FACEBYBLADE.lua b/StrategyLibs/FACEBYBLADE.lua index 59d127b..1754f7f 100644 --- a/StrategyLibs/FACEBYBLADE.lua +++ b/StrategyLibs/FACEBYBLADE.lua @@ -158,8 +158,8 @@ function FACEBYBLADE.Make( Proc, Part, FaceToMachine, EdgeToMachine, OptionalPar ToolSearchParameters.bForceLongcutBlade = bForceLongcutBlade local ToolInfo = MachiningLib.FindBlade( Proc, ToolSearchParameters) -- ora che l'utensile è scelto, se non era definito l'angolo di downUp lo verifico per decidere se invertire - if not dMinNzDownUp then - dMinNzDownUp = TOOLS[nToolIndex].SetupInfo.GetMinNzDownUp( Part.b3Raw, FaceToMachine.vtN, Cutting.vtToolDirection) + if ToolInfo.nToolIndex and not dMinNzDownUp then + dMinNzDownUp = TOOLS[ToolInfo.nToolIndex].SetupInfo.GetMinNzDownUp( Part.b3Raw, FaceToMachine.vtN, Cutting.vtToolDirection) if FaceToMachine.vtN:getZ() < dMinNzDownUp then Cutting.bToolInvert = true Cutting.bInvert = not Cutting.bInvert