diff --git a/LuaLibs/ProcessCut.lua b/LuaLibs/ProcessCut.lua index 3ac3f4f..064e709 100644 --- a/LuaLibs/ProcessCut.lua +++ b/LuaLibs/ProcessCut.lua @@ -63,7 +63,7 @@ function ProcessCut.Classify( Proc, b3Raw) if ( BD.C_SIMM and BD.DOWN_HEAD) or BD.TURN then return true end - local bForceNoBeamRotation = EgtGetInfo( Proc.Id, 'Q18', 'd') or 0 == 1 + local bForceNoBeamRotation = ( EgtGetInfo( Proc.Id, 'Q18', 'i') == 1) -- recupero i dati del taglio local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, 0, GDB_ID.ROOT) -- calcolo le massime estensioni lineari orizzontale e verticale della faccia diff --git a/LuaLibs/ProcessDtMortise.lua b/LuaLibs/ProcessDtMortise.lua index dcaf46a..720c031 100644 --- a/LuaLibs/ProcessDtMortise.lua +++ b/LuaLibs/ProcessDtMortise.lua @@ -362,7 +362,7 @@ function ProcessDtMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) dMaxMat = 30 dSideAng = 0 bCW = true - bMillOnAggregate = sMchExt == '_AT' + bMillOnAggregate = ( sMchExt == '_AT') if EgtMdbSetCurrMachining( sMilling) then local sTuuid = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID) if EgtTdbSetCurrTool( EgtTdbGetToolFromUUID( sTuuid) or '') then @@ -424,8 +424,16 @@ function ProcessDtMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) end -- aggiungo geometria EgtSetMachiningGeometry( {{ Aux2Id, -1}}) - -- dichiaro non si generano sfridi per VMill + -- recupero note utente per aggiornarle local sUserNotes = EgtGetMachiningParam( MCH_MP.USERNOTES) or '' + -- eventuali impostazioni per 3° asse rot + local sAuxDir, sInitAngs = BL.GetAuxDir( sPocketing, "", b3Solid, vtExtr, vtExtr) + if sAuxDir then + sUserNotes = EgtSetValInNotes( sUserNotes, 'VtAuxDir', sAuxDir) + EgtSetMachiningParam( MCH_MP.INITANGS, sInitAngs) + EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.STD) + end + -- dichiaro non si generano sfridi per VMill sUserNotes = EgtSetValInNotes( sUserNotes, 'MaxElev', EgtNumToString( dMaxMat - 0.1, 1)) sUserNotes = EgtSetValInNotes( sUserNotes, 'VMRS', 0) EgtSetMachiningParam( MCH_MP.USERNOTES, sUserNotes) @@ -537,8 +545,16 @@ function ProcessDtMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) if nSCC then EgtSetMachiningParam( MCH_MP.SCC, nSCC) end - -- dichiaro non si generano sfridi per VMill + -- recupero note utente per aggiornarle local sUserNotes = EgtGetMachiningParam( MCH_MP.USERNOTES) or '' + -- eventuali impostazioni per 3° asse rot + local sAuxDir, sInitAngs = BL.GetAuxDir( sMilling, "", b3Solid, vtExtr, vtExtr) + if sAuxDir then + sUserNotes = EgtSetValInNotes( sUserNotes, 'VtAuxDir', sAuxDir) + EgtSetMachiningParam( MCH_MP.INITANGS, sInitAngs) + EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.STD) + end + -- dichiaro non si generano sfridi per VMill sUserNotes = EgtSetValInNotes( sUserNotes, 'MaxElev', EgtNumToString( dAltMort, 1)) sUserNotes = EgtSetValInNotes( sUserNotes, 'VMRS', 0) -- se lavorazione in doppio @@ -697,12 +713,20 @@ function ProcessDtMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) if nSCC then EgtSetMachiningParam( MCH_MP.SCC, nSCC) end + -- recupero note utente per aggiornarle + local sUserNotes = EgtGetMachiningParam( MCH_MP.USERNOTES) or '' + -- eventuali impostazioni per 3° asse rot + local sAuxDir, sInitAngs = BL.GetAuxDir( sMilling, "", b3Solid, vtExtr, vtExtr) + if sAuxDir then + sUserNotes = EgtSetValInNotes( sUserNotes, 'VtAuxDir', sAuxDir) + EgtSetMachiningParam( MCH_MP.INITANGS, sInitAngs) + EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.STD) + end -- dichiaro massima elevazione e assenza sfridi per VMill local dMaxElev = dMaxMat if bMultipleZPasses then dMaxElev = dVerticalStep end - local sUserNotes = EgtGetMachiningParam( MCH_MP.USERNOTES) or '' sUserNotes = EgtSetValInNotes( sUserNotes, 'MaxElev', EgtNumToString( dMaxElev - 0.1, 1)) sUserNotes = EgtSetValInNotes( sUserNotes, 'VMRS', 0) -- in presenza di pocket dichiaro che non sto entrando e uscendo nel grezzo diff --git a/LuaLibs/ProcessHeadCut.lua b/LuaLibs/ProcessHeadCut.lua index 67a3465..e075c0d 100644 --- a/LuaLibs/ProcessHeadCut.lua +++ b/LuaLibs/ProcessHeadCut.lua @@ -162,10 +162,11 @@ end --------------------------------------------------------------------- -- smussi in testa local function MakeHeadChamfer( idProc, nPartId) + local dDepthHeadChamfer = EgtGetInfo( idProc, 'Q08', 'd') or 0 -- se non attivo esco subito if dDepthHeadChamfer < 100 * GEO.EPS_SMALL then - return + return true, nil end -- recupero gruppo per geometria aggiuntiva @@ -640,11 +641,12 @@ function ProcessHeadCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, bNeedHCut local bOk, sErr = MakeStandardCuts( Proc, b3Raw, nCuts, dOffsL, HeadCutType, Cutting1Data, Cutting2Data, nil, dOvmHead) - -- alla fine del taglio si aggiungono gli smussi in testa local _, sErrHeadChamfer = MakeHeadChamfer( nOriId or Proc.Id, nPartId) if sErr then - sErr = sErr..'\n'..sErrHeadChamfer + if sErrHeadChamfer then + sErr = sErr..'\n'..sErrHeadChamfer + end else sErr = sErrHeadChamfer end diff --git a/Version.lua b/Version.lua index 8d60f54..f09b9a3 100644 --- a/Version.lua +++ b/Version.lua @@ -1,6 +1,6 @@ --- Version.lua by Egaltech s.r.l. 2026/02/09 +-- Version.lua by Egaltech s.r.l. 2026/05/31 -- Gestione della versione di Beam NAME = 'Beam' -VERSION = '3.1e1' +VERSION = '3.1e2' MIN_EXE = '3.1b1'