- in MachiningLib corretto ordinamento nel caso di lavorazioni disattivate
This commit is contained in:
@@ -1768,17 +1768,34 @@ function MachiningLib.ShortestPathSorting()
|
||||
i = i + 1
|
||||
end
|
||||
|
||||
local nStopIndex = nStartIndex + nMachInDisp - 1
|
||||
-- cliclo su tutte le lavorazioni
|
||||
for k = nStartIndex, nStopIndex do
|
||||
for j = nStartIndex, nStopIndex do
|
||||
for k = 1, #MachiningOptList do
|
||||
if not DB_MACH_APPLIED[MachiningOptList[k]].Dependances then
|
||||
DB_MACH_APPLIED[MachiningOptList[k]].Dependances = {}
|
||||
end
|
||||
for j = 1, #MachiningOptList do
|
||||
-- se non è stessa lavorazione, imposto dati e dipendenze
|
||||
if k ~= j then
|
||||
local MachiningK = MACHININGS[DB_MACH_APPLIED[MachiningOptList[k]].nIndexInMachinings]
|
||||
local MachiningJ = MACHININGS[DB_MACH_APPLIED[MachiningOptList[j]].nIndexInMachinings]
|
||||
-- se stessa Proc
|
||||
if MACHININGS[DB_MACH_APPLIED[k].nIndexInMachinings].Proc.id == MACHININGS[DB_MACH_APPLIED[j].nIndexInMachinings].Proc.id then
|
||||
if MachiningK.Proc.id == MachiningJ.Proc.id then
|
||||
-- se lavorazioni della stessa feature, obbligatorio rispettare ordine
|
||||
if MACHININGS[DB_MACH_APPLIED[k].nIndexInMachinings].Machining.nFeatureInternalIndex <= MACHININGS[DB_MACH_APPLIED[j].nIndexInMachinings].Machining.nFeatureInternalIndex then
|
||||
EgtOptMachAddDependence( k, j)
|
||||
if MachiningK.Machining.nFeatureInternalIndex < MachiningJ.Machining.nFeatureInternalIndex then
|
||||
local bOk = EgtOptMachAddDependence( MachiningOptList[k], MachiningOptList[j])
|
||||
if not bOk then
|
||||
error( 'Machining sorting : error in dependencies')
|
||||
end
|
||||
table.insert( DB_MACH_APPLIED[MachiningOptList[k]].Dependances, MachiningOptList[j])
|
||||
-- se l'indice interno è uguale, sono cloni: si ordinano in base all'ordine in tabella
|
||||
elseif MachiningK.Machining.nFeatureInternalIndex == MachiningJ.Machining.nFeatureInternalIndex then
|
||||
if k < j then
|
||||
local bOk = EgtOptMachAddDependence( MachiningOptList[k], MachiningOptList[j])
|
||||
if not bOk then
|
||||
error( 'Machining sorting : error in dependencies')
|
||||
end
|
||||
table.insert( DB_MACH_APPLIED[MachiningOptList[k]].Dependances, MachiningOptList[j])
|
||||
end
|
||||
end
|
||||
-- se tra due Proc diverse
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user