diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 1de34e8..ebc40cb 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -1067,12 +1067,12 @@ local function OrderFeatures( vProc, b3Raw, nPartId) return ( B1.Box:getMax():getX() + dDrillPenalty > B2.Box:getCenter():getX()) end -- se prima è mortasa coda di rondine sul fianco e secondo taglio longitudinale, la coda di rondine va sempre prima - if DtMortise.SideIdentify(B1) and ( LongCut.Identify(B2) or Long2Cut.Identify(B2)) and + if DtMortise.SideIdentify(B1) and ( LongCut.Identify(B2) or Long2Cut.Identify(B2) or LapJoint.Identify( B2)) and OverlapsX( B1.Box, B2.Box) then return true end -- se primo è taglio longitudinale e seconda è mortasa coda di rondine sul fianco, il taglio longitudinale va sempre dopo - if ( LongCut.Identify(B1) or Long2Cut.Identify(B1)) and DtMortise.SideIdentify(B2) and + if ( LongCut.Identify(B1) or Long2Cut.Identify(B1) or LapJoint.Identify( B1)) and DtMortise.SideIdentify(B2) and OverlapsX( B1.Box, B2.Box) then return false end diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index 4f9e852..329960c 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -200,6 +200,7 @@ local function AssignQIdent( Proc) Q_STAIRCASE = '' Q_SAW_PLUS_CHAIN = 'Q11' Q_FORCE_CHAINSAW = 'Q12' + Q_ANTISPLINT_DEPTH = 'Q18' -- i -- TODO da riportare a Q13 quando è sistemata la gestione del movimento in macchina nell'attacco laterale Q_CHAINSAW_FROM_SIDE = 'Q999' Q_CONVENTIONAL_MILLING = '' @@ -234,7 +235,7 @@ local function AssignQIdent( Proc) Q_CONVENTIONAL_MILLING = 'Q14' -- i Q_CLEAN_CORNER = 'Q15' -- i Q_FLOATING_AGGREGATE = 'Q16' -- i - Q_DIM_STRIP = 'Q17' -- d + Q_DIM_STRIP = 'Q17' -- d elseif ( Proc.Grp == 1 or Proc.Grp == 2) and Proc.Prc == 30 then Q_BLADE_ON_ALONG_FACE = 'Q04' -- i elseif ( Proc.Grp == 3 or Proc.Grp == 4) and Proc.Prc == 32 then @@ -7987,6 +7988,10 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa end -- leggo parametro Q local nQAntisplintResult = EgtGetInfo( Proc.Id, Q_ANTISPLINT_TYPE, 'i') or 0 + local nQLimitAntiSplintDepth = EgtGetInfo( Proc.Id, Q_ANTISPLINT_DEPTH, 'i') or 0 + + -- se abilitato la profondita al di sotto la quale NON si vuole antischeggia, controllo elevazione e annullo antischeggia + if nQLimitAntiSplintDepth > 0 and nQLimitAntiSplintDepth + 100 * GEO.EPS_SMALL > dFacElev then nQAntisplintResult = 0 end -- se lavorazione fresa come lama disabilito eventuale antischeggia if bSpecialMillOnSide then nQAntisplintResult = 0 end diff --git a/LuaLibs/ProcessScarfJoint.lua b/LuaLibs/ProcessScarfJoint.lua index bd7adb9..03d4d1e 100644 --- a/LuaLibs/ProcessScarfJoint.lua +++ b/LuaLibs/ProcessScarfJoint.lua @@ -524,9 +524,9 @@ function ProcessScarfJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, dOvmTa local dDiamMax -- se normale verso Y (in orizzontale) if abs(vtRef:getY()) > 0.866 then - dDiamMax = EgtIf( abs( frMor:getVersX():getZ()) < abs( frMor:getVersY():getY()), dL, dW) + dDiamMax = EgtIf( abs( frMor:getVersX():getZ()) - 10 * GEO.EPS_SMALL < abs( frMor:getVersY():getY()), dL, dW) else - dDiamMax = EgtIf( abs( frMor:getVersX():getY()) < abs( frMor:getVersY():getY()), dL, dW) + dDiamMax = EgtIf( abs( frMor:getVersX():getY()) < abs( frMor:getVersY():getY()) - 10 * GEO.EPS_SMALL, dL, dW) end -- determino la distanza tra le due facce inclinate per determinare elevazione local dDistFaces @@ -536,9 +536,9 @@ function ProcessScarfJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, dOvmTa if vFaceOrd[1] ~= 0 then frMor, dL, dW = EgtSurfTmFacetMinAreaRectangle( Proc.Id, vFaceOrd[1]-1, GDB_ID.ROOT) if abs(vtRef:getY()) > 0.866 then - nElevationFace1 = EgtIf( abs( frMor:getVersX():getZ()) < abs( frMor:getVersY():getY()), dL, dW) + nElevationFace1 = EgtIf( abs( frMor:getVersX():getZ()) < abs( frMor:getVersY():getY()) - 10 * GEO.EPS_SMALL, dL, dW) else - nElevationFace1 = EgtIf( abs( frMor:getVersX():getY()) < abs( frMor:getVersY():getY()), dL, dW) + nElevationFace1 = EgtIf( abs( frMor:getVersX():getY()) < abs( frMor:getVersY():getY()) - 10 * GEO.EPS_SMALL, dL, dW) end end dDistFaces = max( abs((ptC[vFaceOrd[2]]-ptC[vFaceOrd[4]])*vtN[vFaceOrd[2]]), nElevationFace1) diff --git a/UpdateLog.txt b/UpdateLog.txt index e1fb7ab..cf3c82f 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,5 +1,10 @@ ==== Beam Update Log ==== +Versione 3.1i1 (07/09/2026) +- Added : In LapJoint aggiunto parametro Q18 al di sotto del quale non viene mai fatta antischeggia +- Modif : In ScarfJoint, aggiunta tolleranza su controllo versori +- Modif : Mortasa a coda di rondine da fare prima di un LapJoint che l'attraversa + Versione 3.1h2 (24/08/2026) - Fixed : in Drill - Fori in doppio con utensili lunghi, corretto calcolo LastStep - Fixed : AntiSplintBySaw - Se inverte lavorazione, inverte anche i parametri di LeadIn e LeadOut diff --git a/Version.lua b/Version.lua index a0e55f1..43b115b 100644 --- a/Version.lua +++ b/Version.lua @@ -2,5 +2,5 @@ -- Gestione della versione di Beam NAME = 'Beam' -VERSION = '3.1h2' +VERSION = '3.1i1' MIN_EXE = '3.1b1'