diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index a61c4c9..ec4a7c2 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -254,12 +254,15 @@ local function IsTailFeature( Proc, b3Raw, dCurrOvmH) if LapJoint.Identify( Proc) then return LapJoint.IsTailFeature( Proc, b3Raw) end - if RoundArch.Identify( Proc) then - return RoundArch.IsTailFeature( Proc, b3Raw) - end if Drill.Identify( Proc) then return Drill.IsTailFeature( Proc, b3Raw) end + if DtMortise.Identify( Proc) then + return DtMortise.IsTailFeature( Proc, b3Raw) + end + if RoundArch.Identify( Proc) then + return RoundArch.IsTailFeature( Proc, b3Raw) + end if FreeContour.Identify( Proc) then return FreeContour.IsTailFeature( Proc, b3Raw) end diff --git a/LuaLibs/ProcessCut.lua b/LuaLibs/ProcessCut.lua index a23a3e5..414b3ff 100644 --- a/LuaLibs/ProcessCut.lua +++ b/LuaLibs/ProcessCut.lua @@ -187,13 +187,13 @@ function ProcessCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, bFromBottom) if Proc.Head then local dOffs = b3Raw:getMax():getX() - dOvmHead - Proc.Box:getMin():getX() if abs( vtN:getZ()) > 0.5 then - dOffs = dOffs / 2 + dOffs = 0.4 * dOffs end BL.UpdateHCING( nRawId, dOffs) elseif Proc.Tail then local dOffs = Proc.Box:getMax():getX() - b3Solid:getMin():getX() if abs( vtN:getZ()) > 0.5 then - dOffs = dOffs / 2 + dOffs = 0.4 * dOffs end BL.UpdateTCING( nRawId, dOffs) end diff --git a/LuaLibs/ProcessDoubleCut.lua b/LuaLibs/ProcessDoubleCut.lua index 6e3c9c9..8f24b11 100644 --- a/LuaLibs/ProcessDoubleCut.lua +++ b/LuaLibs/ProcessDoubleCut.lua @@ -188,7 +188,7 @@ function ProcessDoubleCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead) if Proc.Head then local dOffs = b3Raw:getMax():getX() - dOvmHead - Proc.Box:getMin():getX() if vtNm:getZ() > 0.5 then - dOffs = 0.5 * dOffs + dOffs = 0.4 * dOffs elseif abs( vtNm:getZ()) > 0.35 then dOffs = 0.75 * dOffs end @@ -196,7 +196,7 @@ function ProcessDoubleCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead) elseif Proc.Tail then local dOffs = Proc.Box:getMax():getX() - b3Solid:getMin():getX() if vtNm:getZ() > 0.5 then - dOffs = 0.5 * dOffs + dOffs = 0.4 * dOffs elseif abs( vtNm:getZ()) > 0.35 then dOffs = 0.75 * dOffs end diff --git a/LuaLibs/ProcessDtMortise.lua b/LuaLibs/ProcessDtMortise.lua index dfec515..f2947a1 100644 --- a/LuaLibs/ProcessDtMortise.lua +++ b/LuaLibs/ProcessDtMortise.lua @@ -1,4 +1,4 @@ --- ProcessMortise.lua by Egaltech s.r.l. 2019/11/12 +-- ProcessMortise.lua by Egaltech s.r.l. 2020/01/16 -- Gestione calcolo mortase a coda di rondice per Travi -- Tabella per definizione modulo @@ -20,6 +20,16 @@ function ProcessDtMortise.Identify( Proc) (( Proc.Grp == 3 or Proc.Grp == 4) and Proc.Prc == 56)) end +--------------------------------------------------------------------- +-- Verifica se feature di coda +function ProcessDtMortise.IsTailFeature( Proc, b3Raw) + -- verifico se è in coda + if Proc.Box:getMin():getX() > b3Raw:getMin():getX() + BD.MAX_DIST_HTFEA then + return false + end + return true +end + --------------------------------------------------------------------- -- Classificazione della feature function ProcessDtMortise.Classify( Proc)