ANSYS Mechanical ACTConsole Script for display time on results

Опубликовано: 02 Август 2026
на канале: Bomba Ps
162
0

====================================
THIS MACRO EXPOSE RESULT TIME ON RESULT NAME NAME
psiedlac @ i.dont.care
# version 1.1.2018.03.01

import re
regexp = re.compile(r'_t[1234567]')

ExtAPI.DataModel.Project.Model.Analyses[0].Solution.Children.Count

Dozwolone typy dla postu wynikow
ALOWED_RESULT_TYPES_MAPS = ['Ansys.ACT.Automation.Mechanical.Results.DeformationResults.TotalDeformation',
'Ansys.ACT.Automation.Mechanical.Results.StressResults.DirectionalDeformation',
'Ansys.ACT.Automation.Mechanical.Results.StressResults.EquivalentStress',
'Ansys.ACT.Automation.Mechanical.Results.StressResults.VectorPrincipalStress',
'Ansys.ACT.Automation.Mechanical.Results.StressResults.MaximumPrincipalStress',
'Ansys.ACT.Automation.Mechanical.Results.StressResults.MiddlePrincipalStress',
'Ansys.ACT.Automation.Mechanical.Results.StressResults.MinimumPrincipalStress',
'Ansys.ACT.Automation.Mechanical.Results.StressResults.NormalStress',
'Ansys.ACT.Automation.Mechanical.Results.StressResults.ShearStress',
'Ansys.ACT.Automation.Mechanical.Results.StressResults.StructuralError',
'Ansys.ACT.Automation.Mechanical.Results.StressResults.ShellMembraneStress',
'Ansys.ACT.Automation.Mechanical.Results.StressResults.ShellBendingStress',
'Ansys.ACT.Automation.Mechanical.Results.StressResults.ShellBottomPeakStress',
'Ansys.ACT.Automation.Mechanical.Results.StressResults.ShellTopPeakStress',

'Ansys.ACT.Automation.Mechanical.Results.StrainResults.EquivalentElasticStrainRST',
'Ansys.ACT.Automation.Mechanical.Results.StrainResults.MaximumPrincipalElasticStrain',
'Ansys.ACT.Automation.Mechanical.Results.StrainResults.MiddlePrincipalElasticStrain',
'Ansys.ACT.Automation.Mechanical.Results.StrainResults.MinimumPrincipalElasticStrain',
'Ansys.ACT.Automation.Mechanical.Results.StrainResults.MaximumShearElasticStrain',
'Ansys.ACT.Automation.Mechanical.Results.StrainResults.ElasticStrainIntensity',
'Ansys.ACT.Automation.Mechanical.Results.StrainResults.NormalElasticStrain',
'Ansys.ACT.Automation.Mechanical.Results.StrainResults.ShearElasticStrain',
'Ansys.ACT.Automation.Mechanical.Results.StrainResults.VectorPrincipalElasticStrain',
'Ansys.ACT.Automation.Mechanical.Results.StrainResults.DirectionalThermalStrain',
'Ansys.ACT.Automation.Mechanical.Results.StrainResults.EquivalentPlasticStrainRST',
'Ansys.ACT.Automation.Mechanical.Results.StrainResults.EquivalentTotalStrain']


for i in ExtAPI.DataModel.Project.Model.Analyses[0].Solution.Children:
if str(i.GetType()) in ALOWED_RESULT_TYPES_MAPS :
if str(i.By) == 'Time': # Defined by Time not by Steps
print i.Time, i.Name, i.Maximum, i.MaximumOccursOn
if not bool(re.search('_t[1234567890]', i.Name)):
i.Name = i.Name + "_t" +str(i.Time.Value)
else:
i_name_split = i.Name.Split("_")
ii=-1
for s in i_name_split:
ii=ii+1
for k in s.Split(' '):
print "s:", s, "k:", k
if bool(re.search('t[1234567890]', k)):
print k.Split('t')[1], float(k.Split('t')[1]), int(10*float(k.Split('t')[1])),int(10*float(i.Time.Value))
if not (int(100*float(k.Split('t')[1])) == int(100*float(i.Time.Value))):
print "zmiana czasu w opisie:", "_".join(i_name_split)
k = str(i.Time.Value)
print k, "".join(s)
i_name_split[ii] = k
print "_".join(i_name_split)
i.Name = str("_".join(i_name_split))