diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index 63feadd..697ff84 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -5189,18 +5189,16 @@ function SawPlusChain.Saw.CalculateMachiningParameters( Proc, FaceToMachine, Edg Cutting.Message = 'Feature '.. Proc.FeatureId .. ' : strategy ' .. SawPlusChain.Name .. ' not applicable - saw blade not found' Cutting.CanApply = false EgtOutLog( Cutting.Message) - return Cutting end Cutting.Type = MCH_OY.MILLING Cutting.Tool = SawPlusChain.GetToolFromMachining( Cutting.Name) - -- verifica dimensioni tasca compatibili + -- verifica dimensioni tasca e direzione compatibili -- se tasca meno spessa della lama la strategia non è applicabile if Cutting.Tool.Thickness > dPocketHeight + 10 * GEO.EPS_SMALL then Cutting.Message = 'Feature '.. Proc.FeatureId .. ' : strategy ' .. SawPlusChain.Name .. ' not applicable - pocket too narrow for saw blade thickness' Cutting.CanApply = false EgtOutLog( Cutting.Message) - return Cutting end if #( Proc.MainFaces.SideFaces) > 1 then -- se tasca più stretta della lama la strategia non è applicabile @@ -5208,9 +5206,13 @@ function SawPlusChain.Saw.CalculateMachiningParameters( Proc, FaceToMachine, Edg Cutting.Message = 'Feature '.. Proc.FeatureId .. ' : strategy ' .. SawPlusChain.Name .. ' not applicable - pocket too narrow for saw blade diameter' Cutting.CanApply = false EgtOutLog( Cutting.Message) - return Cutting end end + if EdgeToMachine.ToolDirection:getZ() < BD.NZ_MINA then + Cutting.CanApply = false + Cutting.Message = 'Feature '.. Proc.FeatureId .. ' : skipped sawblade from bottom' + EgtOutLog( Cutting.Message) + end -- parametri della lavorazione -- inizio e fine aperti o chiusi @@ -5385,7 +5387,6 @@ function SawPlusChain.Chainsaw.CalculateMachiningParameters( Proc, FaceToMachine Mortising.Message = 'Feature '.. Proc.FeatureId .. ' : strategy ' .. SawPlusChain.Name .. ' not applicable - chainsaw not found' Mortising.CanApply = false EgtOutLog( Mortising.Message) - return Mortising end Mortising.Type = MCH_OY.MORTISING Mortising.Tool = SawPlusChain.GetToolFromMachining( Mortising.Name) @@ -5401,7 +5402,6 @@ function SawPlusChain.Chainsaw.CalculateMachiningParameters( Proc, FaceToMachine Mortising.Message = 'Feature '.. Proc.FeatureId .. ' : strategy ' .. SawPlusChain.Name .. ' not applicable - pocket too narrow for chainsaw thickness' Mortising.CanApply = false EgtOutLog( Mortising.Message) - return Mortising end if #( Proc.MainFaces.SideFaces) > 1 then -- se tasca più stretta della sega a catena la strategia non è applicabile @@ -5409,7 +5409,6 @@ function SawPlusChain.Chainsaw.CalculateMachiningParameters( Proc, FaceToMachine Mortising.Message = 'Feature '.. Proc.FeatureId .. ' : strategy ' .. SawPlusChain.Name .. ' not applicable - pocket too narrow for chainsaw width' Mortising.CanApply = false EgtOutLog( Mortising.Message) - return Mortising end end @@ -5568,9 +5567,9 @@ function SawPlusChain.Make( bOnlySaw, Proc, nRawId) local bIsCuttingOk = false if Cutting.CanApply then bIsCuttingOk, Cutting.Message = SawPlusChain.Saw.ApplyAllSteps( Cutting, b3Raw) - end - if not bIsCuttingOk then - return bIsCuttingOk, Cutting.Message + if not bIsCuttingOk then + return bIsCuttingOk, Cutting.Message + end end local dBottomDepthToMachine = Cutting.RadialOffset -- lato opposto del tunnel @@ -5579,9 +5578,9 @@ function SawPlusChain.Make( bOnlySaw, Proc, nRawId) bIsCuttingOk = false if Cutting.CanApply then bIsCuttingOk, Cutting.Message = SawPlusChain.Saw.ApplyAllSteps( Cutting, b3Raw) - end - if not bIsCuttingOk then - return bIsCuttingOk, Cutting.Message + if not bIsCuttingOk then + return bIsCuttingOk, Cutting.Message + end end else -- se la lama non è arrivata sul fondo e c'è almeno un lato aperto va lavorato @@ -5592,9 +5591,9 @@ function SawPlusChain.Make( bOnlySaw, Proc, nRawId) bIsCuttingOk = false if Cutting.CanApply then bIsCuttingOk, Cutting.Message = SawPlusChain.Saw.ApplyAllSteps( Cutting, b3Raw) - end - if not bIsCuttingOk then - return bIsCuttingOk, Cutting.Message + if not bIsCuttingOk then + return bIsCuttingOk, Cutting.Message + end end end -- eventuale lavorazione di lama - lato della tasca in cui finisce la lavorazione @@ -5603,9 +5602,9 @@ function SawPlusChain.Make( bOnlySaw, Proc, nRawId) bIsCuttingOk = false if Cutting.CanApply then bIsCuttingOk, Cutting.Message = SawPlusChain.Saw.ApplyAllSteps( Cutting, b3Raw) - end - if not bIsCuttingOk then - return bIsCuttingOk, Cutting.Message + if not bIsCuttingOk then + return bIsCuttingOk, Cutting.Message + end end end -- la lama è arrivata sul fondo e tasca passante, non servono ulteriori lavorazioni @@ -5639,9 +5638,9 @@ function SawPlusChain.Make( bOnlySaw, Proc, nRawId) bIsMortisingOk = false if Mortising.CanApply then bIsMortisingOk, Mortising.Message = SawPlusChain.Chainsaw.ApplyAllSteps( Mortising, b3Raw) - end - if not bIsMortisingOk then - return bIsMortisingOk, Mortising.Message + if not bIsMortisingOk then + return bIsMortisingOk, Mortising.Message + end end else -- se la sega a catena non è arrivata sul fondo e c'è almeno un lato aperto va lavorato @@ -5652,9 +5651,9 @@ function SawPlusChain.Make( bOnlySaw, Proc, nRawId) bIsMortisingOk = false if Mortising.CanApply then bIsMortisingOk, Mortising.Message = SawPlusChain.Chainsaw.ApplyAllSteps( Mortising, b3Raw) - end - if not bIsMortisingOk then - return bIsMortisingOk, Mortising.Message + if not bIsMortisingOk then + return bIsMortisingOk, Mortising.Message + end end end -- eventuale lavorazione di sega a catena - lato della tasca in cui finisce la lavorazione @@ -5663,9 +5662,9 @@ function SawPlusChain.Make( bOnlySaw, Proc, nRawId) bIsMortisingOk = false if Mortising.CanApply then bIsMortisingOk, Mortising.Message = SawPlusChain.Chainsaw.ApplyAllSteps( Mortising, b3Raw) - end - if not bIsMortisingOk then - return bIsMortisingOk, Mortising.Message + if not bIsMortisingOk then + return bIsMortisingOk, Mortising.Message + end end end end