From a0caf91c23b90ac7dddcbabb7ed2cfff44d18842 Mon Sep 17 00:00:00 2001 From: Przemo Firszt Date: Thu, 23 Apr 2015 11:06:26 +0100 Subject: [PATCH] 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 --- src/Mod/Fem/MechanicalAnalysis.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Mod/Fem/MechanicalAnalysis.py b/src/Mod/Fem/MechanicalAnalysis.py index 0b57ddee96..20c3671a2b 100644 --- a/src/Mod/Fem/MechanicalAnalysis.py +++ b/src/Mod/Fem/MechanicalAnalysis.py @@ -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')