diff --git a/LuaLibs/BeamLib.lua b/LuaLibs/BeamLib.lua index 25e85e1..ee66572 100644 --- a/LuaLibs/BeamLib.lua +++ b/LuaLibs/BeamLib.lua @@ -698,17 +698,19 @@ function BeamLib.GetFaceHvRefDim( nSurfId, nFacet, b3Raw) local b3HV = EgtSurfTmGetFacetBBoxRef( nSurfId, nFacet, GDB_BB.STANDARD, frHV) local dDimH = b3HV:getDimX() local dDimV = b3HV:getDimY() + + -- Si mantiene rettangolo minimo perchè in alcuni casi andava in collisione. Lascio il calcolo in caso si debba ripristinare. -- se definito grezzo (o solido), applico eventuali limiti - if b3Raw then - local dCoeffY = abs( frHV:getVersX():getY()) - if dCoeffY > GEO.EPS_SMALL then - dDimH = min( dDimH, b3Raw:getDimY() / dCoeffY) - end - local dCoeffZ = abs( frHV:getVersY():getZ()) - if dCoeffZ > GEO.EPS_SMALL then - dDimV = min( dDimV, b3Raw:getDimZ() / dCoeffZ) - end - end + -- if b3Raw then + -- local dCoeffY = abs( frHV:getVersX():getY()) + -- if dCoeffY > GEO.EPS_SMALL then + -- dDimH = min( dDimH, b3Raw:getDimY() / dCoeffY) + -- end + -- local dCoeffZ = abs( frHV:getVersY():getZ()) + -- if dCoeffZ > GEO.EPS_SMALL then + -- dDimV = min( dDimV, b3Raw:getDimZ() / dCoeffZ) + -- end + -- end -- restituisco i valori calcolati return frHV, dDimH, dDimV end diff --git a/LuaLibs/ProcessCut.lua b/LuaLibs/ProcessCut.lua index 1777de0..1cb7a62 100644 --- a/LuaLibs/ProcessCut.lua +++ b/LuaLibs/ProcessCut.lua @@ -379,7 +379,9 @@ local function MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, b local vCuts = {} local dDicingOffsetP local dDicingOffsetO - if ( ( not Proc.AdvTail) or bForceDicing) and ( dCutH > dMaxDepth - BD.CUT_EXTRA - 3 * BD.COLL_SIC or dCutV > dMaxVertDepth - BD.CUT_EXTRA - 3 * BD.COLL_SIC) then + if ( ( not Proc.AdvTail) or bForceDicing) and + ( dCutH - 100 * GEO.EPS_SMALL > dMaxDepth - BD.CUT_EXTRA - 3 * BD.COLL_SIC or + dCutV - 100 * GEO.EPS_SMALL > dMaxVertDepth - BD.CUT_EXTRA - 3 * BD.COLL_SIC) then local ptExtra, vtExtra local bAutoCalcSurf = true if Proc.AdvTail then diff --git a/LuaLibs/ProcessSplit.lua b/LuaLibs/ProcessSplit.lua index d50cbca..8f68f7b 100644 --- a/LuaLibs/ProcessSplit.lua +++ b/LuaLibs/ProcessSplit.lua @@ -662,7 +662,7 @@ function ProcessSplit.Make( Proc, nPhase, nRawId, nPartId, nOrd, sDownOrSideOrSt local dMinTailScrapForAdditionalCuts = 10.123 local bNeedVerticalAddedCuts = not bSplit and ( Proc.Face[1].WidthTrimmed > BD.MAX_LEN_DICE) and ( dLenEndRaw > dMinTailScrapForAdditionalCuts - 10 * GEO.EPS_SMALL) local bNeedHorizontalAddedCuts = not bSplit and not bBigSectionCut and - ( Proc.Face[1].HeightTrimmed > ( BD.MIN_HEIGHT_ADDED_CUTS or BD.MAX_LEN_DICE)) and + ( Proc.Face[1].HeightTrimmed > ( BD.MIN_HEIGHT_ADDED_CUTS or BD.MAX_LEN_DICE) + 100 * GEO.EPS_SMALL) and ( dLenEndRaw > dMinTailScrapForAdditionalCuts - 10 * GEO.EPS_SMALL) and dOffsL < BD.MAX_DIM_DICE -- dati lavorazioni sopra e sotto