From c82a27ebaeb16d9bc9635f86576f55717b45a23e Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Tue, 18 Feb 2025 17:44:13 +0100 Subject: [PATCH] - in ProcessDrill, per le forature passanti fatte da un solo lato, eventuale inversione foro in base al lato di lavoro e al lato testa dell'utensile scelto (BD.GetSetupInfo) --- LuaLibs/ProcessDrill.lua | 21 +++++++++++++++++++++ UpdateLog.txt | 3 +++ 2 files changed, 24 insertions(+) diff --git a/LuaLibs/ProcessDrill.lua b/LuaLibs/ProcessDrill.lua index 5dbde23..2e1187d 100644 --- a/LuaLibs/ProcessDrill.lua +++ b/LuaLibs/ProcessDrill.lua @@ -482,6 +482,27 @@ function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId) EgtOutLog( sErr) return false, sErr end + -- 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 + end + end -- Determino la faccia di inizio del foro e dati correlati local nFac, CosB, vFaces = GetHoleStartData( ptCen, vtExtr, b3Solid) -- Calcolo acciorciamento affondamento utile per evitare collisione portautensile con faccia diff --git a/UpdateLog.txt b/UpdateLog.txt index 4eb95b4..72dba62 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,5 +1,8 @@ ==== Beam Update Log ==== +Versione 2.7xx () +- Modif : in forature passanti orizzontali fatte da un solo lato, si inverte il lato di lavoro in base all'utensile scelto + Versione 2.7b2 (05/02/2025) - Modif : si consentono DrillPocket in doppio solo se foro non passante