FEM: result mechanical object, use same name sheme as for all other FEM objects
This commit is contained in:
parent
eb14ba516e
commit
0c0cf1e49c
|
@ -84,10 +84,10 @@ SET(FemScripts_SRCS
|
|||
_FemBeamSection.py
|
||||
_FemConstraintSelfWeight.py
|
||||
_FemMaterialMechanicalNonlinear.py
|
||||
_FemMechanicalResult.py
|
||||
_FemMeshGmsh.py
|
||||
_FemMeshGroup.py
|
||||
_FemMeshRegion.py
|
||||
_FemResultMechanical.py
|
||||
_FemShellThickness.py
|
||||
_FemSolverCalculix.py
|
||||
_FemSolverZ88.py
|
||||
|
@ -103,10 +103,10 @@ SET(FemScripts_SRCS
|
|||
_ViewProviderFemBeamSection.py
|
||||
_ViewProviderFemConstraintSelfWeight.py
|
||||
_ViewProviderFemMaterialMechanicalNonlinear.py
|
||||
_ViewProviderFemMechanicalResult.py
|
||||
_ViewProviderFemMeshGmsh.py
|
||||
_ViewProviderFemMeshGroup.py
|
||||
_ViewProviderFemMeshRegion.py
|
||||
_ViewProviderFemResultMechanical.py
|
||||
_ViewProviderFemShellThickness.py
|
||||
_ViewProviderFemSolverCalculix.py
|
||||
_ViewProviderFemSolverZ88.py
|
||||
|
|
|
@ -37,8 +37,8 @@ INSTALL(
|
|||
_CommandRunSolver.py
|
||||
_CommandControlSolver.py
|
||||
|
||||
_FemMechanicalResult.py
|
||||
_ViewProviderFemMechanicalResult.py
|
||||
_FemResultMechanical.py
|
||||
_ViewProviderFemResultMechanical.py
|
||||
_CommandShowResult.py
|
||||
_TaskPanelShowResult.py
|
||||
TaskPanelShowResult.ui
|
||||
|
|
|
@ -135,14 +135,14 @@ def makeMaterialMechanicalNonlinear(base_material, name="MechanicalMaterialNonli
|
|||
|
||||
|
||||
########## results ##########
|
||||
def makeMechanicalResult(name="MechanicalResult"):
|
||||
'''makeMechanicalResult(name): creates an mechanical object result to hold FEM results'''
|
||||
def makeResultMechanical(name="MechanicalResult"):
|
||||
'''makeResultMechanical(name): creates an mechanical result object to hold FEM results'''
|
||||
obj = FreeCAD.ActiveDocument.addObject('Fem::FemResultObjectPython', name)
|
||||
import _FemMechanicalResult
|
||||
_FemMechanicalResult._FemMechanicalResult(obj)
|
||||
import _FemResultMechanical
|
||||
_FemResultMechanical._FemResultMechanical(obj)
|
||||
if FreeCAD.GuiUp:
|
||||
from _ViewProviderFemMechanicalResult import _ViewProviderFemMechanicalResult
|
||||
_ViewProviderFemMechanicalResult(obj.ViewObject)
|
||||
from _ViewProviderFemResultMechanical import _ViewProviderFemResultMechanical
|
||||
_ViewProviderFemResultMechanical(obj.ViewObject)
|
||||
return obj
|
||||
|
||||
|
||||
|
|
|
@ -49,8 +49,8 @@ class _CommandShowResult(FemCommands):
|
|||
if sel[0].isDerivedFrom("Fem::FemResultObject"):
|
||||
self.result_object = sel[0]
|
||||
|
||||
import _ViewProviderFemMechanicalResult
|
||||
if _ViewProviderFemMechanicalResult.is_result_obj_valid(self.result_object):
|
||||
import _ViewProviderFemResultMechanical
|
||||
if _ViewProviderFemResultMechanical.is_result_obj_valid(self.result_object):
|
||||
self.result_object.ViewObject.startEditing()
|
||||
|
||||
|
||||
|
|
|
@ -24,16 +24,16 @@ __title__ = "DocumentOject Class to hold mechanical FEM results"
|
|||
__author__ = "Qingfeng Xia, Bernd Hahnebach"
|
||||
__url__ = "http://www.freecadweb.org"
|
||||
|
||||
## @package FemMechanicalResult
|
||||
## @package FemResultMechanical
|
||||
# \ingroup FEM
|
||||
# \brief FreeCAD DocumentObject class to hold mechanical results in FEM workbench
|
||||
|
||||
|
||||
class _FemMechanicalResult():
|
||||
"""The Fem::_FemMechanicalResult's Proxy python type, add result specific properties
|
||||
class _FemResultMechanical():
|
||||
"""The Fem::_FemResultMechanical's Proxy python type, add result specific properties
|
||||
"""
|
||||
def __init__(self, obj):
|
||||
self.Type = "FemMechanicalResult"
|
||||
self.Type = "FemResultMechanical"
|
||||
self.Object = obj # keep a ref to the DocObj for nonGui usage
|
||||
obj.Proxy = self # link between App::DocumentObject to this object
|
||||
|
|
@ -24,7 +24,7 @@ __title__ = "ViewProvider for FEM mechanical ResultObjectPython"
|
|||
__author__ = "Qingfeng Xia, Bernd Hahnebach"
|
||||
__url__ = "http://www.freecadweb.org"
|
||||
|
||||
## @package _ViewProviderFemMechanicalResult
|
||||
## @package _ViewProviderFemResultMechanical
|
||||
# \ingroup FEM
|
||||
# \brief FreeCAD ViewProvider for mechanical ResultObjectPython in FEM workbench
|
||||
|
||||
|
@ -33,7 +33,7 @@ import FreeCADGui
|
|||
import FemGui
|
||||
|
||||
|
||||
class _ViewProviderFemMechanicalResult:
|
||||
class _ViewProviderFemResultMechanical:
|
||||
"""A View Provider for the FemResultObject Python dervied FemResult class
|
||||
"""
|
||||
|
|
@ -63,6 +63,7 @@ def insert(filename, docname):
|
|||
|
||||
########## module specific methods ##########
|
||||
def importFrd(filename, analysis=None, result_name_prefix=None):
|
||||
import ObjectsFem
|
||||
if result_name_prefix is None:
|
||||
result_name_prefix = ''
|
||||
m = readResult(filename)
|
||||
|
@ -70,7 +71,6 @@ def importFrd(filename, analysis=None, result_name_prefix=None):
|
|||
if(len(m['Nodes']) > 0):
|
||||
if analysis is None:
|
||||
analysis_name = os.path.splitext(os.path.basename(filename))[0]
|
||||
import ObjectsFem
|
||||
analysis_object = ObjectsFem.makeAnalysis('Analysis')
|
||||
analysis_object.Label = analysis_name
|
||||
else:
|
||||
|
@ -108,8 +108,7 @@ def importFrd(filename, analysis=None, result_name_prefix=None):
|
|||
results_name = result_name_prefix + 'time_' + str(step_time) + '_results'
|
||||
else:
|
||||
results_name = result_name_prefix + 'results'
|
||||
import ObjectsFem
|
||||
results = ObjectsFem.makeMechanicalResult(results_name)
|
||||
results = ObjectsFem.makeResultMechanical(results_name)
|
||||
for m in analysis_object.Member:
|
||||
if m.isDerivedFrom("Fem::FemMeshObject"):
|
||||
results.Mesh = m
|
||||
|
|
|
@ -74,11 +74,11 @@ def export(objectslist, filename):
|
|||
|
||||
########## module specific methods ##########
|
||||
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]
|
||||
import ObjectsFem
|
||||
analysis_object = ObjectsFem.makeAnalysis('Analysis')
|
||||
analysis_object.Label = analysis_name
|
||||
else:
|
||||
|
@ -86,8 +86,7 @@ def importVTK(filename, analysis=None, result_name_prefix=None):
|
|||
|
||||
# if properties can be added in FemVTKTools importCfdResult(), this file can be used for CFD workbench
|
||||
results_name = result_name_prefix + 'results'
|
||||
import ObjectsFem
|
||||
result_obj = ObjectsFem.makeMechanicalResult(results_name)
|
||||
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
|
||||
|
||||
|
|
|
@ -65,13 +65,13 @@ def insert(filename, docname):
|
|||
def import_z88_disp(filename, analysis=None, result_name_prefix=None):
|
||||
'''insert a FreeCAD FEM Result object in the ActiveDocument
|
||||
'''
|
||||
import ObjectsFem
|
||||
if result_name_prefix is 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]
|
||||
import ObjectsFem
|
||||
analysis_object = ObjectsFem.makeAnalysis('Analysis')
|
||||
analysis_object.Label = analysis_name
|
||||
else:
|
||||
|
@ -79,8 +79,7 @@ def import_z88_disp(filename, analysis=None, result_name_prefix=None):
|
|||
|
||||
for result_set in m['Results']:
|
||||
results_name = result_name_prefix + 'results'
|
||||
import ObjectsFem
|
||||
results = ObjectsFem.makeMechanicalResult(results_name)
|
||||
results = ObjectsFem.makeResultMechanical(results_name)
|
||||
#results = FreeCAD.ActiveDocument.addObject('Fem::FemResultObject', results_name)
|
||||
for m in analysis_object.Member:
|
||||
if m.isDerivedFrom("Fem::FemMeshObject"):
|
||||
|
|
Loading…
Reference in New Issue
Block a user