Window :
- modifica offset in x per profilo di testa obliquo
This commit is contained in:
@@ -543,17 +543,22 @@ function WinExec.ProcessFeatures( PARTS)
|
||||
|
||||
local maxOffsetX = {}
|
||||
for i = 1, #PARTS do
|
||||
--maxOffsetX[i] = 99 - PARTS[i].RawOffset.dOverMatLeft - PARTS[i].OffsetPartToRaw.X
|
||||
maxOffsetX[i] = 80 - PARTS[i].RawOffset.dOverMatLeft
|
||||
end
|
||||
|
||||
for i = 1, #MACHININGS do
|
||||
if MACHININGS[i].AuxiliaryData.nPhase == 1 then
|
||||
-- aggiunge effettivamente la lavorazione e restituisce gli ingombri
|
||||
local bIsApplyOk, sErr, b3MachEncumbrance = MachiningLib.AddOperation( MACHININGS[i]) -- TODO ingombro lavorazione mi restituisce dati sbagliati. C'è un riferimento?
|
||||
local bIsApplyOk, sErr, b3MachEncumbrance = MachiningLib.AddOperation( MACHININGS[i])
|
||||
-- se feature di testa, sposto testa in base a ingombro lavorazione
|
||||
if MACHININGS[i].Proc.bHeadProfile and b3MachEncumbrance then
|
||||
PARTS[MACHININGS[i].Proc.nIndexPart].DispOffsets.Phase1.dOffsetX = max( b3MachEncumbrance:getMax():getX() - PARTS[MACHININGS[i].Proc.nIndexPart].b3Part:getMin():getX() + 5, maxOffsetX[MACHININGS[i].Proc.nIndexPart])
|
||||
-- profilo di testa obliquo
|
||||
if b3MachEncumbrance:getMax():getX() ~= b3MachEncumbrance:getMin():getX() and b3MachEncumbrance:getMax():getX() > b3MachEncumbrance:getMin():getX() then
|
||||
local diff = b3MachEncumbrance:getMax():getX() - b3MachEncumbrance:getMin():getX()
|
||||
PARTS[MACHININGS[i].Proc.nIndexPart].DispOffsets.Phase1.dOffsetX = max( b3MachEncumbrance:getMax():getX() - PARTS[MACHININGS[i].Proc.nIndexPart].b3Part:getMin():getX() + 5, maxOffsetX[MACHININGS[i].Proc.nIndexPart]) + diff
|
||||
else
|
||||
PARTS[MACHININGS[i].Proc.nIndexPart].DispOffsets.Phase1.dOffsetX = max( b3MachEncumbrance:getMax():getX() - PARTS[MACHININGS[i].Proc.nIndexPart].b3Part:getMin():getX() + 5, maxOffsetX[MACHININGS[i].Proc.nIndexPart])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -571,7 +576,6 @@ function WinExec.ProcessFeatures( PARTS)
|
||||
end
|
||||
|
||||
for i = 1, #PARTS do
|
||||
--maxOffsetX[i] = 99 - PARTS[i].RawOffset.dOverMatRight - PARTS[i].OffsetPartToRaw.X
|
||||
maxOffsetX[i] = 80 - PARTS[i].RawOffset.dOverMatRight
|
||||
end
|
||||
-- scrivo lavorazioni seconda fase
|
||||
@@ -580,10 +584,16 @@ function WinExec.ProcessFeatures( PARTS)
|
||||
for i = 1, #MACHININGS do
|
||||
if MACHININGS[i].AuxiliaryData.nPhase == 2 then
|
||||
-- aggiunge effettivamente la lavorazione
|
||||
local bIsApplyOk, sErr, b3MachEncumbrance = MachiningLib.AddOperation( MACHININGS[i]) -- TODO ingombro lavorazione mi restituisce dati sbagliati. C'è un riferimento?
|
||||
local bIsApplyOk, sErr, b3MachEncumbrance = MachiningLib.AddOperation( MACHININGS[i])
|
||||
-- se feature di testa, sposto testa in base a ingombro lavorazione
|
||||
if MACHININGS[i].Proc.bHeadProfile and b3MachEncumbrance then
|
||||
PARTS[MACHININGS[i].Proc.nIndexPart].DispOffsets.Phase2.dOffsetX = max( PARTS[MACHININGS[i].Proc.nIndexPart].b3Part:getMax():getX() - b3MachEncumbrance:getMin():getX() + 5, maxOffsetX[MACHININGS[i].Proc.nIndexPart])
|
||||
-- profilo di testa obliquo
|
||||
if b3MachEncumbrance:getMin():getX() ~= b3MachEncumbrance:getMax():getX() then
|
||||
local diff = b3MachEncumbrance:getMax():getX() - b3MachEncumbrance:getMin():getX()
|
||||
PARTS[MACHININGS[i].Proc.nIndexPart].DispOffsets.Phase2.dOffsetX = max( PARTS[MACHININGS[i].Proc.nIndexPart].b3Part:getMax():getX() - b3MachEncumbrance:getMin():getX() + 5, maxOffsetX[MACHININGS[i].Proc.nIndexPart]) + diff
|
||||
else
|
||||
PARTS[MACHININGS[i].Proc.nIndexPart].DispOffsets.Phase2.dOffsetX = max( PARTS[MACHININGS[i].Proc.nIndexPart].b3Part:getMax():getX() - b3MachEncumbrance:getMin():getX() + 5, maxOffsetX[MACHININGS[i].Proc.nIndexPart])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user