def makeComponent(baseobj=None,name="Component",delete=False): '''makeComponent([baseobj]): creates an undefined, non-parametric Arch component from the given base object''' obj = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",name) obj.Label = translate("Arch",name) ArchComponent.Component(obj) if FreeCAD.GuiUp: ArchComponent.ViewProviderComponent(obj.ViewObject) if baseobj: import Part if baseobj.isDerivedFrom("Part::Feature"): obj.Shape = baseobj.Shape obj.Placement = baseobj.Placement if delete: FreeCAD.ActiveDocument.removeObject(baseobj.Name) else: obj.Base = baseobj if FreeCAD.GuiUp: baseobj.ViewObject.hide() elif isinstance(baseobj,Part.Shape): obj.Shape = baseobj return obj