From 8b25a40cbffe0bf77db6d50b2686ea6d7e51c8ad Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Sat, 13 Sep 2014 13:54:47 -0300 Subject: [PATCH] Arch: equipments now choose type (Part or Mesh) on creation based on the base object --- src/Mod/Arch/ArchEquipment.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/Mod/Arch/ArchEquipment.py b/src/Mod/Arch/ArchEquipment.py index faf57b0fa..dcc6a717a 100644 --- a/src/Mod/Arch/ArchEquipment.py +++ b/src/Mod/Arch/ArchEquipment.py @@ -41,16 +41,29 @@ else: Roles = ["Furniture", "Hydro Equipment", "Electric Equipment"] -def makeEquipment(baseobj=None,placement=None,name=translate("Arch","Equipment"),type="Part"): +def makeEquipment(baseobj=None,placement=None,name=translate("Arch","Equipment"),type=None): "makeEquipment([baseobj,placement,name,type]): creates an equipment object from the given base object" - if type == "Part": - obj = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",name) + if type: + if type == "Part": + obj = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",name) + else: + obj = FreeCAD.ActiveDocument.addObject("Mesh::FeaturePython",name) + if baseobj: + obj.Base = baseobj else: - obj = FreeCAD.ActiveDocument.addObject("Mesh::FeaturePython",name) + if baseobj: + if baseobj.isDerivedFrom("Mesh::Feature"): + obj = FreeCAD.ActiveDocument.addObject("Mesh::FeaturePython",name) + else: + obj = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",name) + obj.Base = baseobj + else: + obj = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",name) obj.Label = name _Equipment(obj) if baseobj: obj.Base = baseobj + else: if placement: obj.Placement = placement if FreeCAD.GuiUp: