diff --git a/src/Mod/BIM/ArchPipe.py b/src/Mod/BIM/ArchPipe.py index 067203e094..8071fe8b95 100644 --- a/src/Mod/BIM/ArchPipe.py +++ b/src/Mod/BIM/ArchPipe.py @@ -35,6 +35,7 @@ __url__ = "https://www.freecad.org" import FreeCAD import ArchComponent +import ArchIFC from draftutils import params @@ -101,7 +102,11 @@ class _ArchPipe(ArchComponent.Component): self.setProperties(obj) def onChanged(self, obj, prop): - if prop == "ProfileType": + if prop == "IfcType": + root = ArchIFC.IfcProduct() + root.setupIfcAttributes(obj) + root.setupIfcComplexAttributes(obj) + elif prop == "ProfileType": if obj.ProfileType == "Square": obj.setPropertyStatus("Height", "Hidden") obj.setPropertyStatus("Diameter", "Hidden") diff --git a/src/Mod/BIM/ArchRebar.py b/src/Mod/BIM/ArchRebar.py index 8aa62f0e86..46526f3fb5 100644 --- a/src/Mod/BIM/ArchRebar.py +++ b/src/Mod/BIM/ArchRebar.py @@ -38,6 +38,7 @@ __url__ = "https://www.freecad.org" import FreeCAD import ArchCommands +import ArchIFC import ArchComponent import Draft import DraftVecUtils @@ -210,8 +211,11 @@ class _Rebar(ArchComponent.Component): return [wires,obj.Diameter.Value/2] def onChanged(self,obj,prop): - - if prop == "Host": + if prop == "IfcType": + root = ArchIFC.IfcProduct() + root.setupIfcAttributes(obj) + root.setupIfcComplexAttributes(obj) + elif prop == "Host": if hasattr(obj,"Host"): if obj.Host: # mark host to recompute so it can detect this object