diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index ca86107..c2f8ed2 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -611,8 +611,11 @@ function ProcessLapJoint.IsTailFeature( Proc, b3Raw) Proc.HeadDir = bHeadDir return not bHead end + -- recupero box del pezzo + local nPartId = EgtGetParent( EgtGetParent( Proc.Id) or GDB_ID.NULL) + local b3Solid = EgtGetBBoxGlob( EgtGetFirstNameInGroup( nPartId, 'Box') or GDB_ID.NULL, GDB_BB.STANDARD) -- verifico se รจ in coda - local dEndDist = Proc.Box:getMin():getX() - b3Raw:getMin():getX() + local dEndDist = Proc.Box:getMin():getX() - b3Solid:getMin():getX() if dEndDist > BD.MAX_DIST_HTFEA then return false end @@ -620,11 +623,8 @@ function ProcessLapJoint.IsTailFeature( Proc, b3Raw) if Proc.Box:getDimX() > min( BD.MAX_LEN_HTFEA, 0.6 * b3Raw:getDimX()) then return false end - -- recupero identificativo del pezzo - local nPartId = EgtGetParent( EgtGetParent( Proc.Id) or GDB_ID.NULL) -- se una o due facce e interessa veramente la coda, allora di coda if Proc.Fct <= 2 then - local b3Solid = EgtGetBBoxGlob( EgtGetFirstNameInGroup( nPartId, 'Box') or GDB_ID.NULL, GDB_BB.STANDARD) if Proc.Box:getMin():getX() < b3Solid:getMin():getX() + 1. then return true elseif Proc.Box:getMin():getX() > b3Solid:getMin():getX() + 5. then @@ -4751,13 +4751,18 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa -- settaggio voluto da Alessandro/Fabio (per fare angoli con fresa piccola) sMchFind = 'Pocket' local dDiam = min( dH, dV) - if ( Proc.Fct == 1) or ( Proc.Fct == 2 and bIsL) or ((( Proc.Fct == 3 and bIsU) or Proc.Fct == 4) and bSinglePart) then + local bTailOnSide = ( Proc.Box:getMin():getX() - b3Solid:getMin():getX() < 0.1 and not Proc.Tail) + if ( Proc.Fct == 1) or ( Proc.Fct == 2 and bIsL) or ((( Proc.Fct == 3 and bIsU) or ( Proc.Fct == 4 and not bTailOnSide)) and bSinglePart) then sMchFind = 'OpenPocket' if bIsU then dDiam = GetUShapeWidth( Proc, nFacInd) or dDiam elseif Proc.Fct == 4 then - -- premio utensile diam 25 per rifinire gli angoli - if dDiam > 60 then dDiam = 0.5 * dDiam end + -- per rifinire gli angoli premio utensile diam 25 o da BD + if not BD.MAXDIAM_POCK_1_OPEN then + dDiam = min( dDiam, 30) + else + dDiam = min( dDiam, BD.MAXDIAM_POCK_1_OPEN) + end else dDiam = 300 end