Tagli testa e coda si riconoscono da topologia e non più da Prc=340/350
This commit is contained in:
+16
-36
@@ -586,24 +586,6 @@ local function GetFeatureForcedStrategy( Proc)
|
||||
return nil
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
local function AdjustPrcGrp( Proc, bPartInCombiIsInverted)
|
||||
local nNewPrc = { nPrc = Proc.nPrc, nGrp = Proc.nGrp}
|
||||
|
||||
-- se pezzo invertito
|
||||
if bPartInCombiIsInverted then
|
||||
-- il taglio di testa diventa taglio di coda
|
||||
if ID.IsHeadCut( Proc) then
|
||||
_, nNewPrc.nPrc, nNewPrc.nGrp = ID.IsTailCut( Proc)
|
||||
-- il taglio di coda diventa taglio di testa
|
||||
elseif ID.IsTailCut( Proc) then
|
||||
_, nNewPrc.nPrc, nNewPrc.nGrp = ID.IsHeadCut( Proc)
|
||||
end
|
||||
end
|
||||
|
||||
return nNewPrc.nPrc, nNewPrc.nGrp
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
local function CollectFeatures( Part, dRotIndex)
|
||||
-- recupero le feature
|
||||
@@ -632,8 +614,6 @@ local function CollectFeatures( Part, dRotIndex)
|
||||
Proc.idFeature = EgtGetInfo( Proc.id, 'PRID', 's') or Proc.id
|
||||
Proc.nGrp = nGrp
|
||||
Proc.nPrc = nPrc
|
||||
-- aggiorno info feature in caso di pezzo invertito
|
||||
Proc.nPrc, Proc.nGrp = AdjustPrcGrp( Proc, dRotIndex > 4)
|
||||
Proc.nFlg = 1
|
||||
Proc.nFct = EgtSurfTmFacetCount( ProcId) or 0
|
||||
Proc.idCut = EgtGetInfo( EgtGetParent( EgtGetParent( ProcId)), 'CUTID', 'i') or 0
|
||||
@@ -788,23 +768,23 @@ local function GetFeatureInfoAndDependency( vProcSingleRot, Part)
|
||||
local ProcB = vProcSingleRot[j]
|
||||
-- non si controlla la feature con se stessa o se feature disabilitata
|
||||
if i ~= j and ProcB.nFlg ~= 0 then
|
||||
-- verifico se il taglio può essere saltato perchè è nella stessa posizione del taglio di testa
|
||||
if ID.IsHeadCut( Proc) and ProcB.Topology.sFamily == 'HeadCut' then
|
||||
if not Proc.SlaveProcIndexes then
|
||||
Proc.SlaveProcIndexes = {}
|
||||
end
|
||||
table.insert( Proc.SlaveProcIndexes, j)
|
||||
ProcB.nIndexMasterProc = i
|
||||
ProcB.nFlg = 0
|
||||
-- verifico se il taglio aggiunto manualmente può essere saltato perchè nella stessa posizione c'è un altro taglio di testa
|
||||
if ID.IsHeadCut( Proc) and ( ID.IsHeadCut( ProcB) and EgtGetName( ProcB.id) == 'StartCut') then
|
||||
if not Proc.SlaveProcIndexes then
|
||||
Proc.SlaveProcIndexes = {}
|
||||
end
|
||||
table.insert( Proc.SlaveProcIndexes, j)
|
||||
ProcB.nIndexMasterProc = i
|
||||
ProcB.nFlg = 0
|
||||
end
|
||||
-- verifico se il taglio può essere saltato perchè è nella stessa posizione del taglio di coda
|
||||
if ID.IsTailCut( Proc) and ProcB.Topology.sFamily == 'TailCut' then
|
||||
if not Proc.SlaveProcIndexes then
|
||||
Proc.SlaveProcIndexes = {}
|
||||
end
|
||||
table.insert( Proc.SlaveProcIndexes, j)
|
||||
ProcB.nIndexMasterProc = i
|
||||
ProcB.nFlg = 0
|
||||
-- verifico se il taglio aggiunto manualmente può essere saltato perchè nella stessa posizione c'è un altro taglio di coda
|
||||
if ID.IsTailCut( Proc) and ( ID.IsTailCut( ProcB) and EgtGetName( ProcB.id) == 'EndCut') then
|
||||
if not Proc.SlaveProcIndexes then
|
||||
Proc.SlaveProcIndexes = {}
|
||||
end
|
||||
table.insert( Proc.SlaveProcIndexes, j)
|
||||
ProcB.nIndexMasterProc = i
|
||||
ProcB.nFlg = 0
|
||||
end
|
||||
-- verifico se feature tipo LapJoint è attraversata da almeno un foro
|
||||
if ( Proc.Topology.sFamily == 'Pocket' or Proc.Topology.sFamily == 'Tunnel' or Proc.Topology.sFamily == 'Groove' or ID.IsMortise( Proc)) and
|
||||
|
||||
Reference in New Issue
Block a user