diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 5ad78f4..91efe82 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -619,12 +619,6 @@ local function CollectFeatures( Part) EgtOutLog( '------Feature ' .. Proc.idFeature .. '------') -- se esiste la geometria if Proc.b3Box and not Proc.b3Box:isEmpty() then - -- TODO fare una funzione per recuperare i dati delle feature che non passano dal calcolo della topologia? - -- se foro calcolo altri dati - if ID.IsDrilling( Proc) then - -- assegno diametro e facce di ingresso e uscita (dati tabelle sempre per riferimento) - Proc.dDiam, Proc.dLen, Proc.nFcs, Proc.nFce = FeatureLib.GetDrillingData( Proc) - end -- informazioni facce e topologia Proc.AffectedFaces = BeamLib.GetAffectedFaces( Proc, Part) -- calcolo topologia solo se necessario, altrimenti si sfruttano le informazioni della feature BTL @@ -636,6 +630,7 @@ local function CollectFeatures( Part) else Proc.Topology.sFamily = 'FEATURE' Proc.Topology.sName = 'FEATURE' + Proc = FeatureLib.GetAdditionalInfo( Proc, Part) end -- se topologia feature riconosciuta, oppure da non calcolare perchè il riconoscimento topologico è basato sulla feature stessa if Proc.Topology.sName ~= 'NOT_IMPLEMENTED' then diff --git a/LuaLibs/FeatureLib.lua b/LuaLibs/FeatureLib.lua index 24115c2..0ae6034 100644 --- a/LuaLibs/FeatureLib.lua +++ b/LuaLibs/FeatureLib.lua @@ -307,6 +307,7 @@ function FeatureLib.MachiningNeedsSplitting( dMachiningLengthOnX, Part, Optional return bMachiningNeedsSplitting end + ------------------------------------------------------------------------------------------------------------- function FeatureLib.GetFeatureSplittingPoints( Proc, Part, OptionalParameters) local FeatureSplittingPoints = {} @@ -393,6 +394,16 @@ function FeatureLib.GetFeatureSplittingPoints( Proc, Part, OptionalParameters) return FeatureSplittingPoints end -------------------------------------------------------------------------------------------------------------- +------------------------------------------------------------------------------------------------------------- +function FeatureLib.GetAdditionalInfo( Proc, Part) + -- se foro calcolo altri dati + if ID.IsDrilling( Proc) then + -- assegno diametro e facce di ingresso e uscita (dati tabelle sempre per riferimento) + Proc.dDiam, Proc.dLen, Proc.nFcs, Proc.nFce = FeatureLib.GetDrillingData( Proc) + end + return Proc +end + +------------------------------------------------------------------------------------------------------------- return FeatureLib \ No newline at end of file