FEM: Cut material name to 80 characters

CalculiX documentation tells that maximum alowed material name length
is 80 characters, so we have to respect that. Also ccx quietly fails if
that limit is not honoured.

Reported-by: bernd
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
This commit is contained in:
Przemo Firszt
2015-04-23 11:06:26 +01:00
committed by wmayer
parent 977398d480
commit a0caf91c23

View File

@@ -510,17 +510,18 @@ class _JobControlTaskPanel:
print 'YM = ', YM
PR = float(MaterialObject['Object'].Material['PoissonRatio'])
print 'PR = ', PR
material_name = MaterialObject['Object'].Material['Name'][:80]
# write material properties
inpfile.write('*MATERIAL, NAME=' + MaterialObject['Object'].Material['Name'] + '\n')
inpfile.write('*MATERIAL, NAME=' + material_name + '\n')
inpfile.write('*ELASTIC \n')
inpfile.write('{0:.3f}, '.format(YM.Value * 1E-3))
inpfile.write('{0:.3f}\n'.format(PR))
# write element properties
if len(self.MaterialObjects) == 1:
inpfile.write('*SOLID SECTION, ELSET=' + MaterialObject['Object'].Name + ', MATERIAL=' + MaterialObject['Object'].Material['Name'] + '\n\n')
inpfile.write('*SOLID SECTION, ELSET=' + MaterialObject['Object'].Name + ', MATERIAL=' + material_name + '\n\n')
else:
if MaterialObject['Object'].Name == 'MechanicalMaterial':
inpfile.write('*SOLID SECTION, ELSET=' + MaterialObject['Object'].Name + ', MATERIAL=' + MaterialObject['Object'].Material['Name'] + '\n\n')
inpfile.write('*SOLID SECTION, ELSET=' + MaterialObject['Object'].Name + ', MATERIAL=' + material_name + '\n\n')
# write step beginn
inpfile.write('\n\n\n\n***********************************************************\n')