diff --git a/LuaLibs/ProcessDrill.lua b/LuaLibs/ProcessDrill.lua index a20505f..d29dd7c 100644 --- a/LuaLibs/ProcessDrill.lua +++ b/LuaLibs/ProcessDrill.lua @@ -597,6 +597,8 @@ function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId) local nSCC = MCH_SCC.NONE if bDrillAngTrasm then nSCC = MCH_SCC.ADIR_NEAR + elseif BD.TURN == 2 then + nSCC = MCH_SCC.ADIR_ZP elseif not BD.C_SIMM and not BD.TURN then nSCC = MCH_SCC.ADIR_YM if AreSameVectorApprox( vtExtr, Z_AX()) then diff --git a/LuaLibs/ProcessDtMortise.lua b/LuaLibs/ProcessDtMortise.lua index aa14f59..ad4e66a 100644 --- a/LuaLibs/ProcessDtMortise.lua +++ b/LuaLibs/ProcessDtMortise.lua @@ -274,6 +274,7 @@ function ProcessDtMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) local dMaxMat = 30 local dSideAng = 0 local bCW = true + local bMillOnAggregate = sMchExt == '_AT' if EgtMdbSetCurrMachining( sMilling) then local sTuuid = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID) if EgtTdbSetCurrTool( EgtTdbGetToolFromUUID( sTuuid) or '') then @@ -345,11 +346,20 @@ function ProcessDtMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) end -- eventuale calcolo SCC local nSCC - if BD.TURN and not bPocket then - if abs( vtAx:getY()) > abs( vtAx:getZ()) then - nSCC = EgtIf( vtAx:getY() > 0, MCH_SCC.ADIR_YP, MCH_SCC.ADIR_YM) - else - nSCC = EgtIf( vtAx:getZ() > 0, MCH_SCC.ADIR_ZP, MCH_SCC.ADIR_ZM) + if BD.TURN then + if not bPocket then + if abs( vtAx:getY()) > abs( vtAx:getZ()) then + nSCC = EgtIf( vtAx:getY() > 0, MCH_SCC.ADIR_YP, MCH_SCC.ADIR_YM) + else + nSCC = EgtIf( vtAx:getZ() > 0, MCH_SCC.ADIR_ZP, MCH_SCC.ADIR_ZM) + end + end + -- se aggregato e rivolto verso Z-, si accede da lato aperto + elseif bMillOnAggregate and AreSameVectorApprox( vtExtr, -Z_AX()) then + if Proc.AffectedFaces.Back then + nSCC = MCH_SCC.ADIR_YP + elseif Proc.AffectedFaces.Front then + nSCC = MCH_SCC.ADIR_YM end end -- flag di mirror precedente aggiornabile localmente diff --git a/LuaLibs/ProcessDtTenon.lua b/LuaLibs/ProcessDtTenon.lua index e2e2a5c..ce528d3 100644 --- a/LuaLibs/ProcessDtTenon.lua +++ b/LuaLibs/ProcessDtTenon.lua @@ -46,9 +46,9 @@ local function VerifyOrientation( Proc, vtN, b3Raw) -- se macchina Fast, pezzo stretto e inclinazione laterale non eccessiva, accetto fino a -27deg elseif ( not BD.C_SIMM) and abs( vtN:getY()) < 0.5 and b3Raw:getDimY() < 150.1 then return ( vtN:getZ() >= -0.454) - -- altrimenti accetto fino a -21deg + -- altrimenti accetto fino a -23.5deg else - return ( vtN:getZ() >= -0.359) + return ( vtN:getZ() >= -0.399) end -- se trave medio-bassa elseif b3Raw:getDimZ() < 281 then diff --git a/LuaLibs/ProcessFreeContour.lua b/LuaLibs/ProcessFreeContour.lua index c7f00ca..3790731 100644 --- a/LuaLibs/ProcessFreeContour.lua +++ b/LuaLibs/ProcessFreeContour.lua @@ -471,7 +471,9 @@ local function MakeByMill( Proc, nPhase, nRawId, nPartId, dOvmHead) end -- posizione braccio porta testa local nSCC = MCH_SCC.NONE - if not BD.C_SIMM then + if BD.TURN == 2 then + nSCC = MCH_SCC.ADIR_ZP + elseif not BD.C_SIMM then if Proc.Head then nSCC = MCH_SCC.ADIR_XP elseif Proc.Tail then @@ -539,7 +541,9 @@ local function MakeByMill( Proc, nPhase, nRawId, nPartId, dOvmHead) end -- posizione braccio porta testa local nSCC = MCH_SCC.NONE - if not BD.C_SIMM then + if BD.TURN == 2 then + nSCC = MCH_SCC.ADIR_ZP + elseif not BD.C_SIMM then if Proc.Head then nSCC = MCH_SCC.ADIR_XP elseif Proc.Tail then @@ -695,7 +699,9 @@ local function MakeByMill( Proc, nPhase, nRawId, nPartId, dOvmHead) -- posizione braccio porta testa local nSCC = MCH_SCC.NONE - if not BD.C_SIMM then + if BD.TURN == 2 then + nSCC = MCH_SCC.ADIR_ZP + elseif not BD.C_SIMM then if Proc.Head then nSCC = MCH_SCC.ADIR_XP elseif Proc.Tail then @@ -826,7 +832,9 @@ local function MakeByPocket( Proc, nPhase, nRawId, nPartId, dOvmHead) EgtSetMachiningParam( MCH_MP.OFFSR, dExtra) -- posizione braccio porta testa local nSCC = MCH_SCC.NONE - if not BD.C_SIMM then + if BD.TURN == 2 then + nSCC = MCH_SCC.ADIR_ZP + elseif not BD.C_SIMM then if Proc.Head then nSCC = MCH_SCC.ADIR_XP elseif Proc.Tail then diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index dc928d3..1931197 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -3478,7 +3478,7 @@ local function MakePocket( Proc, nPartId, b3Solid, ptPs, tvtN, nFaceRef, sMchFin sWarn = 'Warning on pocketing ' .. sName .. ': machining can damage next piece. Minimum distance needed : ' .. ( 1 + dDiamTool / 2) .. ' mm' EgtOutLog( sWarn) end - if BD.TURN then + if BD.TURN and BD.TURN ~= 2 then -- centro del pezzo local ptCen = ORIG() if b3Solid then ptCen = b3Solid:getCenter() end diff --git a/LuaLibs/ProcessLongDoubleCut.lua b/LuaLibs/ProcessLongDoubleCut.lua index 846c42f..55cbd9f 100644 --- a/LuaLibs/ProcessLongDoubleCut.lua +++ b/LuaLibs/ProcessLongDoubleCut.lua @@ -1311,6 +1311,9 @@ function ProcessLong2Cut.Make( Proc, nPhase, nRawId, nPartId, bForcedBladeMaster if nSide == 1 or nSide == -1 then local bFromYM = (( vtN[vOrd[i]]:getY() < 0 and bConvex) or ( vtN[vOrd[i]]:getY() > 0 and not bConvex)) nSCC = EgtIf( bFromYM, MCH_SCC.ADIR_YM, MCH_SCC.ADIR_YP) + if BD.TURN == 2 and not bFromYM then + nSCC = EgtIf( nSide == -1, MCH_SCC.ADIR_ZM, MCH_SCC.ADIR_ZP) + end else local bFromZM = (( vtN[vOrd[i]]:getZ() < 0 and bConvex) or ( vtN[vOrd[i]]:getZ() > 0 and not bConvex)) nSCC = EgtIf( bFromZM, MCH_SCC.ADIR_ZM, MCH_SCC.ADIR_ZP) diff --git a/LuaLibs/ProcessProfCamb.lua b/LuaLibs/ProcessProfCamb.lua index 831cbbb..b2f8a72 100644 --- a/LuaLibs/ProcessProfCamb.lua +++ b/LuaLibs/ProcessProfCamb.lua @@ -639,7 +639,13 @@ function ProcessProfCamb.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) EgtSetMachiningParam( MCH_MP.DEPTH, dDepth) end -- posizione braccio porta testa - EgtSetMachiningParam( MCH_MP.SCC, EgtIf( bHead, MCH_SCC.ADIR_XP, MCH_SCC.ADIR_XM)) + local nSCC = MCH_SCC.ADIR_NONE + if BD.TURN == 2 then + nSCC = MCH_SCC.ADIR_ZP + else + nSCC = EgtIf( bHead, MCH_SCC.ADIR_XP, MCH_SCC.ADIR_XM) + end + EgtSetMachiningParam( MCH_MP.SCC, nSCC) -- variabili per gestione direzione percorso e per gestione lavorazione di finitura opzionale local ptSP, ptEp local bFinish diff --git a/LuaLibs/ProcessRoundArch.lua b/LuaLibs/ProcessRoundArch.lua index 3eff86e..4765750 100644 --- a/LuaLibs/ProcessRoundArch.lua +++ b/LuaLibs/ProcessRoundArch.lua @@ -239,6 +239,8 @@ function ProcessRoundArch.Make( Proc, nPhase, nRawId, nPartId, dOvmHead) elseif AreSameOrOppositeVectorApprox( vtExtr, Z_AX()) then nSCC = MCH_SCC.ADIR_YP end + elseif BD.TURN == 2 then + nSCC = MCH_SCC.ADIR_ZP elseif BD.TURN then if vtN:getZ() > 0.707 then nSCC = MCH_SCC.ADIR_ZP diff --git a/UpdateLog.txt b/UpdateLog.txt index 17f3d3e..c03e8fe 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,5 +1,9 @@ ==== Beam Update Log ==== - + +Versione 2.7f1 (03/06/2025) +- Modif : in tenone coda di rondine modificato angolo limite tenone per lavorazione in sottosquadro +- Modif : migliorie per lavorazioni su aggregato + Versione 2.7e2 (23/05/2025) - Modif : in tagli di lama migliorie alla scelta del lato da lavorare - Modif : in mortasa coda di rondine migliorati i percorsi diff --git a/Version.lua b/Version.lua index 0884bc1..737836e 100644 --- a/Version.lua +++ b/Version.lua @@ -2,5 +2,5 @@ -- Gestione della versione di Beam NAME = 'Beam' -VERSION = '2.7e2' +VERSION = '2.7f1' MIN_EXE = '2.6e5'