FEM: frd, vtk and Z88 result import, do not create an analysis object on import of lonley results
This commit is contained in:
@@ -68,11 +68,7 @@ def importFrd(filename, analysis=None, result_name_prefix=None):
|
||||
m = readResult(filename)
|
||||
result_mesh_object = None
|
||||
if len(m['Nodes']) > 0:
|
||||
if analysis is None:
|
||||
analysis_name = os.path.splitext(os.path.basename(filename))[0]
|
||||
analysis_object = ObjectsFem.makeAnalysis('Analysis')
|
||||
analysis_object.Label = analysis_name
|
||||
else:
|
||||
if analysis:
|
||||
analysis_object = analysis
|
||||
|
||||
mesh = importToolsFem.make_femmesh(m)
|
||||
@@ -104,11 +100,13 @@ def importFrd(filename, analysis=None, result_name_prefix=None):
|
||||
results = ObjectsFem.makeResultMechanical(results_name)
|
||||
results.Mesh = result_mesh_object
|
||||
results = importToolsFem.fill_femresult_mechanical(results, result_set, span)
|
||||
analysis_object.Member = analysis_object.Member + [results]
|
||||
if analysis:
|
||||
analysis_object.Member = analysis_object.Member + [results]
|
||||
|
||||
if(FreeCAD.GuiUp):
|
||||
import FemGui
|
||||
FemGui.setActiveAnalysis(analysis_object)
|
||||
if FreeCAD.GuiUp:
|
||||
if analysis:
|
||||
import FemGui
|
||||
FemGui.setActiveAnalysis(analysis_object)
|
||||
FreeCAD.ActiveDocument.recompute()
|
||||
|
||||
else:
|
||||
|
||||
@@ -77,17 +77,12 @@ def importVTK(filename, analysis=None, result_name_prefix=None):
|
||||
import ObjectsFem
|
||||
if result_name_prefix is None:
|
||||
result_name_prefix = ''
|
||||
if analysis is None:
|
||||
analysis_name = os.path.splitext(os.path.basename(filename))[0]
|
||||
analysis_object = ObjectsFem.makeAnalysis('Analysis')
|
||||
analysis_object.Label = analysis_name
|
||||
else:
|
||||
if analysis:
|
||||
analysis_object = analysis
|
||||
|
||||
# if properties can be added in FemVTKTools importCfdResult(), this file can be used for CFD workbench
|
||||
results_name = result_name_prefix + 'results'
|
||||
result_obj = ObjectsFem.makeResultMechanical(results_name)
|
||||
# result_obj = FreeCAD.ActiveDocument.addObject('Fem::FemResultObject', results_name)
|
||||
Fem.readResult(filename, result_obj.Name) # readResult always creates a new femmesh named ResultMesh
|
||||
|
||||
# workaround for the DisplacementLengths (They should have been calculated by Fem.readResult)
|
||||
@@ -95,8 +90,8 @@ def importVTK(filename, analysis=None, result_name_prefix=None):
|
||||
import importToolsFem
|
||||
result_obj.DisplacementLengths = importToolsFem.calculate_disp_abs(result_obj.DisplacementVectors)
|
||||
|
||||
analysis_object.Member = analysis_object.Member + [result_obj]
|
||||
# FIXME move the ResultMesh in the analysis
|
||||
if analysis:
|
||||
analysis_object.Member = analysis_object.Member + [result_obj]
|
||||
|
||||
''' seams not used at the moment
|
||||
filenamebase = '.'.join(filename.split('.')[:-1]) # pattern: filebase_timestamp.vtk
|
||||
|
||||
@@ -70,11 +70,7 @@ def import_z88_disp(filename, analysis=None, result_name_prefix=None):
|
||||
result_name_prefix = ''
|
||||
m = read_z88_disp(filename)
|
||||
if len(m['Nodes']) > 0:
|
||||
if analysis is None:
|
||||
analysis_name = os.path.splitext(os.path.basename(filename))[0]
|
||||
analysis_object = ObjectsFem.makeAnalysis('Analysis')
|
||||
analysis_object.Label = analysis_name
|
||||
else:
|
||||
if analysis:
|
||||
analysis_object = analysis # see if statement few lines later, if not analysis -> no FemMesh object is created !
|
||||
|
||||
for result_set in m['Results']:
|
||||
@@ -85,11 +81,14 @@ def import_z88_disp(filename, analysis=None, result_name_prefix=None):
|
||||
results.Mesh = m
|
||||
break
|
||||
results = importToolsFem.fill_femresult_mechanical(results, result_set, 0)
|
||||
analysis_object.Member = analysis_object.Member + [results]
|
||||
if analysis:
|
||||
analysis_object.Member = analysis_object.Member + [results]
|
||||
|
||||
if(FreeCAD.GuiUp):
|
||||
import FemGui
|
||||
FemGui.setActiveAnalysis(analysis_object)
|
||||
if FreeCAD.GuiUp:
|
||||
if analysis:
|
||||
import FemGui
|
||||
FemGui.setActiveAnalysis(analysis_object)
|
||||
FreeCAD.ActiveDocument.recompute()
|
||||
|
||||
else:
|
||||
FreeCAD.Console.PrintError('Problem on frd file import. No nodes found in frd file.\n')
|
||||
|
||||
Reference in New Issue
Block a user