+ Do not rely on active document but active analysis object
This commit is contained in:
parent
5e48d2ec33
commit
eff27994e5
|
@ -37,7 +37,7 @@ __url__ = "http://www.freecadweb.org"
|
|||
|
||||
def makeFemBeamSection(width=20.0, height=20.0, name="BeamSection"):
|
||||
'''makeFemBeamSection([width], [height], [name]): creates an beamsection object to define a cross section'''
|
||||
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", name)
|
||||
obj = FemGui.getActiveAnalysis().Document.addObject("App::FeaturePython", name)
|
||||
_FemBeamSection(obj)
|
||||
obj.Width = width
|
||||
obj.Height = height
|
||||
|
@ -57,8 +57,7 @@ class _CommandFemBeamSection:
|
|||
def Activated(self):
|
||||
FreeCAD.ActiveDocument.openTransaction("Create FemBeamSection")
|
||||
FreeCADGui.addModule("FemBeamSection")
|
||||
FreeCADGui.doCommand("FemBeamSection.makeFemBeamSection()")
|
||||
FreeCADGui.doCommand("App.activeDocument()." + FemGui.getActiveAnalysis().Name + ".Member = App.activeDocument()." + FemGui.getActiveAnalysis().Name + ".Member + [App.ActiveDocument.ActiveObject]")
|
||||
FreeCADGui.doCommand("FemGui.getActiveAnalysis().Member = FemGui.getActiveAnalysis().Member + [FemBeamSection.makeFemBeamSection()]")
|
||||
|
||||
def IsActive(self):
|
||||
if FemGui.getActiveAnalysis():
|
||||
|
|
|
@ -55,7 +55,7 @@ class FemCommands(object):
|
|||
elif self.is_active == 'with_results':
|
||||
active = FreeCADGui.ActiveDocument is not None and FemGui.getActiveAnalysis() is not None and self.results_present()
|
||||
elif self.is_active == 'with_part_feature':
|
||||
active = FreeCADGui.ActiveDocument is not None and FemGui.getActiveAnalysis() is not None and self.part_feature_selected()
|
||||
active = FemGui.getActiveAnalysis() is not None and FemGui.getActiveAnalysis().Document is FreeCAD.ActiveDocument and self.part_feature_selected()
|
||||
return active
|
||||
|
||||
def results_present(self):
|
||||
|
|
|
@ -37,7 +37,7 @@ __url__ = "http://www.freecadweb.org"
|
|||
|
||||
def makeFemShellThickness(thickness=20.0, name="ShellThickness"):
|
||||
'''makeFemShellThickness([thickness], [name]): creates an shellthickness object to define a plate thickness'''
|
||||
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", name)
|
||||
obj = FemGui.getActiveAnalysis().Document.addObject("App::FeaturePython", name)
|
||||
_FemShellThickness(obj)
|
||||
obj.Thickness = thickness
|
||||
if FreeCAD.GuiUp:
|
||||
|
@ -56,8 +56,7 @@ class _CommandFemShellThickness:
|
|||
def Activated(self):
|
||||
FreeCAD.ActiveDocument.openTransaction("Create FemShellThickness")
|
||||
FreeCADGui.addModule("FemShellThickness")
|
||||
FreeCADGui.doCommand("FemShellThickness.makeFemShellThickness()")
|
||||
FreeCADGui.doCommand("App.activeDocument()." + FemGui.getActiveAnalysis().Name + ".Member = App.activeDocument()." + FemGui.getActiveAnalysis().Name + ".Member + [App.ActiveDocument.ActiveObject]")
|
||||
FreeCADGui.doCommand("FemGui.getActiveAnalysis().Member = FemGui.getActiveAnalysis().Member + [FemShellThickness.makeFemShellThickness()]")
|
||||
|
||||
def IsActive(self):
|
||||
if FemGui.getActiveAnalysis():
|
||||
|
|
|
@ -60,6 +60,9 @@ class _CommandMechanicalMaterial:
|
|||
MatObj = i
|
||||
|
||||
if (not MatObj):
|
||||
femDoc = FemGui.getActiveAnalysis().Document
|
||||
if FreeCAD.ActiveDocument is not femDoc:
|
||||
FreeCADGui.setActiveDocument(femDoc)
|
||||
FreeCAD.ActiveDocument.openTransaction("Create Material")
|
||||
FreeCADGui.addModule("MechanicalMaterial")
|
||||
FreeCADGui.doCommand("MechanicalMaterial.makeMechanicalMaterial('MechanicalMaterial')")
|
||||
|
@ -67,6 +70,8 @@ class _CommandMechanicalMaterial:
|
|||
FreeCADGui.doCommand("Gui.activeDocument().setEdit(App.ActiveDocument.ActiveObject.Name,0)")
|
||||
# FreeCADGui.doCommand("Fem.makeMaterial()")
|
||||
else:
|
||||
if FreeCAD.ActiveDocument is not MatObj.Document:
|
||||
FreeCADGui.setActiveDocument(MatObj.Document)
|
||||
FreeCADGui.doCommand("Gui.activeDocument().setEdit('" + MatObj.Name + "',0)")
|
||||
|
||||
def IsActive(self):
|
||||
|
@ -153,11 +158,13 @@ class _MechanicalMaterialTaskPanel:
|
|||
|
||||
def accept(self):
|
||||
self.obj.Material = self.material
|
||||
FreeCADGui.ActiveDocument.resetEdit()
|
||||
FreeCAD.ActiveDocument.recompute()
|
||||
doc = FreeCADGui.getDocument(self.obj.Document)
|
||||
doc.resetEdit()
|
||||
doc.Document.recompute()
|
||||
|
||||
def reject(self):
|
||||
FreeCADGui.ActiveDocument.resetEdit()
|
||||
doc = FreeCADGui.getDocument(self.obj.Document)
|
||||
doc.resetEdit()
|
||||
|
||||
def goMatWeb(self):
|
||||
import webbrowser
|
||||
|
|
Loading…
Reference in New Issue
Block a user