Correzione per forature su feature di testa o coda: ora riconosce correttamente anche le forature aperte con versore opposto

This commit is contained in:
luca.mazzoleni
2022-07-06 15:11:32 +02:00
parent ccb363f6f1
commit 4b9c4af1b5
+3 -2
View File
@@ -1326,11 +1326,12 @@ local function SetDrillingsToMachineAfterHeadOrTailCut( vProc, vMachineBeforeInt
end
-- recupero il vettore estrusione
local vtExtr = EgtCurveExtrusion( AuxId, GDB_RT.GLOB)
local bOpen = ( vProc[i].Fcs ~= 0 and vProc[i].Fce ~= 0)
-- se esiste intersezione tra il foro e la feature di testa
if vMachineBeforeIntersectingDrillings.Head.Box and vProc[i].Box:getMin():getX() < vMachineBeforeIntersectingDrillings.Head.Box:getMax():getX() + 100 * GEO.EPS_SMALL and
vMachineBeforeIntersectingDrillings.Head.Box:getMin():getX() < vProc[i].Box:getMax():getX() + 100 * GEO.EPS_SMALL then
-- verifico che il foro sia di testa
if ( vProc[i].Flg > 0 and vtExtr:getX() > 0) or ( vProc[i].Flg == -2 and vtExtr:getX() < 0) then
if ( bOpen or ( not bOpen and vtExtr:getX() > 0)) then
vProc[i].MachineAfterHeadCutId = vMachineBeforeIntersectingDrillings.Head.Id
vProc[i].Head = true
end
@@ -1338,7 +1339,7 @@ local function SetDrillingsToMachineAfterHeadOrTailCut( vProc, vMachineBeforeInt
elseif vMachineBeforeIntersectingDrillings.Tail.Box and vProc[i].Box:getMin():getX() < vMachineBeforeIntersectingDrillings.Tail.Box:getMax():getX() + 100 * GEO.EPS_SMALL and
vMachineBeforeIntersectingDrillings.Tail.Box:getMin():getX() < vProc[i].Box:getMax():getX() + 100 * GEO.EPS_SMALL then
-- verifico che il foro sia di coda
if ( vProc[i].Flg > 0 and vtExtr:getX() < 0) or ( vProc[i].Flg == -2 and vtExtr:getX() > 0) then
if ( bOpen or ( not bOpen and vtExtr:getX() < 0)) then
vProc[i].MachineAfterTailCutId = vMachineBeforeIntersectingDrillings.Tail.Id
vProc[i].Tail = true
end