diff --git a/src/Mod/Arch/Arch.py b/src/Mod/Arch/Arch.py index 78cc22f692..4494218424 100644 --- a/src/Mod/Arch/Arch.py +++ b/src/Mod/Arch/Arch.py @@ -43,6 +43,7 @@ if FreeCAD.GuiUp: from ArchWall import * from ArchFloor import * from ArchFence import * +from ArchProject import * from ArchSite import * from ArchBuilding import * from ArchStructure import * diff --git a/src/Mod/Arch/ArchBuildingPart.py b/src/Mod/Arch/ArchBuildingPart.py index 9f68cf5115..7eb2105a8b 100644 --- a/src/Mod/Arch/ArchBuildingPart.py +++ b/src/Mod/Arch/ArchBuildingPart.py @@ -313,7 +313,7 @@ class CommandBuildingPart: -class BuildingPart: +class BuildingPart(ArchIFC.IfcProduct): "The BuildingPart object" @@ -326,7 +326,7 @@ class BuildingPart: self.setProperties(obj) def setProperties(self,obj): - ArchIFC.setProperties(obj) + ArchIFC.IfcProduct.setProperties(self, obj) pl = obj.PropertiesList if not "Height" in pl: @@ -366,7 +366,7 @@ class BuildingPart: def onChanged(self,obj,prop): - ArchIFC.onChanged(obj, prop) + ArchIFC.IfcProduct.onChanged(self, obj, prop) if prop == "Height": for child in obj.Group: diff --git a/src/Mod/Arch/ArchCommands.py b/src/Mod/Arch/ArchCommands.py index 9917e375a1..87780c46d6 100644 --- a/src/Mod/Arch/ArchCommands.py +++ b/src/Mod/Arch/ArchCommands.py @@ -116,7 +116,7 @@ def addComponents(objectsList,host): if not isinstance(objectsList,list): objectsList = [objectsList] hostType = Draft.getType(host) - if hostType in ["Floor","Building","Site","BuildingPart"]: + if hostType in ["Floor","Building","Site","Project","BuildingPart"]: for o in objectsList: host.addObject(o) elif hostType in ["Wall","Structure","Window","Roof","Stairs","StructuralSystem","Panel","Component"]: @@ -744,7 +744,7 @@ def pruneIncluded(objectslist,strict=False): if obj.isDerivedFrom("Part::Feature"): if not (Draft.getType(obj) in ["Window","Clone","Pipe","Rebar"]): for parent in obj.InList: - if parent.isDerivedFrom("Part::Feature") and not (Draft.getType(parent) in ["Space","Facebinder","Window","Roof","Clone","Site"]): + if parent.isDerivedFrom("Part::Feature") and not (Draft.getType(parent) in ["Space","Facebinder","Window","Roof","Clone","Site","Project"]): if not parent.isDerivedFrom("Part::Part2DObject"): # don't consider 2D objects based on arch elements if hasattr(parent,"Host") and (parent.Host == obj): diff --git a/src/Mod/Arch/ArchComponent.py b/src/Mod/Arch/ArchComponent.py index e9df5625b6..ded738bdd3 100644 --- a/src/Mod/Arch/ArchComponent.py +++ b/src/Mod/Arch/ArchComponent.py @@ -133,22 +133,20 @@ def removeFromComponent(compobject,subobject): -class Component: - +class Component(ArchIFC.IfcProduct): "The default Arch Component object" - def __init__(self,obj): - + def __init__(self, obj): obj.Proxy = self - Component.setProperties(self,obj) + Component.setProperties(self, obj) self.Type = "Component" - def setProperties(self,obj): + def setProperties(self, obj): "Sets the needed properties of this object" - ArchIFC.setProperties(obj) + ArchIFC.IfcProduct.setProperties(self, obj) pl = obj.PropertiesList if not "Base" in pl: @@ -195,9 +193,8 @@ class Component: #self.MoveWithHost = False self.Type = "Component" - def onDocumentRestored(self,obj): - - Component.setProperties(self,obj) + def onDocumentRestored(self, obj): + Component.setProperties(self, obj) def execute(self,obj): @@ -210,24 +207,20 @@ class Component: obj.Shape = shape def __getstate__(self): - # for compatibility with 0.17 if hasattr(self,"Type"): return self.Type return "Component" def __setstate__(self,state): - return None def onBeforeChange(self,obj,prop): - if prop == "Placement": self.oldPlacement = FreeCAD.Placement(obj.Placement) - def onChanged(self,obj,prop): - - ArchIFC.onChanged(obj, prop) + def onChanged(self, obj, prop): + ArchIFC.IfcProduct.onChanged(self, obj, prop) if prop == "Placement": if hasattr(self,"oldPlacement"): diff --git a/src/Mod/Arch/ArchFloor.py b/src/Mod/Arch/ArchFloor.py index a800199327..1c24cb313d 100644 --- a/src/Mod/Arch/ArchFloor.py +++ b/src/Mod/Arch/ArchFloor.py @@ -22,7 +22,7 @@ #* * #*************************************************************************** -import FreeCAD,Draft,ArchCommands, DraftVecUtils +import FreeCAD,Draft,ArchCommands, DraftVecUtils, ArchIFC if FreeCAD.GuiUp: import FreeCADGui from PySide import QtCore, QtGui @@ -121,7 +121,7 @@ Floor creation aborted.") + "\n" FreeCAD.ActiveDocument.recompute() -class _Floor: +class _Floor(ArchIFC.IfcProduct): "The Floor object" @@ -134,6 +134,7 @@ class _Floor: def setProperties(self,obj): + ArchIFC.IfcProduct.setProperties(self, obj) pl = obj.PropertiesList if not "Height" in pl: obj.addProperty("App::PropertyLength","Height","Floor",QT_TRANSLATE_NOOP("App::Property","The height of this object")) @@ -142,10 +143,6 @@ class _Floor: if not hasattr(obj,"Placement"): # obj can be a Part Feature and already has a placement obj.addProperty("App::PropertyPlacement","Placement","Base",QT_TRANSLATE_NOOP("App::Property","The placement of this object")) - if not "IfcType" in pl: - obj.addProperty("App::PropertyEnumeration","IfcType","IFC",QT_TRANSLATE_NOOP("App::Property","The type of this object")) - import ArchIFC - obj.IfcType = ArchIFC.IfcTypes self.Type = "Floor" def onDocumentRestored(self,obj): @@ -161,6 +158,7 @@ class _Floor: return None def onChanged(self,obj,prop): + ArchIFC.IfcProduct.onChanged(self, obj, prop) if not hasattr(self,"Object"): # on restore, self.Object is not there anymore diff --git a/src/Mod/Arch/ArchIFC.py b/src/Mod/Arch/ArchIFC.py index 120e284b5e..d5b2616dde 100644 --- a/src/Mod/Arch/ArchIFC.py +++ b/src/Mod/Arch/ArchIFC.py @@ -9,181 +9,185 @@ else: return txt import ArchIFCSchema -IfcTypes = ['Undefined']+[''.join(map(lambda x: x if x.islower() else " "+x, t[3:]))[1:] for t in ArchIFCSchema.IfcProducts.keys()] -def setProperties(obj): +IfcTypes = [''.join(map(lambda x: x if x.islower() else " "+x, t[3:]))[1:] for t in ArchIFCSchema.IfcProducts.keys()] - "Checks and sets all the needed IFC-related properties" +class IfcRoot: + def setProperties(self, obj): + if not "IfcData" in obj.PropertiesList: + obj.addProperty("App::PropertyMap","IfcData","IFC",QT_TRANSLATE_NOOP("App::Property","IFC data")) - if not "IfcType" in obj.PropertiesList: - obj.addProperty("App::PropertyEnumeration","IfcType","IFC",QT_TRANSLATE_NOOP("App::Property","The type of this object")) - obj.IfcType = IfcTypes + if not "IfcType" in obj.PropertiesList: + obj.addProperty("App::PropertyEnumeration","IfcType","IFC",QT_TRANSLATE_NOOP("App::Property","The type of this object")) + obj.IfcType = self.getCanonicalisedIfcTypes() - if not "IfcData" in obj.PropertiesList: - obj.addProperty("App::PropertyMap","IfcData","IFC",QT_TRANSLATE_NOOP("App::Property","IFC data")) + if not "IfcProperties" in obj.PropertiesList: + obj.addProperty("App::PropertyMap","IfcProperties","IFC",QT_TRANSLATE_NOOP("App::Property","IFC properties of this object")) - if not "IfcProperties" in obj.PropertiesList: - obj.addProperty("App::PropertyMap","IfcProperties","IFC",QT_TRANSLATE_NOOP("App::Property","IFC properties of this object")) + self.migrateDeprecatedAttributes(obj) - migrateDeprecatedAttributes(obj) + def onChanged(self, obj, prop): + if prop == "IfcType": + self.setupIfcAttributes(obj) + self.setupIfcComplexAttributes(obj) + if obj.getGroupOfProperty(prop) == "IFC Attributes": + self.setObjIfcAttributeValue(obj, prop, obj.getPropertyByName(prop)) -def onChanged(obj, prop): + def setupIfcAttributes(self, obj): + ifcTypeSchema = self.getIfcTypeSchema(obj.IfcType) + if ifcTypeSchema is None: + return + self.purgeUnusedIfcAttributesFromPropertiesList(ifcTypeSchema, obj) + self.addIfcAttributes(ifcTypeSchema, obj) - "Called by Arch object's OnChanged method" + def setupIfcComplexAttributes(self, obj): + ifcTypeSchema = self.getIfcTypeSchema(obj.IfcType) + if ifcTypeSchema is None: + return + IfcData = obj.IfcData + if "complex_attributes" not in IfcData: + IfcData["complex_attributes"] = "{}" + ifcComplexAttributes = json.loads(IfcData["complex_attributes"]) + for attribute in ifcTypeSchema["complex_attributes"]: + if attribute["name"] not in ifcComplexAttributes.keys(): + ifcComplexAttributes[attribute["name"]] = {} + IfcData["complex_attributes"] = json.dumps(ifcComplexAttributes) + obj.IfcData = IfcData - if prop == "IfcType": - setupIfcAttributes(obj) - if obj.getGroupOfProperty(prop) == "IFC Attributes": - setObjIfcAttributeValue(obj, prop, obj.getPropertyByName(prop)) + def getIfcTypeSchema(self, IfcType): + name = "Ifc" + IfcType.replace(" ", "") + if IfcType == "Undefined": + name = "IfcBuildingElementProxy" + if name in self.getIfcSchema(): + return self.getIfcSchema()[name] + return None -def getIfcProduct(IfcType): - - "Returns an IFC product name from an obj.IfcType" - - name = "Ifc" + IfcType.replace(" ", "") - if IfcType == "Undefined": - name = "IfcBuildingElementProxy" - if name in ArchIFCSchema.IfcProducts: - return ArchIFCSchema.IfcProducts[name] - return None + def getIfcSchema(self): + return {} -def getIfcProductAttribute(ifcProduct, name): - - "Returns the attributes of a given product" + def getCanonicalisedIfcTypes(self): + schema = self.getIfcSchema() + return [''.join(map(lambda x: x if x.islower() else " "+x, t[3:]))[1:] for t in schema.keys()] - for attribute in ifcProduct["attributes"]: - if attribute["name"].replace(' ', '') == name: - return attribute - return None + def getIfcAttributeSchema(self, ifcTypeSchema, name): + for attribute in ifcTypeSchema["attributes"]: + if attribute["name"].replace(' ', '') == name: + return attribute + return None -def setupIfcAttributes(obj): + def addIfcAttributes(self, ifcTypeSchema, obj): + for attribute in ifcTypeSchema["attributes"]: + if attribute["name"] in obj.PropertiesList \ + or attribute["name"] == "RefLatitude" \ + or attribute["name"] == "RefLongitude" \ + or attribute["name"] == "Name": + continue + self.addIfcAttribute(obj, attribute) + self.addIfcAttributeValueExpressions(obj, attribute) - "Sets the necessary IFC attribute properties for an object" - - ifcProduct = getIfcProduct(obj.IfcType) - if ifcProduct is None: - return - purgeUnusedIfcAttributesFromPropertiesList(ifcProduct, obj) - addIfcProductAttributesToObj(ifcProduct, obj) - -def addIfcProductAttributesToObj(ifcProduct, obj): - - "Adds the necessary attribute properties to an object" - - for attribute in ifcProduct["attributes"]: - if attribute["name"] in obj.PropertiesList \ - or attribute["name"] == "RefLatitude" \ - or attribute["name"] == "RefLongitude": - continue - addIfcProductAttribute(obj, attribute) - addIfcAttributeValueExpressions(obj, attribute) - -def addIfcProductAttribute(obj, attribute): - - "Adds a given attribute property" - - if not hasattr(obj,"IfcData"): - return - IfcData = obj.IfcData - if "attributes" not in IfcData: - IfcData["attributes"] = "{}" - IfcAttributes = json.loads(IfcData["attributes"]) - IfcAttributes[attribute["name"]] = attribute - IfcData["attributes"] = json.dumps(IfcAttributes) - obj.IfcData = IfcData - if attribute["is_enum"]: - obj.addProperty("App::PropertyEnumeration", attribute["name"], "IFC Attributes", QT_TRANSLATE_NOOP("App::Property", "Description of IFC attributes are not yet implemented")) - setattr(obj, attribute["name"], attribute["enum_values"]) - else: - import ArchIFCSchema - propertyType = "App::" + ArchIFCSchema.IfcTypes[attribute["type"]]["property"] - obj.addProperty(propertyType, attribute["name"], "IFC Attributes", QT_TRANSLATE_NOOP("App::Property", "Description of IFC attributes are not yet implemented")) - -def addIfcAttributeValueExpressions(obj, attribute): - - "Binds the given attribute properties with expressions" - - if not attribute["name"] in obj.PropertiesList: - return - if obj.getGroupOfProperty(attribute["name"]) != "IFC Attributes": - return - if attribute["name"] == "OverallWidth": - if "Length" in obj.PropertiesList: - obj.setExpression("OverallWidth", "Length.Value") - elif "Width" in obj.PropertiesList: - obj.setExpression("OverallWidth", "Width.Value") - elif obj.Shape and (obj.Shape.BoundBox.XLength > obj.Shape.BoundBox.YLength): - obj.setExpression("OverallWidth", "Shape.BoundBox.XLength") - elif obj.Shape: - obj.setExpression("OverallWidth", "Shape.BoundBox.YLength") - elif attribute["name"] == "OverallHeight": - if "Height" in obj.PropertiesList: - obj.setExpression("OverallHeight", "Height.Value") + def addIfcAttribute(self, obj, attribute): + if not hasattr(obj, "IfcData"): + return + IfcData = obj.IfcData + if "attributes" not in IfcData: + IfcData["attributes"] = "{}" + IfcAttributes = json.loads(IfcData["attributes"]) + IfcAttributes[attribute["name"]] = attribute + IfcData["attributes"] = json.dumps(IfcAttributes) + obj.IfcData = IfcData + if attribute["is_enum"]: + obj.addProperty("App::PropertyEnumeration", attribute["name"], "IFC Attributes", QT_TRANSLATE_NOOP("App::Property", "Description of IFC attributes are not yet implemented")) + setattr(obj, attribute["name"], attribute["enum_values"]) else: - obj.setExpression("OverallHeight", "Shape.BoundBox.ZLength") - elif attribute["name"] == "ElevationWithFlooring": - if "Shape" in obj.PropertiesList: + import ArchIFCSchema + propertyType = "App::" + ArchIFCSchema.IfcTypes[attribute["type"]]["property"] + obj.addProperty(propertyType, attribute["name"], "IFC Attributes", QT_TRANSLATE_NOOP("App::Property", "Description of IFC attributes are not yet implemented")) + + def addIfcAttributeValueExpressions(self, obj, attribute): + if obj.getGroupOfProperty(attribute["name"]) != "IFC Attributes" \ + or attribute["name"] not in obj.PropertiesList: + return + if attribute["name"] == "OverallWidth": + if "Length" in obj.PropertiesList: + obj.setExpression("OverallWidth", "Length.Value") + elif "Width" in obj.PropertiesList: + obj.setExpression("OverallWidth", "Width.Value") + elif obj.Shape and (obj.Shape.BoundBox.XLength > obj.Shape.BoundBox.YLength): + obj.setExpression("OverallWidth", "Shape.BoundBox.XLength") + elif obj.Shape: + obj.setExpression("OverallWidth", "Shape.BoundBox.YLength") + elif attribute["name"] == "OverallHeight": + if "Height" in obj.PropertiesList: + obj.setExpression("OverallHeight", "Height.Value") + else: + obj.setExpression("OverallHeight", "Shape.BoundBox.ZLength") + elif attribute["name"] == "ElevationWithFlooring" and "Shape" in obj.PropertiesList: obj.setExpression("ElevationWithFlooring", "Shape.BoundBox.ZMin") - elif attribute["name"] == "Elevation": - if "Placement" in obj.PropertiesList: + elif attribute["name"] == "Elevation" and "Placement" in obj.PropertiesList: obj.setExpression("Elevation", "Placement.Base.z") - elif attribute["name"] == "NominalDiameter": - if "Diameter" in obj.PropertiesList: + elif attribute["name"] == "NominalDiameter" and "Diameter" in obj.PropertiesList: obj.setExpression("NominalDiameter", "Diameter.Value") - elif attribute["name"] == "BarLength": - if "Length" in obj.PropertiesList: + elif attribute["name"] == "BarLength" and "Length" in obj.PropertiesList: obj.setExpression("BarLength", "Length.Value") - elif attribute["name"] == "RefElevation": - if "Elevation" in obj.PropertiesList: + elif attribute["name"] == "RefElevation" and "Elevation" in obj.PropertiesList: obj.setExpression("RefElevation", "Elevation.Value") - elif attribute["name"] == "LongName": - obj.LongName = obj.Label + elif attribute["name"] == "LongName": + obj.LongName = obj.Label -def setObjIfcAttributeValue(obj, attributeName, value): - - "Sets the value of a given attribute property" - - IfcData = obj.IfcData - if "attributes" not in IfcData: - IfcData["attributes"] = "{}" - IfcAttributes = json.loads(IfcData["attributes"]) - if isinstance(value, FreeCAD.Units.Quantity): - value = float(value) - if not attributeName in IfcAttributes: - IfcAttributes[attributeName] = {} - IfcAttributes[attributeName]["value"] = value - IfcData["attributes"] = json.dumps(IfcAttributes) - obj.IfcData = IfcData + def setObjIfcAttributeValue(self, obj, attributeName, value): + IfcData = obj.IfcData + if "attributes" not in IfcData: + IfcData["attributes"] = "{}" + IfcAttributes = json.loads(IfcData["attributes"]) + if isinstance(value, FreeCAD.Units.Quantity): + value = float(value) + if not attributeName in IfcAttributes: + IfcAttributes[attributeName] = {} + IfcAttributes[attributeName]["value"] = value + IfcData["attributes"] = json.dumps(IfcAttributes) + obj.IfcData = IfcData -def purgeUnusedIfcAttributesFromPropertiesList(ifcProduct, obj): - - "Removes unused attribute properties" - - for property in obj.PropertiesList: - if obj.getGroupOfProperty(property) != "IFC Attributes": - continue - ifcProductAttribute = getIfcProductAttribute(ifcProduct, property) - if ifcProductAttribute is None or ifcProductAttribute["is_enum"] is True: - obj.removeProperty(property) + def setObjIfcComplexAttributeValue(self, obj, attributeName, value): + IfcData = obj.IfcData + IfcAttributes = json.loads(IfcData["complex_attributes"]) + IfcAttributes[attributeName] = value + IfcData["complex_attributes"] = json.dumps(IfcAttributes) + obj.IfcData = IfcData -def migrateDeprecatedAttributes(obj): - - "Fixes obsolete properties" + def getObjIfcComplexAttribute(self, obj, attributeName): + return json.loads(obj.IfcData["complex_attributes"])[attributeName] - if "Role" in obj.PropertiesList: - r = obj.Role - obj.removeProperty("Role") - if r in IfcTypes: - obj.IfcType = r - FreeCAD.Console.PrintMessage("Upgrading "+obj.Label+" Role property to IfcType\n") + def purgeUnusedIfcAttributesFromPropertiesList(self, ifcTypeSchema, obj): + for property in obj.PropertiesList: + if obj.getGroupOfProperty(property) != "IFC Attributes": + continue + ifcAttribute = self.getIfcAttributeSchema(ifcTypeSchema, property) + if ifcAttribute is None or ifcAttribute["is_enum"] is True: + obj.removeProperty(property) - if "IfcRole" in obj.PropertiesList: - r = obj.IfcRole - obj.removeProperty("IfcRole") - if r in IfcTypes: - obj.IfcType = r - FreeCAD.Console.PrintMessage("Upgrading "+obj.Label+" IfcRole property to IfcType\n") - - if "IfcAttributes"in obj.PropertiesList: - obj.IfcData = obj.IfcAttributes - obj.removeProperty("IfcAttributes") + def migrateDeprecatedAttributes(self, obj): + if "Role" in obj.PropertiesList: + r = obj.Role + obj.removeProperty("Role") + if r in IfcTypes: + obj.IfcType = r + FreeCAD.Console.PrintMessage("Upgrading "+obj.Label+" Role property to IfcType\n") + + if "IfcRole" in obj.PropertiesList: + r = obj.IfcRole + obj.removeProperty("IfcRole") + if r in IfcTypes: + obj.IfcType = r + FreeCAD.Console.PrintMessage("Upgrading "+obj.Label+" IfcRole property to IfcType\n") + + if "IfcAttributes"in obj.PropertiesList: + obj.IfcData = obj.IfcAttributes + obj.removeProperty("IfcAttributes") + +class IfcProduct(IfcRoot): + def getIfcSchema(self): + return ArchIFCSchema.IfcProducts + +class IfcContext(IfcRoot): + def getIfcSchema(self): + return ArchIFCSchema.IfcContexts diff --git a/src/Mod/Arch/ArchIFCSchema.py b/src/Mod/Arch/ArchIFCSchema.py index 98eabcde87..33d971d8ab 100644 --- a/src/Mod/Arch/ArchIFCSchema.py +++ b/src/Mod/Arch/ArchIFCSchema.py @@ -3,6 +3,10 @@ import FreeCAD, os, json ifcVersions = ["IFC4", "IFC2X3"] IfcVersion = ifcVersions[FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch").GetInt("IfcVersion",0)] +with open(os.path.join(FreeCAD.getResourceDir(), "Mod", "Arch", "Presets", +"ifc_contexts_" + IfcVersion + ".json")) as f: + IfcContexts = json.load(f) + with open(os.path.join(FreeCAD.getResourceDir(), "Mod", "Arch", "Presets", "ifc_products_" + IfcVersion + ".json")) as f: IfcProducts = json.load(f) diff --git a/src/Mod/Arch/ArchIFCView.py b/src/Mod/Arch/ArchIFCView.py new file mode 100644 index 0000000000..b16b1c6791 --- /dev/null +++ b/src/Mod/Arch/ArchIFCView.py @@ -0,0 +1,71 @@ +import FreeCAD, ArchIFC + +if FreeCAD.GuiUp: + import FreeCADGui + from PySide import QtGui + +class IfcContextView: + def setEdit(self, viewObject, mode): + # What does mode do? + FreeCADGui.Control.showDialog(IfcContextUI(viewObject.Object)) + return True + +class IfcContextUI: + def __init__(self, object): + self.object = object + self.lineEditObjects = [] + self.createBaseLayout() + self.createMapConversionFormLayout() + self.prefillMapConversionForm() + self.form = self.baseWidget + + def accept(self): + data = {} + for lineEdit in self.lineEditObjects: + data[lineEdit.objectName()] = lineEdit.text() + ArchIFC.IfcRoot.setObjIfcComplexAttributeValue(self, self.object, "RepresentationContexts", data) + return True + + def createBaseLayout(self): + self.baseWidget = QtGui.QWidget() + self.baseLayout = QtGui.QVBoxLayout(self.baseWidget) + + def createMapConversionFormLayout(self): + self.baseLayout.addWidget(self.createLabel("Target Coordinate Reference System")) + self.baseLayout.addLayout(self.createFormEntry("name", "Name")) + self.baseLayout.addLayout(self.createFormEntry("description", "Description")) + self.baseLayout.addLayout(self.createFormEntry("geodetic_datum", "Geodetic datum")) + self.baseLayout.addLayout(self.createFormEntry("vertical_datum", "Vertical datum")) + self.baseLayout.addLayout(self.createFormEntry("map_projection", "Map projection")) + self.baseLayout.addLayout(self.createFormEntry("map_zone", "Map zone")) + self.baseLayout.addLayout(self.createFormEntry("map_unit", "Map unit")) + + self.baseLayout.addWidget(self.createLabel("Map Conversion")) + self.baseLayout.addLayout(self.createFormEntry("eastings", "Eastings")) + self.baseLayout.addLayout(self.createFormEntry("northings", "Northings")) + self.baseLayout.addLayout(self.createFormEntry("orthogonal_height", "Orthogonal height")) + self.baseLayout.addLayout(self.createFormEntry("true_north", "True north (anti-clockwise from +Y)")) + self.baseLayout.addLayout(self.createFormEntry("scale", "Scale")) + + def prefillMapConversionForm(self): + data = ArchIFC.IfcRoot.getObjIfcComplexAttribute(self, self.object, "RepresentationContexts") + for lineEdit in self.lineEditObjects: + if lineEdit.objectName() in data.keys(): + lineEdit.setText(data[lineEdit.objectName()]) + + def createFormEntry(self, name, label): + layout = QtGui.QHBoxLayout(self.baseWidget) + layout.addWidget(self.createLabel(label)) + layout.addWidget(self.createLineEdit(name)) + return layout + + def createLabel(self, value): + label = QtGui.QLabel(self.baseWidget) + label.setText(QtGui.QApplication.translate("Arch", value, None)) + return label + + def createLineEdit(self, name): + lineEdit = QtGui.QLineEdit(self.baseWidget) + lineEdit.setObjectName(name) + self.lineEditObjects.append(lineEdit) + return lineEdit diff --git a/src/Mod/Arch/ArchProject.py b/src/Mod/Arch/ArchProject.py new file mode 100644 index 0000000000..8e838721e5 --- /dev/null +++ b/src/Mod/Arch/ArchProject.py @@ -0,0 +1,126 @@ +# -*- coding: utf8 -*- + +#*************************************************************************** +#* * +#* Copyright (c) 2011 * +#* Yorik van Havre * +#* * +#* This program is free software; you can redistribute it and/or modify * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* This program is distributed in the hope that it will be useful, * +#* but WITHOUT ANY WARRANTY; without even the implied warranty of * +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +#* GNU Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * +#* License along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +#* USA * +#* * +#*************************************************************************** + +import FreeCAD,Draft,ArchComponent,ArchCommands,math,re,datetime,ArchIFC,ArchIFCView +if FreeCAD.GuiUp: + import FreeCADGui + from PySide import QtCore, QtGui + from DraftTools import translate + from PySide.QtCore import QT_TRANSLATE_NOOP +else: + def translate(ctxt,txt): + return txt + def QT_TRANSLATE_NOOP(ctxt,txt): + return txt + +## @package ArchProject +# \ingroup ARCH +# \brief The Project object and tools +# +# This module provides tools to build Project objects. + +__title__="FreeCAD Project" +__author__ = "Yorik van Havre" +__url__ = "http://www.freecadweb.org" + +def makeProject(sites=None, name="Project"): + + '''makeProject(sites): creates a project aggregating the list of sites.''' + + if not FreeCAD.ActiveDocument: + return FreeCAD.Console.PrintError("No active document. Aborting\n") + + import Part + obj = FreeCAD.ActiveDocument.addObject("Part::FeaturePython", "Project") + obj.Label = translate("Arch", name) + _Project(obj) + if FreeCAD.GuiUp: + _ViewProviderProject(obj.ViewObject) + if sites: + obj.Group = sites + return obj + +class _CommandProject: + + "the Arch Project command definition" + + def GetResources(self): + return {'Pixmap' : 'Arch_Project', + 'MenuText': QT_TRANSLATE_NOOP("Arch_Project", "Project"), + 'Accel': "P, O", + 'ToolTip': QT_TRANSLATE_NOOP("Arch_Project", "Creates a project entity aggregating the selected sites.")} + + def IsActive(self): + return not FreeCAD.ActiveDocument is None + + def Activated(self): + selection = FreeCADGui.Selection.getSelection() + siteobj = [] + + for obj in selection: + if hasattr(obj, "IfcType") and obj.IfcType == "Site": + siteobj.append(obj) + + ss = "[ " + for o in siteobj: + ss += "FreeCAD.ActiveDocument." + o.Name + ", " + ss += "]" + FreeCAD.ActiveDocument.openTransaction(translate("Arch","Create Project")) + FreeCADGui.addModule("Arch") + FreeCADGui.doCommand("obj = Arch.makeProject("+ss+")") + FreeCADGui.addModule("Draft") + FreeCADGui.doCommand("Draft.autogroup(obj)") + FreeCAD.ActiveDocument.commitTransaction() + FreeCAD.ActiveDocument.recompute() + +class _Project(ArchIFC.IfcContext): + + def __init__(self, obj): + obj.Proxy = self + self.setProperties(obj) + obj.IfcType = "Project" + + def setProperties(self, obj): + ArchIFC.IfcContext.setProperties(self, obj) + pl = obj.PropertiesList + if not hasattr(obj,"Group"): + obj.addExtension("App::GroupExtensionPython", self) + self.Type = "Project" + + def onDocumentRestored(self, obj): + self.setProperties(obj) + +class _ViewProviderProject(ArchIFCView.IfcContextView): + + def __init__(self,vobj): + vobj.Proxy = self + vobj.addExtension("Gui::ViewProviderGroupExtensionPython", self) + + def getIcon(self): + import Arch_rc + return ":/icons/Arch_Project_Tree.svg" + +if FreeCAD.GuiUp: + FreeCADGui.addCommand('Arch_Project', _CommandProject()) diff --git a/src/Mod/Arch/ArchSite.py b/src/Mod/Arch/ArchSite.py index f7753dcd5f..c716cd0108 100644 --- a/src/Mod/Arch/ArchSite.py +++ b/src/Mod/Arch/ArchSite.py @@ -521,7 +521,7 @@ Site creation aborted.") + "\n" -class _Site: +class _Site(ArchIFC.IfcProduct): "The Site object" @@ -533,8 +533,7 @@ class _Site: def setProperties(self,obj): - import ArchIFC - ArchIFC.setProperties(obj) + ArchIFC.IfcProduct.setProperties(self, obj) pl = obj.PropertiesList if not "Terrain" in pl: @@ -638,7 +637,7 @@ class _Site: def onChanged(self,obj,prop): - ArchIFC.onChanged(obj, prop) + ArchIFC.IfcProduct.onChanged(self, obj, prop) if prop == "Terrain": if obj.Terrain: if FreeCAD.GuiUp: diff --git a/src/Mod/Arch/ArchStructure.py b/src/Mod/Arch/ArchStructure.py index 88b3551bf9..e553676aba 100644 --- a/src/Mod/Arch/ArchStructure.py +++ b/src/Mod/Arch/ArchStructure.py @@ -118,7 +118,7 @@ def makeStructure(baseobj=None,length=None,width=None,height=None,name="Structur obj.Length = h if not height and not length: - obj.IfcType = "Undefined" + obj.IfcType = "Building Element Proxy" elif obj.Length > obj.Height: obj.IfcType = "Beam" obj.Label = translate("Arch","Beam") diff --git a/src/Mod/Arch/ArchWall.py b/src/Mod/Arch/ArchWall.py index e05b62b2e3..324ce68b19 100644 --- a/src/Mod/Arch/ArchWall.py +++ b/src/Mod/Arch/ArchWall.py @@ -521,13 +521,13 @@ class _Wall(ArchComponent.Component): "The Wall object" - def __init__(self,obj): + def __init__(self, obj): - ArchComponent.Component.__init__(self,obj) + ArchComponent.Component.__init__(self, obj) self.setProperties(obj) obj.IfcType = "Wall" - def setProperties(self,obj): + def setProperties(self, obj): lp = obj.PropertiesList if not "Length" in lp: @@ -750,12 +750,10 @@ class _Wall(ArchComponent.Component): obj.Area = obj.Length.Value * obj.Height.Value def onBeforeChange(self,obj,prop): - if prop == "Length": self.oldLength = obj.Length.Value - def onChanged(self,obj,prop): - + def onChanged(self, obj, prop): if prop == "Length": if obj.Base and obj.Length.Value and hasattr(self,"oldLength") and (self.oldLength != None) and (self.oldLength != obj.Length.Value): if obj.Base.isDerivedFrom("Part::Feature"): diff --git a/src/Mod/Arch/CMakeLists.txt b/src/Mod/Arch/CMakeLists.txt index cd9b753cf6..e317fb00ec 100644 --- a/src/Mod/Arch/CMakeLists.txt +++ b/src/Mod/Arch/CMakeLists.txt @@ -7,10 +7,14 @@ SET(Arch_SRCS InitGui.py ArchComponent.py ArchIFC.py + ArchIFCView.py ArchIFCSchema.py + ArchProject.py ArchWall.py importIFC.py importIFClegacy.py + importIFCHelper.py + exportIFCHelper.py Arch.py ArchBuilding.py ArchFloor.py @@ -62,6 +66,7 @@ SET(Arch_presets Presets/ifc_products_IFC4.json Presets/ifc_types_IFC2X3.json Presets/ifc_types_IFC4.json + Presets/ifc_contexts_IFC4.json ) SOURCE_GROUP("" FILES ${Arch_SRCS}) diff --git a/src/Mod/Arch/InitGui.py b/src/Mod/Arch/InitGui.py index 012385f9e9..653c5e6719 100644 --- a/src/Mod/Arch/InitGui.py +++ b/src/Mod/Arch/InitGui.py @@ -34,7 +34,7 @@ class ArchWorkbench(Workbench): # arch tools self.archtools = ["Arch_Wall","Arch_Structure","Arch_Rebar","Arch_BuildingPart", - "Arch_Floor","Arch_Building","Arch_Site","Arch_Reference", + "Arch_Project", "Arch_Site", "Arch_Building", "Arch_Floor", "Arch_Reference", "Arch_Window","Arch_Roof","Arch_AxisTools", "Arch_SectionPlane","Arch_Space","Arch_Stairs", "Arch_PanelTools","Arch_Equipment", diff --git a/src/Mod/Arch/Presets/ifc_contexts_IFC4.json b/src/Mod/Arch/Presets/ifc_contexts_IFC4.json new file mode 100644 index 0000000000..3585bb57a3 --- /dev/null +++ b/src/Mod/Arch/Presets/ifc_contexts_IFC4.json @@ -0,0 +1,146 @@ +{ + "IfcProject": { + "is_abstract": false, + "parent": "IfcContext", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "LongName", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Phase", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "RepresentationContexts", + "type": "IfcRepresentationContext" + }, + { + "name": "UnitsInContext", + "type": "IfcUnitAssignment" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "Declares", + "type": "IfcRelDeclares" + } + ] + }, + "IfcProjectLibrary": { + "is_abstract": false, + "parent": "IfcContext", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "LongName", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Phase", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "RepresentationContexts", + "type": "IfcRepresentationContext" + }, + { + "name": "UnitsInContext", + "type": "IfcUnitAssignment" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "Declares", + "type": "IfcRelDeclares" + } + ] + } +} \ No newline at end of file diff --git a/src/Mod/Arch/Presets/ifc_products_IFC4.json b/src/Mod/Arch/Presets/ifc_products_IFC4.json index 5202ba2dc3..2e2edecde3 100644 --- a/src/Mod/Arch/Presets/ifc_products_IFC4.json +++ b/src/Mod/Arch/Presets/ifc_products_IFC4.json @@ -3,6 +3,36 @@ "is_abstract": false, "parent": "IfcDistributionControlElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcActuatorTypeEnum", @@ -16,12 +46,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -29,6 +79,36 @@ "is_abstract": false, "parent": "IfcFlowTerminal", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcAirTerminalTypeEnum", @@ -41,12 +121,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -54,6 +154,36 @@ "is_abstract": false, "parent": "IfcFlowController", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcAirTerminalBoxTypeEnum", @@ -65,12 +195,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -78,6 +228,36 @@ "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcAirToAirHeatRecoveryTypeEnum", @@ -95,12 +275,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -108,6 +308,36 @@ "is_abstract": false, "parent": "IfcDistributionControlElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcAlarmTypeEnum", @@ -122,24 +352,125 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, "IfcAnnotation": { "is_abstract": false, "parent": "IfcProduct", - "attributes": [] + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] }, "IfcAudioVisualAppliance": { "is_abstract": false, "parent": "IfcFlowTerminal", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcAudioVisualApplianceTypeEnum", @@ -159,12 +490,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -172,6 +523,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcBeamTypeEnum", @@ -186,12 +567,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -199,6 +600,36 @@ "is_abstract": false, "parent": "IfcBeam", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcBeamTypeEnum", @@ -213,12 +644,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -226,6 +677,36 @@ "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcBoilerTypeEnum", @@ -236,12 +717,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -249,6 +750,46 @@ "is_abstract": false, "parent": "IfcSpatialStructureElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "LongName", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "CompositionType", + "type": "IfcElementCompositionEnum", + "is_enum": true, + "enum_values": [ + "COMPLEX", + "ELEMENT", + "PARTIAL" + ] + }, { "name": "ElevationOfRefHeight", "type": "IfcLengthMeasure", @@ -260,22 +801,102 @@ "type": "IfcLengthMeasure", "is_enum": false, "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "CompositionType", - "type": "IfcElementCompositionEnum", - "is_enum": true, - "enum_values": [ - "COMPLEX", - "ELEMENT", - "PARTIAL" - ] + "name": "IsNestedBy", + "type": "IfcRelNests" }, { - "name": "LongName", + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "ContainsElements", + "type": "IfcRelContainedInSpatialStructure" + }, + { + "name": "BuildingAddress", + "type": "IfcPostalAddress" + } + ] + }, + "IfcBuildingElement": { + "is_abstract": true, + "parent": "IfcElement", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", "type": "IfcLabel", "is_enum": false, "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -283,6 +904,36 @@ "is_abstract": false, "parent": "IfcElementComponent", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcBuildingElementPartTypeEnum", @@ -293,12 +944,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -306,6 +977,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcBuildingElementProxyTypeEnum", @@ -315,16 +1016,35 @@ "ELEMENT", "PARTIAL", "PROVISIONFORVOID", - "PROVISIONFORSPACE", "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -333,8 +1053,32 @@ "parent": "IfcSpatialStructureElement", "attributes": [ { - "name": "Elevation", - "type": "IfcLengthMeasure", + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "LongName", + "type": "IfcLabel", "is_enum": false, "enum_values": [] }, @@ -349,17 +1093,77 @@ ] }, { - "name": "LongName", - "type": "IfcLabel", + "name": "Elevation", + "type": "IfcLengthMeasure", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "ContainsElements", + "type": "IfcRelContainedInSpatialStructure" + } ] }, "IfcBurner": { "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcBurnerTypeEnum", @@ -368,12 +1172,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -381,6 +1205,36 @@ "is_abstract": false, "parent": "IfcFlowFitting", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcCableCarrierFittingTypeEnum", @@ -393,12 +1247,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -406,6 +1280,36 @@ "is_abstract": false, "parent": "IfcFlowSegment", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcCableCarrierSegmentTypeEnum", @@ -418,12 +1322,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -431,6 +1355,36 @@ "is_abstract": false, "parent": "IfcFlowFitting", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcCableFittingTypeEnum", @@ -444,12 +1398,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -457,6 +1431,36 @@ "is_abstract": false, "parent": "IfcFlowSegment", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcCableSegmentTypeEnum", @@ -469,12 +1473,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -482,6 +1506,36 @@ "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcChillerTypeEnum", @@ -493,12 +1547,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -506,6 +1580,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcChimneyTypeEnum", @@ -514,12 +1618,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -527,18 +1651,98 @@ "is_abstract": false, "parent": "IfcElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "Tag", "type": "IfcIdentifier", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcCoil": { "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcCoilTypeEnum", @@ -554,12 +1758,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -567,6 +1791,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcColumnTypeEnum", @@ -577,12 +1831,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -590,6 +1864,36 @@ "is_abstract": false, "parent": "IfcColumn", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcColumnTypeEnum", @@ -600,12 +1904,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -613,6 +1937,36 @@ "is_abstract": false, "parent": "IfcFlowTerminal", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcCommunicationsApplianceTypeEnum", @@ -633,12 +1987,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -646,6 +2020,36 @@ "is_abstract": false, "parent": "IfcFlowMovingDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcCompressorTypeEnum", @@ -669,12 +2073,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -682,6 +2106,36 @@ "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcCondenserTypeEnum", @@ -697,12 +2151,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -710,6 +2184,36 @@ "is_abstract": false, "parent": "IfcDistributionControlElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcControllerTypeEnum", @@ -723,12 +2227,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -736,6 +2260,36 @@ "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcCooledBeamTypeEnum", @@ -746,12 +2300,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -759,6 +2333,36 @@ "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcCoolingTowerTypeEnum", @@ -770,12 +2374,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -783,6 +2407,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcCoveringTypeEnum", @@ -801,12 +2455,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -814,6 +2488,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcCurtainWallTypeEnum", @@ -822,12 +2526,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -835,6 +2559,36 @@ "is_abstract": false, "parent": "IfcFlowController", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcDamperTypeEnum", @@ -854,12 +2608,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -867,6 +2641,36 @@ "is_abstract": false, "parent": "IfcElementComponent", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcDiscreteAccessoryTypeEnum", @@ -878,12 +2682,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -891,6 +2715,36 @@ "is_abstract": false, "parent": "IfcDistributionFlowElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcDistributionChamberElementTypeEnum", @@ -907,12 +2761,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -920,42 +2794,216 @@ "is_abstract": false, "parent": "IfcDistributionElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "Tag", "type": "IfcIdentifier", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcDistributionElement": { "is_abstract": false, "parent": "IfcElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "Tag", "type": "IfcIdentifier", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcDistributionFlowElement": { "is_abstract": false, "parent": "IfcDistributionElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "Tag", "type": "IfcIdentifier", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcDistributionPort": { "is_abstract": false, "parent": "IfcPort", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "FlowDirection", "type": "IfcFlowDirectionEnum", @@ -1031,12 +3079,68 @@ "NOTDEFINED" ] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcDoor": { "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "OverallHeight", "type": "IfcPositiveLengthMeasure", @@ -1093,12 +3197,32 @@ "type": "IfcLabel", "is_enum": false, "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1106,6 +3230,36 @@ "is_abstract": false, "parent": "IfcDoor", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "OverallHeight", "type": "IfcPositiveLengthMeasure", @@ -1162,12 +3316,32 @@ "type": "IfcLabel", "is_enum": false, "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1175,6 +3349,36 @@ "is_abstract": false, "parent": "IfcFlowFitting", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcDuctFittingTypeEnum", @@ -1190,12 +3394,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1203,6 +3427,36 @@ "is_abstract": false, "parent": "IfcFlowSegment", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcDuctSegmentTypeEnum", @@ -1213,12 +3467,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1226,6 +3500,36 @@ "is_abstract": false, "parent": "IfcFlowTreatmentDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcDuctSilencerTypeEnum", @@ -1237,12 +3541,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1250,6 +3574,36 @@ "is_abstract": false, "parent": "IfcFlowTerminal", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcElectricApplianceTypeEnum", @@ -1274,12 +3628,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1287,6 +3661,36 @@ "is_abstract": false, "parent": "IfcFlowController", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcElectricDistributionBoardTypeEnum", @@ -1299,12 +3703,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1312,6 +3736,36 @@ "is_abstract": false, "parent": "IfcFlowStorageDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcElectricFlowStorageDeviceTypeEnum", @@ -1325,12 +3779,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1338,6 +3812,36 @@ "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcElectricGeneratorTypeEnum", @@ -1349,12 +3853,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1362,6 +3886,36 @@ "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcElectricMotorTypeEnum", @@ -1375,12 +3929,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1388,6 +3962,36 @@ "is_abstract": false, "parent": "IfcFlowController", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcElectricTimeControlTypeEnum", @@ -1399,6 +4003,62 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcElement": { + "is_abstract": true, + "parent": "IfcProduct", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] }, { "name": "Tag", @@ -1406,12 +4066,68 @@ "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcElementAssembly": { "is_abstract": false, "parent": "IfcElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "AssemblyPlace", "type": "IfcAssemblyPlaceEnum", @@ -1439,6 +4155,62 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcElementComponent": { + "is_abstract": true, + "parent": "IfcElement", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] }, { "name": "Tag", @@ -1446,24 +4218,130 @@ "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcEnergyConversionDevice": { "is_abstract": false, "parent": "IfcDistributionFlowElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "Tag", "type": "IfcIdentifier", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcEngine": { "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcEngineTypeEnum", @@ -1474,12 +4352,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1487,6 +4385,36 @@ "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcEvaporativeCoolerTypeEnum", @@ -1504,12 +4432,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1517,6 +4465,36 @@ "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcEvaporatorTypeEnum", @@ -1531,12 +4509,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1544,6 +4542,36 @@ "is_abstract": false, "parent": "IfcExternalSpatialStructureElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "LongName", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcExternalSpatialElementTypeEnum", @@ -1554,8 +4582,68 @@ "EXTERNAL_WATER", "EXTERNAL_FIRE", "USERDEFINED", - "NOTDEFINED" + "NOTDEFIEND" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "ContainsElements", + "type": "IfcRelContainedInSpatialStructure" + } + ] + }, + "IfcExternalSpatialStructureElement": { + "is_abstract": true, + "parent": "IfcSpatialElement", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] }, { "name": "LongName", @@ -1563,12 +4651,72 @@ "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "ContainsElements", + "type": "IfcRelContainedInSpatialStructure" + } ] }, "IfcFan": { "is_abstract": false, "parent": "IfcFlowMovingDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcFanTypeEnum", @@ -1584,12 +4732,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1597,6 +4765,36 @@ "is_abstract": false, "parent": "IfcElementComponent", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcFastenerTypeEnum", @@ -1608,6 +4806,62 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcFeatureElement": { + "is_abstract": true, + "parent": "IfcElement", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] }, { "name": "Tag", @@ -1615,12 +4869,192 @@ "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcFeatureElementAddition": { + "is_abstract": true, + "parent": "IfcFeatureElement", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcFeatureElementSubtraction": { + "is_abstract": true, + "parent": "IfcFeatureElement", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcFilter": { "is_abstract": false, "parent": "IfcFlowTreatmentDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcFilterTypeEnum", @@ -1635,12 +5069,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1648,6 +5102,36 @@ "is_abstract": false, "parent": "IfcFlowTerminal", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcFireSuppressionTerminalTypeEnum", @@ -1661,12 +5145,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1674,30 +5178,160 @@ "is_abstract": false, "parent": "IfcDistributionFlowElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "Tag", "type": "IfcIdentifier", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcFlowFitting": { "is_abstract": false, "parent": "IfcDistributionFlowElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "Tag", "type": "IfcIdentifier", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcFlowInstrument": { "is_abstract": false, "parent": "IfcDistributionControlElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcFlowInstrumentTypeEnum", @@ -1714,12 +5348,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1727,6 +5381,36 @@ "is_abstract": false, "parent": "IfcFlowController", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcFlowMeterTypeEnum", @@ -1739,12 +5423,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1752,66 +5456,346 @@ "is_abstract": false, "parent": "IfcDistributionFlowElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "Tag", "type": "IfcIdentifier", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcFlowSegment": { "is_abstract": false, "parent": "IfcDistributionFlowElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "Tag", "type": "IfcIdentifier", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcFlowStorageDevice": { "is_abstract": false, "parent": "IfcDistributionFlowElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "Tag", "type": "IfcIdentifier", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcFlowTerminal": { "is_abstract": false, "parent": "IfcDistributionFlowElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "Tag", "type": "IfcIdentifier", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcFlowTreatmentDevice": { "is_abstract": false, "parent": "IfcDistributionFlowElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "Tag", "type": "IfcIdentifier", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcFooting": { "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcFootingTypeEnum", @@ -1825,12 +5809,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1838,18 +5842,98 @@ "is_abstract": false, "parent": "IfcElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "Tag", "type": "IfcIdentifier", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcFurniture": { "is_abstract": false, "parent": "IfcFurnishingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcFurnitureTypeEnum", @@ -1865,12 +5949,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1878,6 +5982,36 @@ "is_abstract": false, "parent": "IfcElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcGeographicElementTypeEnum", @@ -1887,12 +6021,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1900,6 +6054,30 @@ "is_abstract": false, "parent": "IfcProduct", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcGridTypeEnum", @@ -1913,12 +6091,80 @@ "NOTDEFINED" ] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "UAxes", + "type": "IfcGridAxis" + }, + { + "name": "VAxes", + "type": "IfcGridAxis" + }, + { + "name": "WAxes", + "type": "IfcGridAxis" + } ] }, "IfcHeatExchanger": { "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcHeatExchangerTypeEnum", @@ -1929,12 +6175,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1942,6 +6208,36 @@ "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcHumidifierTypeEnum", @@ -1963,12 +6259,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -1976,6 +6292,36 @@ "is_abstract": false, "parent": "IfcFlowTreatmentDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcInterceptorTypeEnum", @@ -1988,12 +6334,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2001,6 +6367,36 @@ "is_abstract": false, "parent": "IfcFlowFitting", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcJunctionBoxTypeEnum", @@ -2011,12 +6407,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2024,6 +6440,36 @@ "is_abstract": false, "parent": "IfcFlowTerminal", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcLampTypeEnum", @@ -2041,12 +6487,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2054,6 +6520,36 @@ "is_abstract": false, "parent": "IfcFlowTerminal", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcLightFixtureTypeEnum", @@ -2065,12 +6561,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2078,6 +6594,36 @@ "is_abstract": false, "parent": "IfcElementComponent", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "NominalDiameter", "type": "IfcPositiveLengthMeasure", @@ -2108,12 +6654,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2121,6 +6687,36 @@ "is_abstract": false, "parent": "IfcFlowTerminal", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcMedicalDeviceTypeEnum", @@ -2134,12 +6730,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2147,6 +6763,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcMemberTypeEnum", @@ -2167,12 +6813,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2180,6 +6846,36 @@ "is_abstract": false, "parent": "IfcMember", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcMemberTypeEnum", @@ -2200,12 +6896,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2213,6 +6929,36 @@ "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcMotorConnectionTypeEnum", @@ -2224,12 +6970,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2237,6 +7003,36 @@ "is_abstract": false, "parent": "IfcFeatureElementSubtraction", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcOpeningElementTypeEnum", @@ -2247,12 +7043,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2260,6 +7076,36 @@ "is_abstract": false, "parent": "IfcOpeningElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcOpeningElementTypeEnum", @@ -2270,12 +7116,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2283,6 +7149,36 @@ "is_abstract": false, "parent": "IfcFlowTerminal", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcOutletTypeEnum", @@ -2296,12 +7192,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2309,6 +7225,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcPileTypeEnum", @@ -2336,12 +7282,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2349,6 +7315,36 @@ "is_abstract": false, "parent": "IfcFlowFitting", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcPipeFittingTypeEnum", @@ -2364,12 +7360,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2377,6 +7393,36 @@ "is_abstract": false, "parent": "IfcFlowSegment", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcPipeSegmentTypeEnum", @@ -2390,12 +7436,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2403,6 +7469,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcPlateTypeEnum", @@ -2413,12 +7509,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2426,6 +7542,36 @@ "is_abstract": false, "parent": "IfcPlate", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcPlateTypeEnum", @@ -2436,12 +7582,88 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcPort": { + "is_abstract": true, + "parent": "IfcProduct", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", "is_enum": false, "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2449,6 +7671,36 @@ "is_abstract": false, "parent": "IfcFeatureElementAddition", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcProjectionElementTypeEnum", @@ -2457,12 +7709,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2470,6 +7742,36 @@ "is_abstract": false, "parent": "IfcFlowController", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcProtectiveDeviceTypeEnum", @@ -2485,12 +7787,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2498,6 +7820,36 @@ "is_abstract": false, "parent": "IfcDistributionControlElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcProtectiveDeviceTrippingUnitTypeEnum", @@ -2510,12 +7862,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2523,6 +7895,30 @@ "is_abstract": false, "parent": "IfcProduct", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "ProxyType", "type": "IfcObjectTypeEnum", @@ -2544,12 +7940,68 @@ "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcPump": { "is_abstract": false, "parent": "IfcFlowMovingDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcPumpTypeEnum", @@ -2565,12 +8017,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2578,6 +8050,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcRailingTypeEnum", @@ -2589,12 +8091,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2602,6 +8124,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcRampTypeEnum", @@ -2616,12 +8168,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2629,6 +8201,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcRampFlightTypeEnum", @@ -2639,12 +8241,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2652,6 +8274,42 @@ "is_abstract": false, "parent": "IfcReinforcingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, + { + "name": "SteelGrade", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "NominalDiameter", "type": "IfcPositiveLengthMeasure", @@ -2695,9 +8353,59 @@ "PLAIN", "TEXTURED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "SteelGrade", + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcReinforcingElement": { + "is_abstract": true, + "parent": "IfcElementComponent", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", "type": "IfcLabel", "is_enum": false, "enum_values": [] @@ -2707,6 +8415,38 @@ "type": "IfcIdentifier", "is_enum": false, "enum_values": [] + }, + { + "name": "SteelGrade", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2714,6 +8454,42 @@ "is_abstract": false, "parent": "IfcReinforcingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, + { + "name": "SteelGrade", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "MeshLength", "type": "IfcPositiveLengthMeasure", @@ -2770,9 +8546,59 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "SteelGrade", + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcRoof": { + "is_abstract": false, + "parent": "IfcBuildingElement", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", "type": "IfcLabel", "is_enum": false, "enum_values": [] @@ -2782,13 +8608,7 @@ "type": "IfcIdentifier", "is_enum": false, "enum_values": [] - } - ] - }, - "IfcRoof": { - "is_abstract": false, - "parent": "IfcBuildingElement", - "attributes": [ + }, { "name": "PredefinedType", "type": "IfcRoofTypeEnum", @@ -2810,12 +8630,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2823,6 +8663,36 @@ "is_abstract": false, "parent": "IfcFlowTerminal", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcSanitaryTerminalTypeEnum", @@ -2841,12 +8711,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2854,12 +8744,41 @@ "is_abstract": false, "parent": "IfcDistributionControlElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcSensorTypeEnum", "is_enum": true, "enum_values": [ - "COSENSOR", "CO2SENSOR", "CONDUCTANCESENSOR", "CONTACTSENSOR", @@ -2886,12 +8805,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2899,6 +8838,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcShadingDeviceTypeEnum", @@ -2910,12 +8879,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -2923,6 +8912,46 @@ "is_abstract": false, "parent": "IfcSpatialStructureElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "LongName", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "CompositionType", + "type": "IfcElementCompositionEnum", + "is_enum": true, + "enum_values": [ + "COMPLEX", + "ELEMENT", + "PARTIAL" + ] + }, { "name": "RefLatitude", "type": "List-IfcCompoundPlaneAngleMeasure", @@ -2946,6 +8975,374 @@ "type": "IfcLabel", "is_enum": false, "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "ContainsElements", + "type": "IfcRelContainedInSpatialStructure" + }, + { + "name": "SiteAddress", + "type": "IfcPostalAddress" + } + ] + }, + "IfcSlab": { + "is_abstract": false, + "parent": "IfcBuildingElement", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, + { + "name": "PredefinedType", + "type": "IfcSlabTypeEnum", + "is_enum": true, + "enum_values": [ + "FLOOR", + "ROOF", + "LANDING", + "BASESLAB", + "USERDEFINED", + "NOTDEFINED" + ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcSlabElementedCase": { + "is_abstract": false, + "parent": "IfcSlab", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, + { + "name": "PredefinedType", + "type": "IfcSlabTypeEnum", + "is_enum": true, + "enum_values": [ + "FLOOR", + "ROOF", + "LANDING", + "BASESLAB", + "USERDEFINED", + "NOTDEFINED" + ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcSlabStandardCase": { + "is_abstract": false, + "parent": "IfcSlab", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, + { + "name": "PredefinedType", + "type": "IfcSlabTypeEnum", + "is_enum": true, + "enum_values": [ + "FLOOR", + "ROOF", + "LANDING", + "BASESLAB", + "USERDEFINED", + "NOTDEFINED" + ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcSolarDevice": { + "is_abstract": false, + "parent": "IfcEnergyConversionDevice", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, + { + "name": "PredefinedType", + "type": "IfcSolarDeviceTypeEnum", + "is_enum": true, + "enum_values": [ + "SOLARCOLLECTOR", + "SOLARPANEL", + "USERDEFINED", + "NOTDEFINED" + ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcSpace": { + "is_abstract": false, + "parent": "IfcSpatialStructureElement", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "LongName", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] }, { "name": "CompositionType", @@ -2957,116 +9354,6 @@ "PARTIAL" ] }, - { - "name": "LongName", - "type": "IfcLabel", - "is_enum": false, - "enum_values": [] - } - ] - }, - "IfcSlab": { - "is_abstract": false, - "parent": "IfcBuildingElement", - "attributes": [ - { - "name": "PredefinedType", - "type": "IfcSlabTypeEnum", - "is_enum": true, - "enum_values": [ - "FLOOR", - "ROOF", - "LANDING", - "BASESLAB", - "USERDEFINED", - "NOTDEFINED" - ] - }, - { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] - } - ] - }, - "IfcSlabElementedCase": { - "is_abstract": false, - "parent": "IfcSlab", - "attributes": [ - { - "name": "PredefinedType", - "type": "IfcSlabTypeEnum", - "is_enum": true, - "enum_values": [ - "FLOOR", - "ROOF", - "LANDING", - "BASESLAB", - "USERDEFINED", - "NOTDEFINED" - ] - }, - { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] - } - ] - }, - "IfcSlabStandardCase": { - "is_abstract": false, - "parent": "IfcSlab", - "attributes": [ - { - "name": "PredefinedType", - "type": "IfcSlabTypeEnum", - "is_enum": true, - "enum_values": [ - "FLOOR", - "ROOF", - "LANDING", - "BASESLAB", - "USERDEFINED", - "NOTDEFINED" - ] - }, - { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] - } - ] - }, - "IfcSolarDevice": { - "is_abstract": false, - "parent": "IfcEnergyConversionDevice", - "attributes": [ - { - "name": "PredefinedType", - "type": "IfcSolarDeviceTypeEnum", - "is_enum": true, - "enum_values": [ - "SOLARCOLLECTOR", - "SOLARPANEL", - "USERDEFINED", - "NOTDEFINED" - ] - }, - { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] - } - ] - }, - "IfcSpace": { - "is_abstract": false, - "parent": "IfcSpatialStructureElement", - "attributes": [ { "name": "PredefinedType", "type": "IfcSpaceTypeEnum", @@ -3086,22 +9373,36 @@ "type": "IfcLengthMeasure", "is_enum": false, "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "CompositionType", - "type": "IfcElementCompositionEnum", - "is_enum": true, - "enum_values": [ - "COMPLEX", - "ELEMENT", - "PARTIAL" - ] + "name": "IsNestedBy", + "type": "IfcRelNests" }, { - "name": "LongName", - "type": "IfcLabel", - "is_enum": false, - "enum_values": [] + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "ContainsElements", + "type": "IfcRelContainedInSpatialStructure" } ] }, @@ -3109,6 +9410,36 @@ "is_abstract": false, "parent": "IfcFlowTerminal", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcSpaceHeaterTypeEnum", @@ -3119,12 +9450,174 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcSpatialElement": { + "is_abstract": true, + "parent": "IfcProduct", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", "is_enum": false, "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "LongName", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "ContainsElements", + "type": "IfcRelContainedInSpatialStructure" + } + ] + }, + "IfcSpatialStructureElement": { + "is_abstract": true, + "parent": "IfcSpatialElement", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "LongName", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "CompositionType", + "type": "IfcElementCompositionEnum", + "is_enum": true, + "enum_values": [ + "COMPLEX", + "ELEMENT", + "PARTIAL" + ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "ContainsElements", + "type": "IfcRelContainedInSpatialStructure" } ] }, @@ -3132,6 +9625,36 @@ "is_abstract": false, "parent": "IfcSpatialElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "LongName", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcSpatialZoneTypeEnum", @@ -3148,12 +9671,36 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "LongName", - "type": "IfcLabel", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "ContainsElements", + "type": "IfcRelContainedInSpatialStructure" } ] }, @@ -3161,6 +9708,36 @@ "is_abstract": false, "parent": "IfcFlowTerminal", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcStackTerminalTypeEnum", @@ -3172,12 +9749,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -3185,6 +9782,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcStairTypeEnum", @@ -3207,12 +9834,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -3220,6 +9867,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "NumberOfRisers", "type": "IfcInteger", @@ -3257,12 +9934,236 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcStructuralAction": { + "is_abstract": true, + "parent": "IfcStructuralActivity", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", "is_enum": false, "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "GlobalOrLocal", + "type": "IfcGlobalOrLocalEnum", + "is_enum": true, + "enum_values": [ + "GLOBAL_COORDS", + "LOCAL_COORDS" + ] + }, + { + "name": "DestabilizingLoad", + "type": "IfcBoolean", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedLoad", + "type": "IfcStructuralLoad" + } + ] + }, + "IfcStructuralActivity": { + "is_abstract": true, + "parent": "IfcProduct", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "GlobalOrLocal", + "type": "IfcGlobalOrLocalEnum", + "is_enum": true, + "enum_values": [ + "GLOBAL_COORDS", + "LOCAL_COORDS" + ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedLoad", + "type": "IfcStructuralLoad" + } + ] + }, + "IfcStructuralConnection": { + "is_abstract": true, + "parent": "IfcStructuralItem", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedCondition", + "type": "IfcBoundaryCondition" } ] }, @@ -3270,6 +10171,45 @@ "is_abstract": false, "parent": "IfcStructuralAction", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "GlobalOrLocal", + "type": "IfcGlobalOrLocalEnum", + "is_enum": true, + "enum_values": [ + "GLOBAL_COORDS", + "LOCAL_COORDS" + ] + }, + { + "name": "DestabilizingLoad", + "type": "IfcBoolean", + "is_enum": false, + "enum_values": [] + }, { "name": "ProjectedOrTrue", "type": "IfcProjectedOrTrueLengthEnum", @@ -3294,33 +10234,131 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "DestabilizingLoad", - "type": "IfcBoolean", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" }, { - "name": "GlobalOrLocal", - "type": "IfcGlobalOrLocalEnum", - "is_enum": true, - "enum_values": [ - "GLOBAL_COORDS", - "LOCAL_COORDS" - ] + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedLoad", + "type": "IfcStructuralLoad" } ] }, "IfcStructuralCurveConnection": { "is_abstract": false, "parent": "IfcStructuralConnection", - "attributes": [] + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedCondition", + "type": "IfcBoundaryCondition" + }, + { + "name": "Axis", + "type": "IfcDirection" + } + ] }, "IfcStructuralCurveMember": { "is_abstract": false, "parent": "IfcStructuralMember", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcStructuralCurveMemberTypeEnum", @@ -3335,12 +10373,66 @@ "NOTDEFINED" ] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "Axis", + "type": "IfcDirection" + } ] }, "IfcStructuralCurveMemberVarying": { "is_abstract": false, "parent": "IfcStructuralCurveMember", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcStructuralCurveMemberTypeEnum", @@ -3355,12 +10447,75 @@ "NOTDEFINED" ] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "Axis", + "type": "IfcDirection" + } ] }, "IfcStructuralCurveReaction": { "is_abstract": false, "parent": "IfcStructuralReaction", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "GlobalOrLocal", + "type": "IfcGlobalOrLocalEnum", + "is_enum": true, + "enum_values": [ + "GLOBAL_COORDS", + "LOCAL_COORDS" + ] + }, { "name": "PredefinedType", "type": "IfcStructuralCurveActivityTypeEnum", @@ -3376,15 +10531,92 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "GlobalOrLocal", - "type": "IfcGlobalOrLocalEnum", - "is_enum": true, - "enum_values": [ - "GLOBAL_COORDS", - "LOCAL_COORDS" - ] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedLoad", + "type": "IfcStructuralLoad" + } + ] + }, + "IfcStructuralItem": { + "is_abstract": true, + "parent": "IfcProduct", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -3392,6 +10624,45 @@ "is_abstract": false, "parent": "IfcStructuralCurveAction", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "GlobalOrLocal", + "type": "IfcGlobalOrLocalEnum", + "is_enum": true, + "enum_values": [ + "GLOBAL_COORDS", + "LOCAL_COORDS" + ] + }, + { + "name": "DestabilizingLoad", + "type": "IfcBoolean", + "is_enum": false, + "enum_values": [] + }, { "name": "ProjectedOrTrue", "type": "IfcProjectedOrTrueLengthEnum", @@ -3416,21 +10687,92 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "DestabilizingLoad", - "type": "IfcBoolean", + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedLoad", + "type": "IfcStructuralLoad" + } + ] + }, + "IfcStructuralMember": { + "is_abstract": true, + "parent": "IfcStructuralItem", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", "is_enum": false, "enum_values": [] }, { - "name": "GlobalOrLocal", - "type": "IfcGlobalOrLocalEnum", - "is_enum": true, - "enum_values": [ - "GLOBAL_COORDS", - "LOCAL_COORDS" - ] + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -3438,6 +10780,45 @@ "is_abstract": false, "parent": "IfcStructuralSurfaceAction", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "GlobalOrLocal", + "type": "IfcGlobalOrLocalEnum", + "is_enum": true, + "enum_values": [ + "GLOBAL_COORDS", + "LOCAL_COORDS" + ] + }, + { + "name": "DestabilizingLoad", + "type": "IfcBoolean", + "is_enum": false, + "enum_values": [] + }, { "name": "ProjectedOrTrue", "type": "IfcProjectedOrTrueLengthEnum", @@ -3459,21 +10840,36 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "DestabilizingLoad", - "type": "IfcBoolean", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" }, { - "name": "GlobalOrLocal", - "type": "IfcGlobalOrLocalEnum", - "is_enum": true, - "enum_values": [ - "GLOBAL_COORDS", - "LOCAL_COORDS" - ] + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedLoad", + "type": "IfcStructuralLoad" } ] }, @@ -3481,11 +10877,168 @@ "is_abstract": false, "parent": "IfcStructuralAction", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "GlobalOrLocal", + "type": "IfcGlobalOrLocalEnum", + "is_enum": true, + "enum_values": [ + "GLOBAL_COORDS", + "LOCAL_COORDS" + ] + }, { "name": "DestabilizingLoad", "type": "IfcBoolean", "is_enum": false, "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedLoad", + "type": "IfcStructuralLoad" + } + ] + }, + "IfcStructuralPointConnection": { + "is_abstract": false, + "parent": "IfcStructuralConnection", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedCondition", + "type": "IfcBoundaryCondition" + }, + { + "name": "ConditionCoordinateSystem", + "type": "IfcAxis2Placement3D" + } + ] + }, + "IfcStructuralPointReaction": { + "is_abstract": false, + "parent": "IfcStructuralReaction", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] }, { "name": "GlobalOrLocal", @@ -3496,17 +11049,66 @@ "LOCAL_COORDS" ] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedLoad", + "type": "IfcStructuralLoad" + } ] }, - "IfcStructuralPointConnection": { - "is_abstract": false, - "parent": "IfcStructuralConnection", - "attributes": [] - }, - "IfcStructuralPointReaction": { - "is_abstract": false, - "parent": "IfcStructuralReaction", + "IfcStructuralReaction": { + "is_abstract": true, + "parent": "IfcStructuralActivity", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "GlobalOrLocal", "type": "IfcGlobalOrLocalEnum", @@ -3516,12 +11118,81 @@ "LOCAL_COORDS" ] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedLoad", + "type": "IfcStructuralLoad" + } ] }, "IfcStructuralSurfaceAction": { "is_abstract": false, "parent": "IfcStructuralAction", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "GlobalOrLocal", + "type": "IfcGlobalOrLocalEnum", + "is_enum": true, + "enum_values": [ + "GLOBAL_COORDS", + "LOCAL_COORDS" + ] + }, + { + "name": "DestabilizingLoad", + "type": "IfcBoolean", + "is_enum": false, + "enum_values": [] + }, { "name": "ProjectedOrTrue", "type": "IfcProjectedOrTrueLengthEnum", @@ -3543,10 +11214,272 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "DestabilizingLoad", - "type": "IfcBoolean", + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedLoad", + "type": "IfcStructuralLoad" + } + ] + }, + "IfcStructuralSurfaceConnection": { + "is_abstract": false, + "parent": "IfcStructuralConnection", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedCondition", + "type": "IfcBoundaryCondition" + } + ] + }, + "IfcStructuralSurfaceMember": { + "is_abstract": false, + "parent": "IfcStructuralMember", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "PredefinedType", + "type": "IfcStructuralSurfaceMemberTypeEnum", + "is_enum": true, + "enum_values": [ + "BENDING_ELEMENT", + "MEMBRANE_ELEMENT", + "SHELL", + "USERDEFINED", + "NOTDEFINED" + ] + }, + { + "name": "Thickness", + "type": "IfcPositiveLengthMeasure", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcStructuralSurfaceMemberVarying": { + "is_abstract": false, + "parent": "IfcStructuralSurfaceMember", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "PredefinedType", + "type": "IfcStructuralSurfaceMemberTypeEnum", + "is_enum": true, + "enum_values": [ + "BENDING_ELEMENT", + "MEMBRANE_ELEMENT", + "SHELL", + "USERDEFINED", + "NOTDEFINED" + ] + }, + { + "name": "Thickness", + "type": "IfcPositiveLengthMeasure", + "is_enum": false, + "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcStructuralSurfaceReaction": { + "is_abstract": false, + "parent": "IfcStructuralReaction", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", "is_enum": false, "enum_values": [] }, @@ -3558,66 +11491,7 @@ "GLOBAL_COORDS", "LOCAL_COORDS" ] - } - ] - }, - "IfcStructuralSurfaceConnection": { - "is_abstract": false, - "parent": "IfcStructuralConnection", - "attributes": [] - }, - "IfcStructuralSurfaceMember": { - "is_abstract": false, - "parent": "IfcStructuralMember", - "attributes": [ - { - "name": "PredefinedType", - "type": "IfcStructuralSurfaceMemberTypeEnum", - "is_enum": true, - "enum_values": [ - "BENDING_ELEMENT", - "MEMBRANE_ELEMENT", - "SHELL", - "USERDEFINED", - "NOTDEFINED" - ] }, - { - "name": "Thickness", - "type": "IfcPositiveLengthMeasure", - "is_enum": false, - "enum_values": [] - } - ] - }, - "IfcStructuralSurfaceMemberVarying": { - "is_abstract": false, - "parent": "IfcStructuralSurfaceMember", - "attributes": [ - { - "name": "PredefinedType", - "type": "IfcStructuralSurfaceMemberTypeEnum", - "is_enum": true, - "enum_values": [ - "BENDING_ELEMENT", - "MEMBRANE_ELEMENT", - "SHELL", - "USERDEFINED", - "NOTDEFINED" - ] - }, - { - "name": "Thickness", - "type": "IfcPositiveLengthMeasure", - "is_enum": false, - "enum_values": [] - } - ] - }, - "IfcStructuralSurfaceReaction": { - "is_abstract": false, - "parent": "IfcStructuralReaction", - "attributes": [ { "name": "PredefinedType", "type": "IfcStructuralSurfaceActivityTypeEnum", @@ -3630,15 +11504,36 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "GlobalOrLocal", - "type": "IfcGlobalOrLocalEnum", - "is_enum": true, - "enum_values": [ - "GLOBAL_COORDS", - "LOCAL_COORDS" - ] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + }, + { + "name": "AppliedLoad", + "type": "IfcStructuralLoad" } ] }, @@ -3646,6 +11541,36 @@ "is_abstract": false, "parent": "IfcFeatureElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcSurfaceFeatureTypeEnum", @@ -3657,12 +11582,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -3670,6 +11615,36 @@ "is_abstract": false, "parent": "IfcFlowController", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcSwitchingDeviceTypeEnum", @@ -3687,12 +11662,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -3700,6 +11695,36 @@ "is_abstract": false, "parent": "IfcFurnishingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcSystemFurnitureElementTypeEnum", @@ -3710,12 +11735,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -3723,6 +11768,36 @@ "is_abstract": false, "parent": "IfcFlowStorageDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcTankTypeEnum", @@ -3738,12 +11813,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -3751,6 +11846,42 @@ "is_abstract": false, "parent": "IfcReinforcingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, + { + "name": "SteelGrade", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcTendonTypeEnum", @@ -3805,9 +11936,59 @@ "type": "IfcPositiveLengthMeasure", "is_enum": false, "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "SteelGrade", + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcTendonAnchor": { + "is_abstract": false, + "parent": "IfcReinforcingElement", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", "type": "IfcLabel", "is_enum": false, "enum_values": [] @@ -3817,13 +11998,13 @@ "type": "IfcIdentifier", "is_enum": false, "enum_values": [] - } - ] - }, - "IfcTendonAnchor": { - "is_abstract": false, - "parent": "IfcReinforcingElement", - "attributes": [ + }, + { + "name": "SteelGrade", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcTendonAnchorTypeEnum", @@ -3835,9 +12016,59 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "SteelGrade", + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } + ] + }, + "IfcTransformer": { + "is_abstract": false, + "parent": "IfcEnergyConversionDevice", + "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", "type": "IfcLabel", "is_enum": false, "enum_values": [] @@ -3847,13 +12078,7 @@ "type": "IfcIdentifier", "is_enum": false, "enum_values": [] - } - ] - }, - "IfcTransformer": { - "is_abstract": false, - "parent": "IfcEnergyConversionDevice", - "attributes": [ + }, { "name": "PredefinedType", "type": "IfcTransformerTypeEnum", @@ -3867,12 +12092,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -3880,6 +12125,36 @@ "is_abstract": false, "parent": "IfcElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcTransportElementTypeEnum", @@ -3893,12 +12168,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -3906,6 +12201,36 @@ "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcTubeBundleTypeEnum", @@ -3915,12 +12240,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -3928,6 +12273,36 @@ "is_abstract": false, "parent": "IfcDistributionControlElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcUnitaryControlElementTypeEnum", @@ -3944,12 +12319,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -3957,6 +12352,36 @@ "is_abstract": false, "parent": "IfcEnergyConversionDevice", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcUnitaryEquipmentTypeEnum", @@ -3970,12 +12395,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -3983,6 +12428,36 @@ "is_abstract": false, "parent": "IfcFlowController", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcValveTypeEnum", @@ -4012,12 +12487,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -4025,6 +12520,36 @@ "is_abstract": false, "parent": "IfcElementComponent", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcVibrationIsolatorTypeEnum", @@ -4035,12 +12560,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -4048,18 +12593,98 @@ "is_abstract": false, "parent": "IfcElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, { "name": "Tag", "type": "IfcIdentifier", "is_enum": false, "enum_values": [] } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" + }, + { + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" + } ] }, "IfcVoidingFeature": { "is_abstract": false, "parent": "IfcFeatureElementSubtraction", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcVoidingFeatureTypeEnum", @@ -4074,12 +12699,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -4087,6 +12732,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcWallTypeEnum", @@ -4104,12 +12779,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -4117,6 +12812,36 @@ "is_abstract": false, "parent": "IfcWall", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcWallTypeEnum", @@ -4134,12 +12859,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -4147,6 +12892,36 @@ "is_abstract": false, "parent": "IfcWall", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcWallTypeEnum", @@ -4164,12 +12939,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -4177,6 +12972,36 @@ "is_abstract": false, "parent": "IfcFlowTerminal", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "PredefinedType", "type": "IfcWasteTerminalTypeEnum", @@ -4192,12 +13017,32 @@ "USERDEFINED", "NOTDEFINED" ] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -4205,6 +13050,36 @@ "is_abstract": false, "parent": "IfcBuildingElement", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "OverallHeight", "type": "IfcPositiveLengthMeasure", @@ -4252,12 +13127,32 @@ "type": "IfcLabel", "is_enum": false, "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] }, @@ -4265,6 +13160,36 @@ "is_abstract": false, "parent": "IfcWindow", "attributes": [ + { + "name": "GlobalId", + "type": "IfcGloballyUniqueId", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Name", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Description", + "type": "IfcText", + "is_enum": false, + "enum_values": [] + }, + { + "name": "ObjectType", + "type": "IfcLabel", + "is_enum": false, + "enum_values": [] + }, + { + "name": "Tag", + "type": "IfcIdentifier", + "is_enum": false, + "enum_values": [] + }, { "name": "OverallHeight", "type": "IfcPositiveLengthMeasure", @@ -4312,12 +13237,32 @@ "type": "IfcLabel", "is_enum": false, "enum_values": [] + } + ], + "complex_attributes": [ + { + "name": "OwnerHistory", + "type": "IfcOwnerHistory" }, { - "name": "Tag", - "type": "IfcIdentifier", - "is_enum": false, - "enum_values": [] + "name": "IsNestedBy", + "type": "IfcRelNests" + }, + { + "name": "IsDecomposedBy", + "type": "IfcRelAggregates" + }, + { + "name": "IsDefinedBy", + "type": "IfcRelDefinesByProperties" + }, + { + "name": "ObjectPlacement", + "type": "IfcObjectPlacement" + }, + { + "name": "Representation", + "type": "IfcProductRepresentation" } ] } diff --git a/src/Mod/Arch/Resources/Arch.qrc b/src/Mod/Arch/Resources/Arch.qrc index a1be237a83..bd79c2736b 100644 --- a/src/Mod/Arch/Resources/Arch.qrc +++ b/src/Mod/Arch/Resources/Arch.qrc @@ -5,6 +5,7 @@ icons/Arch_Cell.svg icons/Arch_Wall.svg icons/Arch_Site.svg + icons/Arch_Project.svg icons/Arch_Structure.svg icons/Arch_Add.svg icons/Arch_Remove.svg @@ -21,6 +22,7 @@ icons/Arch_Floor_Tree.svg icons/Arch_SectionPlane_Tree.svg icons/Arch_Site_Tree.svg + icons/Arch_Project_Tree.svg icons/Arch_Structure_Tree.svg icons/Arch_Structure_Clone.svg icons/Arch_Window_Tree.svg diff --git a/src/Mod/Arch/Resources/icons/Arch_Project.svg b/src/Mod/Arch/Resources/icons/Arch_Project.svg new file mode 100644 index 0000000000..5232532448 --- /dev/null +++ b/src/Mod/Arch/Resources/icons/Arch_Project.svg @@ -0,0 +1,423 @@ + + + + + ifc_project_icon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + ifc_project_icon + + + [bitacovir] Rafael Moya + + + Part_Box + 2019-06-16 + + + + FreeCAD + + + + + + FreeCAD LGPL2+ + + + https://www.gnu.org/copyleft/lesser.html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Mod/Arch/Resources/icons/Arch_Project_Tree.svg b/src/Mod/Arch/Resources/icons/Arch_Project_Tree.svg new file mode 100644 index 0000000000..ea74529e3c --- /dev/null +++ b/src/Mod/Arch/Resources/icons/Arch_Project_Tree.svg @@ -0,0 +1,435 @@ + + + + + ifc_project_tree + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + ifc_project_tree + + + [bitacovir] Rafael Moya + + + Part_Box + 2019-06-16 + + + + FreeCAD + + + + + + FreeCAD LGPL2+ + + + https://www.gnu.org/copyleft/lesser.html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Mod/Arch/exportIFC.py b/src/Mod/Arch/exportIFC.py index 4dabbb9cef..2b54871078 100644 --- a/src/Mod/Arch/exportIFC.py +++ b/src/Mod/Arch/exportIFC.py @@ -43,6 +43,7 @@ from DraftGeomUtils import vec from importIFC import recycler from importIFC import dd2dms from importIFC import decode +import exportIFCHelper ## @package exportIFC @@ -94,7 +95,6 @@ DATA; #8=IFCCARTESIANPOINT((0.,0.,0.)); #9=IFCAXIS2PLACEMENT3D(#8,#7,#6); #10=IFCDIRECTION((0.,1.,0.)); -#11=IFCGEOMETRICREPRESENTATIONCONTEXT('Plan','Model',3,1.E-05,#9,#10); #12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); #13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); #14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); @@ -103,7 +103,6 @@ DATA; #17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16); #18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17); #19=IFCUNITASSIGNMENT((#13,#14,#15,#18)); -#20=IFCPROJECT('$projectid',#5,'$project',$,$,$,$,(#11),#19); ENDSEC; END-ISO-10303-21; """ @@ -196,8 +195,6 @@ def export(exportList,filename,colors=None): template = template.replace("$company",FreeCAD.ActiveDocument.Company) template = template.replace("$email",email) template = template.replace("$now",str(int(time.time()))) - template = template.replace("$projectid",FreeCAD.ActiveDocument.Uid[:22].replace("-","_")) - template = template.replace("$project",FreeCAD.ActiveDocument.Name) template = template.replace("$filename",os.path.basename(filename)) template = template.replace("$timestamp",str(time.strftime("%Y-%m-%dT%H:%M:%S", time.gmtime()))) if hasattr(ifcopenshell,"version"): @@ -212,12 +209,7 @@ def export(exportList,filename,colors=None): global ifcfile, surfstyles, clones, sharedobjects, profiledefs, shapedefs ifcfile = ifcopenshell.open(templatefile) history = ifcfile.by_type("IfcOwnerHistory")[0] - context = ifcfile.by_type("IfcGeometricRepresentationContext")[0] - project = ifcfile.by_type("IfcProject")[0] objectslist = Draft.getGroupContents(exportList,walls=True,addgroups=True) - if(Draft.getObjectsOfType(objectslist, "Site")): # we assume one site and one representation context only - trueNorthX = math.tan(-Draft.getObjectsOfType(objectslist, "Site")[0].Declination.getValueAs(FreeCAD.Units.Radian)) - context.TrueNorth.DirectionRatios = (trueNorthX, 1., 1.) annotations = [] for obj in objectslist: if obj.isDerivedFrom("Part::Part2DObject"): @@ -234,6 +226,16 @@ def export(exportList,filename,colors=None): objectslist = [obj for obj in objectslist if Draft.getType(obj) not in ["Dimension","Material","MaterialContainer","WorkingPlaneProxy"]] if FULL_PARAMETRIC: objectslist = Arch.getAllChildren(objectslist) + + contextCreator = exportIFCHelper.ContextCreator(ifcfile, objectslist) + context = contextCreator.model_view_subcontext + project = contextCreator.project + objectslist = [obj for obj in objectslist if obj != contextCreator.project_object] + + if Draft.getObjectsOfType(objectslist, "Site"): # we assume one site and one representation context only + trueNorthX = math.tan(-Draft.getObjectsOfType(objectslist, "Site")[0].Declination.getValueAs(FreeCAD.Units.Radian)) + contextCreator.model_context.TrueNorth.DirectionRatios = (trueNorthX, 1., 1.) + products = {} # { Name: IfcEntity, ... } subproducts = {} # { Name: IfcEntity, ... } for storing additions/subtractions and other types of subcomponents of a product surfstyles = {} # { (r,g,b): IfcEntity, ... } @@ -262,6 +264,7 @@ def export(exportList,filename,colors=None): #print(objectslist) # testing if more than one site selected (forbidden in IFC) + # TODO: Moult: This is not forbidden in IFC. if len(Draft.getObjectsOfType(objectslist,"Site")) > 1: FreeCAD.Console.PrintError("More than one site is selected, which is forbidden by IFC standards. Please export only one site by IFC file.\n") @@ -593,7 +596,7 @@ def export(exportList,filename,colors=None): #if DEBUG : print(" adding ifc attributes") props = [] for key in obj.IfcData: - if not (key in ["attributes","IfcUID","FlagForceBrep"]): + if not (key in ["attributes", "complex_attributes", "IfcUID", "FlagForceBrep"]): # (deprecated) properties in IfcData dict are stored as "key":"type(value)" @@ -872,7 +875,7 @@ def export(exportList,filename,colors=None): # sites - for site in Draft.getObjectsOfType(objectslist,"Site"): + for site in exportIFCHelper.getObjectsOfIfcType(objectslist, "Site"): objs = Draft.getGroupContents(site,walls=True,addgroups=True) objs = Arch.pruneIncluded(objs) children = [] diff --git a/src/Mod/Arch/exportIFCHelper.py b/src/Mod/Arch/exportIFCHelper.py new file mode 100644 index 0000000000..65dc6a3a5f --- /dev/null +++ b/src/Mod/Arch/exportIFCHelper.py @@ -0,0 +1,140 @@ +import FreeCAD, Draft, json, ifcopenshell, math + +def getObjectsOfIfcType(objects, ifcType): + results = [] + for object in objects: + if object.IfcType == ifcType: + results.append(object) + return results + +class SIUnitCreator: + def __init__(self, file, text, type): + self.prefixes = ["EXA", "PETA", "TERA", "GIGA", "MEGA", "KILO", "HECTO", + "DECA", "DECI", "CENTI", "MILLI", "MICRO", "NANO", "PICO", "FEMTO", + "ATTO"] + self.unitNames = ["AMPERE", "BECQUEREL", "CANDELA", "COULOMB", + "CUBIC_METRE", "DEGREE CELSIUS", "FARAD", "GRAM", "GRAY", "HENRY", + "HERTZ", "JOULE", "KELVIN", "LUMEN", "LUX", "MOLE", "NEWTON", "OHM", + "PASCAL", "RADIAN", "SECOND", "SIEMENS", "SIEVERT", "SQUARE METRE", + "METRE", "STERADIAN", "TESLA", "VOLT", "WATT", "WEBER"] + self.text = text + self.SIUnit = file.createIfcSIUnit(None, type, self.getSIPrefix(), self.getSIUnitName()) + + def getSIPrefix(self): + for prefix in self.prefixes: + if prefix in self.text.upper(): + return prefix + return None + + def getSIUnitName(self): + for unitName in self.unitNames: + if unitName in self.text.upper(): + return unitName + return None + +class ContextCreator: + def __init__(self, file, objects): + self.file = file + self.objects = objects + self.project_object = self.getProjectObject() + self.project_data = self.getProjectObjectData() + self.model_context = self.createGeometricRepresentationContext() + self.model_view_subcontext = self.createGeometricRepresentationSubContext() + self.target_crs = self.createTargetCRS() + self.map_conversion = self.createMapConversion() + self.project = self.createProject() + + def createGeometricRepresentationContext(self): + return self.file.createIfcGeometricRepresentationContext( + None, "Model", + 3, 1.0E-05, + self.file.by_type("IfcAxis2Placement3D")[0], + self.createTrueNorth()) + + def createGeometricRepresentationSubContext(self): + return self.file.createIfcGeometricRepresentationSubContext( + "Body", "Model", + None, None, None, None, + self.model_context, None, "MODEL_VIEW", None) + + def createTargetCRS(self): + try: + SIUnit = SIUnitCreator(self.file, self.project_data["map_unit"], "LENGTHUNIT") + return self.file.createIfcProjectedCRS( + self.project_data["name"], + self.project_data["description"], + self.project_data["geodetic_datum"], + self.project_data["vertical_datum"], + self.project_data["map_projection"], + self.project_data["map_zone"], + SIUnit.SIUnit + ) + except: + return None + + def createMapConversion(self): + try: + return self.file.createIfcMapConversion( + self.model_context, self.target_crs, + float(self.project_data["eastings"]), + float(self.project_data["northings"]), + float(self.project_data["orthogonal_height"]), + self.calculateXAxisAbscissa(), + self.calculateXAxisOrdinate(), + float(self.project_data["scale"]) + ) + except: + return None + + def createTrueNorth(self): + return self.file.createIfcDirection( + (self.calculateXAxisAbscissa(), self.calculateXAxisOrdinate(), 0.)) + + def calculateXAxisAbscissa(self): + if "true_north" in self.project_data: + return math.cos(math.radians(float(self.project_data["true_north"]) + 90)) + return 0. + + def calculateXAxisOrdinate(self): + if "true_north" in self.project_data: + return math.sin(math.radians(float(self.project_data["true_north"]) + 90)) + return 1. + + def createProject(self): + if not self.project_object: + return self.createAutomaticProject() + return self.createCustomProject() + + def createAutomaticProject(self): + return self.file.createIfcProject( + self.getProjectGUID(), + self.file.by_type("IfcOwnerHistory")[0], + FreeCAD.ActiveDocument.Name, None, + None, None, None, [self.model_context], + self.file.by_type("IfcUnitAssignment")[0]) + + def createCustomProject(self): + return self.file.createIfcProject( + self.getProjectGUID(), + self.file.by_type("IfcOwnerHistory")[0], + self.project_object.Label, self.project_object.Description, + self.project_object.ObjectType, self.project_object.LongName, + self.project_object.Phase, + [self.model_context], + self.file.by_type("IfcUnitAssignment")[0]) + + def getProjectGUID(self): + # TODO: Do not generate a new one each time, but at least this one + # conforms to the community consensus on how a GUID is generated. + return ifcopenshell.guid.new() + + def getProjectObject(self): + try: + return getObjectsOfIfcType(self.objects, "Project")[0] + except: + return None + + def getProjectObjectData(self): + if not self.project_object: + return {} + return json.loads(self.project_object.IfcData['complex_attributes'])["RepresentationContexts"] diff --git a/src/Mod/Arch/importIFC.py b/src/Mod/Arch/importIFC.py index 5f0840674f..f2a25d5009 100644 --- a/src/Mod/Arch/importIFC.py +++ b/src/Mod/Arch/importIFC.py @@ -38,6 +38,7 @@ import Draft import Arch import DraftVecUtils import ArchIFCSchema +import importIFCHelper ## @package importIFC # \ingroup ARCH @@ -403,6 +404,9 @@ def insert(filename,docname,skip=[],only=[],root=None): import FreeCADGui FreeCADGui.ActiveDocument.activeView().viewAxonometric() + projectImporter = importIFCHelper.ProjectImporter(ifcfile, objects) + projectImporter.execute() + # handle IFC products for product in products: @@ -623,53 +627,55 @@ def insert(filename,docname,skip=[],only=[],root=None): # full Arch objects for freecadtype,ifctypes in typesmap.items(): - if ptype in ifctypes: - if clone: - obj = getattr(Arch,"make"+freecadtype)(name=name) - obj.CloneOf = clone - if shape: - if shape.Solids: - s1 = shape.Solids[0] - else: - s1 = shape - if clone.Shape.Solids: - s2 = clone.Shape.Solids[0] - else: - s1 = clone.Shape - if hasattr(s1,"CenterOfMass") and hasattr(s2,"CenterOfMass"): - v = s1.CenterOfMass.sub(s2.CenterOfMass) - if product.Representation: - r = getRotation(product.Representation.Representations[0].Items[0].MappingTarget) - if not r.isNull(): - v = v.add(s2.CenterOfMass) - v = v.add(r.multVec(s2.CenterOfMass.negative())) - obj.Placement.Rotation = r - obj.Placement.move(v) - else: - print("failed to compute placement ",) - else: - obj = getattr(Arch,"make"+freecadtype)(baseobj=baseobj,name=name) - if freecadtype in ["Wall","Structure"] and baseobj and baseobj.isDerivedFrom("Part::Extrusion"): - # remove intermediary extrusion for types that can extrude themselves - obj.Base = baseobj.Base - obj.Placement = obj.Placement.multiply(baseobj.Placement) - obj.Height = baseobj.Dir.Length - obj.Normal = FreeCAD.Vector(baseobj.Dir).normalize() - bn = baseobj.Name - FreeCAD.ActiveDocument.removeObject(bn) - if (freecadtype in ["Structure","Wall"]) and not baseobj: - # remove sizes to prevent auto shape creation for types that don't require a base object - obj.Height = 0 - obj.Width = 0 - obj.Length = 0 - if store: - sharedobjects[store] = obj - if ptype == "IfcBuildingStorey": - if product.Elevation: - obj.Placement.Base.z = product.Elevation * getScaling(ifcfile) + if ptype not in ifctypes: + continue + if clone: + obj = getattr(Arch,"make"+freecadtype)(name=name) + obj.CloneOf = clone + if shape: + if shape.Solids: + s1 = shape.Solids[0] + else: + s1 = shape + if clone.Shape.Solids: + s2 = clone.Shape.Solids[0] + else: + s1 = clone.Shape + if hasattr(s1,"CenterOfMass") and hasattr(s2,"CenterOfMass"): + v = s1.CenterOfMass.sub(s2.CenterOfMass) + if product.Representation: + r = getRotation(product.Representation.Representations[0].Items[0].MappingTarget) + if not r.isNull(): + v = v.add(s2.CenterOfMass) + v = v.add(r.multVec(s2.CenterOfMass.negative())) + obj.Placement.Rotation = r + obj.Placement.move(v) + else: + print("failed to compute placement ",) + else: + obj = getattr(Arch,"make"+freecadtype)(baseobj=baseobj,name=name) + if freecadtype in ["Wall","Structure"] and baseobj and baseobj.isDerivedFrom("Part::Extrusion"): + # remove intermediary extrusion for types that can extrude themselves + obj.Base = baseobj.Base + obj.Placement = obj.Placement.multiply(baseobj.Placement) + obj.Height = baseobj.Dir.Length + obj.Normal = FreeCAD.Vector(baseobj.Dir).normalize() + bn = baseobj.Name + FreeCAD.ActiveDocument.removeObject(bn) + if (freecadtype in ["Structure","Wall"]) and not baseobj: + # remove sizes to prevent auto shape creation for types that don't require a base object + obj.Height = 0 + obj.Width = 0 + obj.Length = 0 + if store: + sharedobjects[store] = obj - break + if ptype == "IfcBuildingStorey": + if product.Elevation: + obj.Placement.Base.z = product.Elevation * getScaling(ifcfile) + + break if not obj: obj = Arch.makeComponent(baseobj,name=name) @@ -704,6 +710,8 @@ def insert(filename,docname,skip=[],only=[],root=None): # setting IFC attributes for attribute in ArchIFCSchema.IfcProducts[product.is_a()]["attributes"]: + if attribute["name"] == "Name": + continue #print("attribute:",attribute["name"]) if hasattr(product, attribute["name"]) and getattr(product, attribute["name"]) and hasattr(obj,attribute["name"]): #print("Setting attribute",attribute["name"],"to",getattr(product, attribute["name"])) @@ -1025,23 +1033,25 @@ def insert(filename,docname,skip=[],only=[],root=None): # additions for host,children in additions.items(): - if host in objects.keys(): - cobs = [] - for child in children: - if child in objects.keys(): - if child not in swallowed: # don't add objects already in groups - cobs.append(objects[child]) - if cobs: - if DEBUG and first: - print("") - first = False - if DEBUG and (len(cobs) > 10) and (not(Draft.getType(objects[host]) in ["Site","Building","Floor","BuildingPart"])): - # avoid huge fusions - print("more than 10 shapes to add: skipping.") - else: - if DEBUG: print(" adding",len(cobs), "object(s) to", objects[host].Label) - Arch.addComponents(cobs,objects[host]) - if DEBUG: FreeCAD.ActiveDocument.recompute() + if host not in objects.keys(): + continue + cobs = [] + for child in children: + if child in objects.keys() \ + and child not in swallowed: # don't add objects already in groups + cobs.append(objects[child]) + if not cobs: + continue + if DEBUG and first: + print("") + first = False + if DEBUG and (len(cobs) > 10) and (not(Draft.getType(objects[host]) in ["Site","Building","Floor","BuildingPart","Project"])): + # avoid huge fusions + print("more than 10 shapes to add: skipping.") + else: + if DEBUG: print(" adding",len(cobs), "object(s) to", objects[host].Label) + Arch.addComponents(cobs,objects[host]) + if DEBUG: FreeCAD.ActiveDocument.recompute() if DEBUG and first: print("done.") @@ -1051,7 +1061,7 @@ def insert(filename,docname,skip=[],only=[],root=None): for obj in objects.values(): if obj.isDerivedFrom("Part::Feature"): - if obj.Shape.isNull() and not(Draft.getType(obj) in ["Site"]): + if obj.Shape.isNull() and not(Draft.getType(obj) in ["Site","Project"]): Arch.rebuildArchShape(obj) FreeCAD.ActiveDocument.recompute() @@ -1673,7 +1683,7 @@ class recycler: else: if isinstance(pvalue,float) and pvalue < 0.000000001: # remove the exp notation that some bim apps hate pvalue = 0 - c = self.ifcfile.createIfcPropertySingleValue(name,None,ifcfile.create_entity(ptype,pvalue),None) + c = self.ifcfile.createIfcPropertySingleValue(name,None,self.ifcfile.create_entity(ptype,pvalue),None) if self.compress: self.propertysinglevalues[key] = c return c diff --git a/src/Mod/Arch/importIFCHelper.py b/src/Mod/Arch/importIFCHelper.py new file mode 100644 index 0000000000..058a802c4a --- /dev/null +++ b/src/Mod/Arch/importIFCHelper.py @@ -0,0 +1,70 @@ +import Arch, ArchIFC, math + +class ProjectImporter: + def __init__(self, file, objects): + self.file = file + self.objects = objects + + def execute(self): + self.project = self.file.by_type("IfcProject")[0] + self.object = Arch.makeProject() + self.objects[self.project.id()] = self.object + self.setAttributes() + self.setComplexAttributes() + + def setAttributes(self): + for property in self.object.PropertiesList: + if hasattr(self.project, property) and getattr(self.project, property): + setattr(self.object, property, getattr(self.project, property)) + + def setComplexAttributes(self): + try: + mapConversion = self.project.RepresentationContexts[0].HasCoordinateOperation[0] + + data = self.extractTargetCRSData(mapConversion.TargetCRS) + data.update(self.extractMapConversionData(mapConversion)) + ArchIFC.IfcRoot.setObjIfcComplexAttributeValue(self, self.object, "RepresentationContexts", data) + except: + # This scenario occurs validly in IFC2X3, as the mapConversion does + # not exist + return + + def extractTargetCRSData(self, targetCRS): + mappings = { + "name": "Name", + "description": "Description", + "geodetic_datum": "GeodeticDatum", + "vertical_datum": "VerticalDatum", + "map_projection": "MapProjection", + "map_zone": "MapZone" + } + data = {} + for attributeName, ifcName in mappings.items(): + data[attributeName] = str(getattr(targetCRS, ifcName)) + + if targetCRS.MapUnit.Prefix: + data["map_unit"] = targetCRS.MapUnit.Prefix.title() + targetCRS.MapUnit.Name.lower() + else: + data["map_unit"] = targetCRS.MapUnit.Name.title() + + return data + + def extractMapConversionData(self, mapConversion): + mappings = { + "eastings": "Eastings", + "northings": "Northings", + "orthogonal_height": "OrthogonalHeight", + "x_axis_abscissa": "XAxisAbscissa", + "x_axis_ordinate": "XAxisOrdinate", + "scale": "Scale" + } + data = {} + for attributeName, ifcName in mappings.items(): + data[attributeName] = str(getattr(mapConversion, ifcName)) + + data["true_north"] = str(self.calculateTrueNorthAngle( + mapConversion.XAxisAbscissa, mapConversion.XAxisOrdinate)) + return data + + def calculateTrueNorthAngle(self, x, y): + return round(math.degrees(math.atan2(y, x)) - 90, 6)