From b88caa12ab77c9810f4021f50421f28745c5d04f Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Tue, 25 Feb 2025 11:23:16 +0100 Subject: [PATCH] - in BeamLib GetToolFromMachining aggiunte informazioni testa - in ProcessDrill modifiche alla gestione lato preferenziale --- LuaLibs/BeamLib.lua | 6 ++++++ LuaLibs/ProcessDrill.lua | 23 +++++++---------------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/LuaLibs/BeamLib.lua b/LuaLibs/BeamLib.lua index 0d7e533..e968fca 100644 --- a/LuaLibs/BeamLib.lua +++ b/LuaLibs/BeamLib.lua @@ -1345,6 +1345,12 @@ function BeamLib.GetToolFromMachining( sMachiningName) Tool.IsCCW = ( EgtMdbGetCurrMachiningParam( MCH_MP.SPEED) < 0) Tool.Type = EgtTdbGetCurrToolParam( MCH_TP.TYPE) Tool.Diameter = EgtTdbGetCurrToolParam( MCH_TP.DIAM) or 0 + Tool.HeadType = {} + Tool.PreferredSide = {} + if BD.GetSetupInfo then + Tool.HeadType = BD.GetSetupInfo( EgtTdbGetCurrToolParam( MCH_TP.HEAD)).HeadType + Tool.PreferredSide = BD.GetSetupInfo( EgtTdbGetCurrToolParam( MCH_TP.HEAD)).PreferredSide + end -- lama if Tool.Type == MCH_TY.SAW_STD or Tool.Type == MCH_TY.SAW_FLAT then Tool.Thickness = EgtTdbGetCurrToolParam(MCH_TP.THICK) or 0 diff --git a/LuaLibs/ProcessDrill.lua b/LuaLibs/ProcessDrill.lua index 2e1187d..2da58bf 100644 --- a/LuaLibs/ProcessDrill.lua +++ b/LuaLibs/ProcessDrill.lua @@ -485,22 +485,13 @@ function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId) -- eventuale inversione foro in base al lato di lavoro e al lato testa dell'utensile scelto -- se non giĆ  richiesta inversione e foro quasi orizzontale (15deg) passante if not bToInvert and Proc.Flg == 1 and bOpen and abs( vtExtr:getZ()) < 0.259 and abs( vtExtr:getY()) > 0.966 then - if BD.GetSetupInfo then - if EgtMdbSetCurrMachining( sDrilling or '') then - local sTuuid = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID) - local sHead = '' - if EgtTdbSetCurrTool( EgtTdbGetToolFromUUID( sTuuid or '') or '') then - sHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD) - end - local SetupInfo = BD.GetSetupInfo( sHead) - -- lato testa e lato di lavoro devono corrispondere - if ( ( SetupInfo.bIsFrontHead == true) and vtExtr:getY() > 10 * GEO.EPS_SMALL) - or ( ( SetupInfo.bIsBackHead == false) and vtExtr:getY() < - 10 * GEO.EPS_SMALL) then - ptCen = ptCen - vtExtr * dLen - vtExtr = - vtExtr - bToInvert = true - end - end + local Tool = BL.GetToolFromMachining( sDrilling) + -- lato testa e lato di lavoro devono corrispondere + if ( ( Tool.PreferredSide.bFront == true) and vtExtr:getY() > 10 * GEO.EPS_SMALL) + or ( ( Tool.PreferredSide.bBack == true) and vtExtr:getY() < - 10 * GEO.EPS_SMALL) then + ptCen = ptCen - vtExtr * dLen + vtExtr = - vtExtr + bToInvert = true end end -- Determino la faccia di inizio del foro e dati correlati