diff --git a/LuaLibs/MachiningLib.lua b/LuaLibs/MachiningLib.lua index 51c5c1e..0752e39 100644 --- a/LuaLibs/MachiningLib.lua +++ b/LuaLibs/MachiningLib.lua @@ -283,6 +283,10 @@ local function IsFaceZOutOfRange ( vtNFace, Tool) return false end +------------------------------------------------------------------------------------------------------------- +-- si controlla la collisione con il carro Z nei 2 piani globali X e Y (si considera infinitamente alto in Z). Se c'è collisione in entrambi i piani, il carro sarà in collisione. + + ------------------------------------------------------------------------------------------------------------- -- nel piano perpendicolare alla direzione di taglio, se c'è intersezione tra motore e trave c'è collisione local function Check2DBladeCollision( Edge, vtNFace, vtHead, Part, Tool, dDepthToMachine) diff --git a/StrategyLibs/BLADETOWASTE.lua b/StrategyLibs/BLADETOWASTE.lua index 2d3db48..8226c12 100644 --- a/StrategyLibs/BLADETOWASTE.lua +++ b/StrategyLibs/BLADETOWASTE.lua @@ -371,6 +371,7 @@ local function GetSingleCutStrategy( Proc, Part, OptionalParameters) } local sChosenBladeType + local bIsFastCut = false local OptionalParametersGetBestBlade = { EdgeToMachineTop = EdgeToMachineList.Top, @@ -398,7 +399,7 @@ local function GetSingleCutStrategy( Proc, Part, OptionalParameters) OptionalParametersGetBestBlade.EdgeToMachineBottom = EdgeToMachineList.Bottom nToolIndex, sChosenBladeType = GetBestBlade( Proc, Part, FaceToMachine, OptionalParametersGetBestBlade) - sChosenBladeType = sChosenBladeType .. 'Fast' + bIsFastCut = true end @@ -410,7 +411,7 @@ local function GetSingleCutStrategy( Proc, Part, OptionalParameters) OptionalParametersGetBestBlade.EdgeToMachineBottom = EdgeToMachineList.Bottom nToolIndex, sChosenBladeType = GetBestBlade( Proc, Part, FaceToMachine, OptionalParametersGetBestBlade) - sChosenBladeType = sChosenBladeType .. 'Fast' + bIsFastCut = true end -- se possibile, upgrade del taglio tipo 'Top' a taglio a ghigliottina. Si tenta anche se il taglio singolo non è riuscito. @@ -438,7 +439,13 @@ local function GetSingleCutStrategy( Proc, Part, OptionalParameters) end end - return nToolIndex, EdgeToMachineList[sChosenBladeType], sChosenBladeType + -- se taglio su lati brutti si cambia il tipo + local sChosenBladeTypeOriginal = sChosenBladeType + if bIsFastCut then + sChosenBladeType = sChosenBladeType .. 'Fast' + end + + return nToolIndex, EdgeToMachineList[sChosenBladeTypeOriginal], sChosenBladeType end