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 1e026ac477
commit c5850e510a

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')