- In HeadCut e Split, per decidere se fare doppio taglio verticale, si controlla anche il massimo possibile e non solo il minimo per farlo scaturire.

- In LapJoint si anticipa controllo per decidere se feature di coda
This commit is contained in:
andrea.villa
2025-03-10 13:22:30 +01:00
parent abb1509314
commit 19e1d4e760
3 changed files with 10 additions and 6 deletions
+6 -4
View File
@@ -802,6 +802,12 @@ function ProcessLapJoint.IsTailFeature( Proc, b3Raw)
( b3Solid:getDimX() > BD.LEN_SHORT_PART and Proc.Box:getDimX() > min( BD.MAX_LEN_HTFEA, 0.8 * b3Solid:getDimX())) then
return false
end
-- se interessa la coda, e pezzo lungo, si sposta dopo separazione
if b3Solid:getDimX() > BD.LEN_SHORT_PART and Proc.AffectedFaces.Left and Proc.Fct >= 2 then
return true
end
-- se una o due facce e interessa veramente la coda, allora di coda
if Proc.Fct <= 2 then
if Proc.Box:getMin():getX() < b3Solid:getMin():getX() + 1. then
@@ -814,10 +820,6 @@ function ProcessLapJoint.IsTailFeature( Proc, b3Raw)
if Proc.AffectedFaces.Left and ( EgtGetInfo( Proc.Id, Q_SAW_PLUS_CHAIN, 'i') or 0) > 0 then
return true
end
-- se interessa la coda, e pezzo lungo, si sposta dopo separazione
if b3Solid:getDimX() > BD.LEN_SHORT_PART and Proc.AffectedFaces.Left and Proc.Fct > 2 then
return true
end
-- deve avere la normale principale diretta verso la coda (oppure tunnel)
Topology.Classify( Proc, b3Raw)
local nFacInd, dElev, nFacInd2, dElev2 = BL.GetFaceWithMostAdj( Proc, nPartId)