- in BatchProcessNew aggiunto flag 7 per la restituzione della topologia

- in FeatureLib IsFeatureCuttingEntireSection e IsFeatureCuttingEntireLength se non c'è il box del grezzo si usa quello della parte
This commit is contained in:
luca.mazzoleni
2025-05-17 11:13:53 +02:00
parent e12fd6824e
commit cfc2260997
2 changed files with 38 additions and 3 deletions
+33
View File
@@ -88,6 +88,7 @@ local BeamData = require( 'BeamData')
-- carico librerie
local BeamExec = require( 'BeamExec')
local BeamLib = require( 'BeamLib')
local FeatureLib = require( 'FeatureLib')
-- Variabili di modulo
local dRawW
@@ -173,6 +174,8 @@ elseif BEAM.FLAG == 4 then
sFlag = 'CHECK+GENERATE'
elseif BEAM.FLAG == 6 then
sFlag = 'CREATE_BAR'
elseif BEAM.FLAG == 7 then
sFlag = 'GET_TOPOLOGY'
else
sFlag = 'FLAG='..tostring( BEAM.FLAG)
end
@@ -198,7 +201,37 @@ if BEAM.FLAG == 0 then
end
hLogFile:close()
end
-- restituisce all'interfaccia il nome della topologia della feature di id passato
-- TODO valutare se fare script separato
-- TODO gestire grezzo altrimenti la topologia potrebbe essere errata!!
elseif BEAM.FLAG == 7 then
if type( BEAM.FEATUREID) == 'number' then
local Proc = FeatureLib.GetProcFromTrimesh( BEAM.FEATUREID)
Proc.nGrp = nGrp
Proc.nPrc = nPrc
local Part = {}
Part.id = EgtGetParent( Proc.id)
Part.b3Part = EgtGetBBoxGlob( EgtGetFirstNameInGroup( Part.id, 'Box') or GDB_ID.NULL, GDB_BB.STANDARD)
Proc.Topology = {}
if FeatureLib.NeedTopologyFeature( Proc) then
Proc.Topology = FeatureLib.ClassifyTopology( Proc, Part)
else
Proc = FeatureLib.GetAdditionalInfo( Proc, Part)
Proc.Topology = FeatureLib.GetTopologyFromFeature( Proc, Part)
end
if Proc.Topology and Proc.Topology.sName then
BEAM.TOPOLOGY = Proc.Topology.sName
else
BEAM.TOPOLOGY = 'NOT_IMPLEMENTED'
end
else
return
end
end
-- Cancello file di log specifico
EgtEraseFile( sTxtLogFile)