- in LapJoint MakeMoreFaces migliorata scelta sidemill vs catena vs svuotatura

This commit is contained in:
luca.mazzoleni
2025-08-06 11:18:05 +02:00
parent 97e204fbb1
commit 10e5d79412
+17 -4
View File
@@ -2895,7 +2895,7 @@ local function MakeMoreFaces( Proc, nRawId, b3Raw)
local vtN = EgtSurfTmFacetNormVersor( Proc.Id, nFacInd, GDB_ID.ROOT)
local _, dH, dV = EgtSurfTmFacetMinAreaRectangle( Proc.Id, nFacInd, GDB_ID.ROOT)
local dMaxSlotThicknessForBlade = 19
local bIsSmallSlot = ( Proc.Fct == 3 and ( min( dH, dV) < dMaxSlotThicknessForBlade - 10 * GEO.EPS_SMALL) and ( vtN:getZ() > -0.01) and ( vtN:getZ() < 0.5))
local bIsSmallSlot = ( Proc.Fct == 3 and ( min( dH, dV) < dMaxSlotThicknessForBlade - 10 * GEO.EPS_SMALL) and ( vtN:getZ() > -0.01))
-- se di fianco
if not bPckt and Proc.Fct >= 3 and ( ( vtN:getZ() < WD.NZ_MINA) or bIsSmallSlot) then
-- recupero elevazione faccia in feature
@@ -2999,12 +2999,25 @@ local function MakeMoreFaces( Proc, nRawId, b3Raw)
end
end
end
-- si tenta sidemill
if sMilling and dElev < dMaxDepthOnSide then
return MakeSideGrooveByMill( Proc, nFacInd, nRawId, b3Raw, sMilling, nil, nil, nil, nil, nil, nil, nil, bDoubleMillOnSide)
-- altrimenti sega a catena
else
return MakeByChainSaw( Proc, nFacInd, nRawId, b3Raw, dElev, dH, dV)
end
-- sidemill non possibile: si tenta sega a catena
local bOk, sErr = MakeByChainSaw( Proc, nFacInd, nRawId, b3Raw, dElev, dH, dV)
if bOk then
return bOk, sErr
end
-- sega a catena fallisce: se possibile si prova con svuotatura
local nFacet = EgtIf( bPckt or vtN:getZ() >= WD.NZ_MINA, nFacInd, nFacInd2)
if nFacet then
return MakeByPocketing( Proc, nFacet, nRawId, b3Raw, true)
end
-- se nessuna strategia è riuscita, si ritorna errore
sErr = 'Side milling not possible'
EgtOutLog( sErr)
return false, sErr
end
end
local nFacet = EgtIf( bPckt or vtN:getZ() >= WD.NZ_MINA, nFacInd, nFacInd2)