| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | __title__ = "FreeCAD FEM material reinforced task panel for the document object" |
| | __author__ = "Bernd Hahnebach, Mario Passaglia" |
| | __url__ = "https://www.freecad.org" |
| |
|
| | |
| | |
| | |
| |
|
| | from PySide import QtCore |
| | from PySide import QtGui |
| |
|
| | import FreeCAD |
| | import FreeCADGui |
| | import Materials |
| | import MatGui |
| |
|
| | from . import base_femtaskpanel |
| |
|
| |
|
| | class _TaskPanel(base_femtaskpanel._BaseTaskPanel): |
| | """ |
| | The editmode TaskPanel for MaterialReinforced objects |
| | """ |
| |
|
| | def __init__(self, obj): |
| | super().__init__(obj) |
| |
|
| | self.material = self.obj.Material |
| | self.uuid = self.obj.UUID |
| | self.reinf = self.obj.Reinforcement |
| | self.reinf_uuid = self.obj.ReinforcementUUID |
| | self.material_manager = Materials.MaterialManager() |
| |
|
| | |
| | self.parameter_widget = FreeCADGui.PySideUic.loadUi( |
| | FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/MaterialReinforcement.ui" |
| | ) |
| |
|
| | self.material_tree = MatGui.MaterialTreeWidget(self.parameter_widget.wgt_material_tree) |
| | self.material_tree.expanded = False |
| | self.material_tree.IncludeEmptyFolders = False |
| | self.material_tree.IncludeEmptyLibraries = False |
| |
|
| | self.reinf_tree = MatGui.MaterialTreeWidget(self.parameter_widget.wgt_reinf_tree) |
| | self.reinf_tree.expanded = False |
| | self.reinf_tree.IncludeEmptyFolders = False |
| | self.reinf_tree.IncludeEmptyLibraries = False |
| |
|
| | self.form = self.parameter_widget |
| |
|
| | QtCore.QObject.connect( |
| | self.parameter_widget.wgt_material_tree, |
| | QtCore.SIGNAL("onMaterial(QString)"), |
| | self.set_material, |
| | ) |
| |
|
| | QtCore.QObject.connect( |
| | self.parameter_widget.wgt_reinf_tree, |
| | QtCore.SIGNAL("onMaterial(QString)"), |
| | self.set_reinforcement, |
| | ) |
| |
|
| | self.material_tree.UUID = self.uuid |
| | self.reinf_tree.UUID = self.reinf_uuid |
| |
|
| | def accept(self): |
| | self.obj.Material = self.material |
| | self.obj.UUID = self.uuid |
| | self.obj.Reinforcement = self.reinf |
| | self.obj.ReinforcementUUID = self.reinf_uuid |
| |
|
| | return super().accept() |
| |
|
| | def set_material(self, value): |
| | if not value: |
| | return |
| | mat = self.material_manager.getMaterial(value) |
| | self.material = mat.Properties |
| | self.uuid = mat.UUID |
| | self.parameter_widget.lbl_material_descr.setText(self.material["Description"]) |
| |
|
| | def set_reinforcement(self, value): |
| | if not value: |
| | return |
| | mat = self.material_manager.getMaterial(value) |
| | self.reinf = mat.Properties |
| | self.reinf_uuid = mat.UUID |
| | self.parameter_widget.lbl_reinf_descr.setText(self.reinf["Description"]) |
| |
|