From c5850e510a403b369496918f596c9a16ec90218a 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 0b57ddee9..20c3671a2 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')