- in TailCut e BeamExec correzione per scelta tagli di testa e coda originale nel caso quelli sostitutivi non fossero appplicabili

This commit is contained in:
luca.mazzoleni
2026-06-26 10:47:33 +02:00
parent 88b2e90ef7
commit aa4968787a
2 changed files with 17 additions and 9 deletions
+16 -8
View File
@@ -986,8 +986,10 @@ local function GetFeatureInfoAndDependency( vProcSingleRot, Part, bIsFlipRot)
HeadProc.Topology = {}
TailProc.Topology = {}
HeadProc.Topology.bIsThrough = true
HeadProc.Topology.sFamily = 'HeadCut'
HeadProc.Topology.sName = 'HeadCut'
TailProc.Topology.bIsThrough = true
TailProc.Topology.sFamily = 'TailCut'
TailProc.Topology.sName = 'TailCut'
HeadProc.AvailableStrategies = GetStrategies( HeadProc, Part.sAISetupConfig)
@@ -1169,25 +1171,31 @@ local function CalculateStrategies( vProcSingleRot, Part)
-- se taglio di testa o coda sostitutivo non applicabile si ripristina l'originale
if Proc.AvailableStrategies[nIndexCurrentStrategy].Result.sStatus ~= 'Completed' then
if ID.IsHeadCut( Proc) and not Proc.bIsOriginalHeadcut then
-- si riabilita taglio di testa originale
Proc.HeadProcOriginal.nFlg = 1
Proc.HeadProcOriginal.nIndexMasterProc = nil
-- il taglio attuale va riportato alla sua topologia originale
Proc.Topology = FeatureLib.ClassifyTopology( Proc, Part)
-- TODO è corretto? se era già un taglio a zero non lo devo più fare
if Proc.Topology.sName == 'HeadCut' then
Proc.nFlg = 0
Proc.AvailableStrategies = GetStrategies( Proc, Part.sAISetupConfig)
for j = #Proc.SlaveProcIndexes, 1, -1 do
if Proc.SlaveProcIndexes[j] == Proc.HeadProcOriginal.nIndexInVProc then
table.remove( Proc.SlaveProcIndexes, j)
end
end
Proc.SlaveProcIndexes = nil
bToReprocess = true
break
elseif ID.IsTailCut( Proc) and not Proc.bIsOriginalTailcut then
-- si riabilita il taglio di coda originale
Proc.TailProcOriginal.nFlg = 1
Proc.TailProcOriginal.nIndexMasterProc = nil
-- il taglio attuale va riportato alla sua topologia originale
Proc.Topology = FeatureLib.ClassifyTopology( Proc, Part)
-- TODO è corretto? se era già un taglio a zero non lo devo più fare
if Proc.Topology.sName == 'TailCut' then
Proc.nFlg = 0
Proc.AvailableStrategies = GetStrategies( Proc, Part.sAISetupConfig)
for j = #Proc.SlaveProcIndexes, 1, -1 do
if Proc.SlaveProcIndexes[j] == Proc.TailProcOriginal.nIndexInVProc then
table.remove( Proc.SlaveProcIndexes, j)
end
end
Proc.SlaveProcIndexes = nil
bToReprocess = true
break
end