DataBeam :

- correzione a nesting per evitare barre vuote inutili.
This commit is contained in:
DarioS
2021-07-12 16:28:57 +02:00
parent a63a061d12
commit 10056ea266
+25 -23
View File
@@ -165,31 +165,33 @@ local dTime = 0
while Raws.Count > 0 and PartsToFill( Parts) > 0 do
-- Eseguo ottimizzazione per una barra e visualizzo il risultato
local Res = ExecMaximumFilling( Raws, Parts)
-- creo gruppo di lavorazione
local MachGroupName = NewMachGroupName()
nMachGroup = EgtAddMachGroup( MachGroupName)
EgtSetInfo( nMachGroup, "BARLEN", Raws.LenToFill)
EgtSetInfo( nMachGroup, "MATERIAL", NEST.MATERIAL)
EgtSetInfo( nMachGroup, "AUTONEST", 1)
-- scrivo dati per variabili P di comunicazione con la macchina in gruppo di lavorazione
EgtSetInfo( nMachGroup, "PRODID", NEST.PRODID)
EgtSetInfo( nMachGroup, "PATTID", nMachGroup)
-- Disegno i pezzi
local CurrX = Raws.StartGap
local nInfoIndex = 1
for i = 1, Res.DiffParts do
local PartIndex = Res.Data[i].Id
local PartId = Parts[PartIndex].Id
local dLen = Parts[PartIndex].Len
for j = 1, Res.Data[i].Count do
-- creo pezzo copia
local nPartDuploId = EgtDuploNew( PartId)
EgtSetInfo( nMachGroup, "PART" .. nInfoIndex, nPartDuploId .. "," .. CurrX)
CurrX = CurrX + dLen + Raws.MidGap
nInfoIndex = nInfoIndex + 1
-- verifico se ci sono pezzi
if Res.DiffParts > 0 then
-- creo gruppo di lavorazione
local MachGroupName = NewMachGroupName()
nMachGroup = EgtAddMachGroup( MachGroupName)
EgtSetInfo( nMachGroup, "BARLEN", Raws.LenToFill)
EgtSetInfo( nMachGroup, "MATERIAL", NEST.MATERIAL)
EgtSetInfo( nMachGroup, "AUTONEST", 1)
-- scrivo dati per variabili P di comunicazione con la macchina in gruppo di lavorazione
EgtSetInfo( nMachGroup, "PRODID", NEST.PRODID)
EgtSetInfo( nMachGroup, "PATTID", nMachGroup)
-- Disegno i pezzi
local CurrX = Raws.StartGap
local nInfoIndex = 1
for i = 1, Res.DiffParts do
local PartIndex = Res.Data[i].Id
local PartId = Parts[PartIndex].Id
local dLen = Parts[PartIndex].Len
for j = 1, Res.Data[i].Count do
-- creo pezzo copia
local nPartDuploId = EgtDuploNew( PartId)
EgtSetInfo( nMachGroup, "PART" .. nInfoIndex, nPartDuploId .. "," .. CurrX)
CurrX = CurrX + dLen + Raws.MidGap
nInfoIndex = nInfoIndex + 1
end
end
end
-- Aggiorno per prossima iterazione
Raws.Count = Raws.Count - 1
for i = 1, Res.DiffParts do