diff --git a/src/Mod/Arch/ArchComponent.py b/src/Mod/Arch/ArchComponent.py index 9f131e7a2e..21dec51bbd 100644 --- a/src/Mod/Arch/ArchComponent.py +++ b/src/Mod/Arch/ArchComponent.py @@ -71,7 +71,16 @@ IFCTYPES = ["IfcActuator", "IfcAirTerminal", "IfcAirTerminalBox", "IfcAirToAirHe # Possible roles for FreeCAD BIM objects IfcRoles = ['Undefined']+[''.join(map(lambda x: x if x.islower() else " "+x, t[3:]))[1:] for t in IFCTYPES] -import FreeCAD,Draft,ArchCommands,math +# Property types +SimplePropertyTypes = ["IfcInteger","IfcReal","IfcBoolean","IfcIdentifier","IfcText","IfcLabel","IfcLogical"] +MeasurePropertyTypes = ["IfcVolumeMeasure","IfcTimeMeasure","IfcThermodynamicTemperatureMeasure","IfcSolidAngleMeasure", + "IfcPositiveRatioMeasure","IfcRatioMeasure","IfcPositivePlaneAngleMeasure","IfcPlaneAngleMeasure", + "IfcParameterValue","IfcNumericMeasure","IfcMassMeasure","IfcPositiveLengthMeasure", + "IfcLengthMeasure","IfcElectricCurrentMeasure","IfcDescriptiveMeasure","IfcCountMeasure", + "IfcContextDependentMeasure","IfcAreaMeasure","IfcAmountOfSubstanceMeasure", + "IfcLuminousIntensityMeasure","IfcNormalisedRatioMeasure","IfcComplexNumber"] + +import FreeCAD,Draft,ArchCommands,math,sys from FreeCAD import Vector if FreeCAD.GuiUp: import FreeCADGui @@ -200,197 +209,10 @@ def removeFromComponent(compobject,subobject): ArchCommands.setAsSubcomponent(subobject) -class SelectionTaskPanel: - - """A temporary TaskPanel to wait for a selection""" - - def __init__(self): - self.baseform = QtGui.QLabel() - self.baseform.setText(QtGui.QApplication.translate("Arch", "Please select a base object", None)) - - def getStandardButtons(self): - return int(QtGui.QDialogButtonBox.Cancel) - - def reject(self): - if hasattr(FreeCAD,"ArchObserver"): - FreeCADGui.Selection.removeObserver(FreeCAD.ArchObserver) - del FreeCAD.ArchObserver - return True - - -class ComponentTaskPanel: - - '''The default TaskPanel for all Arch components''' - - def __init__(self): - - # the panel has a tree widget that contains categories - # for the subcomponents, such as additions, subtractions. - # the categories are shown only if they are not empty. - - self.obj = None - self.attribs = ["Base","Additions","Subtractions","Objects","Components","Axes","Fixtures","Group","Hosts"] - self.baseform = QtGui.QWidget() - self.baseform.setObjectName("TaskPanel") - self.grid = QtGui.QGridLayout(self.baseform) - self.grid.setObjectName("grid") - self.title = QtGui.QLabel(self.baseform) - self.grid.addWidget(self.title, 0, 0, 1, 2) - self.form = self.baseform - - # tree - self.tree = QtGui.QTreeWidget(self.baseform) - self.grid.addWidget(self.tree, 1, 0, 1, 2) - self.tree.setColumnCount(1) - self.tree.header().hide() - - # buttons - self.addButton = QtGui.QPushButton(self.baseform) - self.addButton.setObjectName("addButton") - self.addButton.setIcon(QtGui.QIcon(":/icons/Arch_Add.svg")) - self.grid.addWidget(self.addButton, 3, 0, 1, 1) - self.addButton.setEnabled(False) - - self.delButton = QtGui.QPushButton(self.baseform) - self.delButton.setObjectName("delButton") - self.delButton.setIcon(QtGui.QIcon(":/icons/Arch_Remove.svg")) - self.grid.addWidget(self.delButton, 3, 1, 1, 1) - self.delButton.setEnabled(False) - - QtCore.QObject.connect(self.addButton, QtCore.SIGNAL("clicked()"), self.addElement) - QtCore.QObject.connect(self.delButton, QtCore.SIGNAL("clicked()"), self.removeElement) - QtCore.QObject.connect(self.tree, QtCore.SIGNAL("itemClicked(QTreeWidgetItem*,int)"), self.check) - QtCore.QObject.connect(self.tree, QtCore.SIGNAL("itemDoubleClicked(QTreeWidgetItem *,int)"), self.editObject) - self.update() - - def isAllowedAlterSelection(self): - - return True - - def isAllowedAlterView(self): - - return True - - def getStandardButtons(self): - - return int(QtGui.QDialogButtonBox.Ok) - - def check(self,wid,col): - - if not wid.parent(): - self.delButton.setEnabled(False) - if self.obj: - sel = FreeCADGui.Selection.getSelection() - if sel: - if not(self.obj in sel): - self.addButton.setEnabled(True) - else: - self.delButton.setEnabled(True) - self.addButton.setEnabled(False) - - def getIcon(self,obj): - - if hasattr(obj.ViewObject,"Proxy"): - if hasattr(obj.ViewObject.Proxy,"getIcon"): - return QtGui.QIcon(obj.ViewObject.Proxy.getIcon()) - if obj.isDerivedFrom("Sketcher::SketchObject"): - return QtGui.QIcon(":/icons/Sketcher_Sketch.svg") - if obj.isDerivedFrom("App::DocumentObjectGroup"): - return QtGui.QApplication.style().standardIcon(QtGui.QStyle.SP_DirIcon) - return QtGui.QIcon(":/icons/Tree_Part.svg") - - def update(self): - - 'fills the treewidget' - self.tree.clear() - dirIcon = QtGui.QApplication.style().standardIcon(QtGui.QStyle.SP_DirIcon) - for a in self.attribs: - setattr(self,"tree"+a,QtGui.QTreeWidgetItem(self.tree)) - c = getattr(self,"tree"+a) - c.setIcon(0,dirIcon) - c.ChildIndicatorPolicy = 2 - if self.obj: - if not hasattr(self.obj,a): - c.setHidden(True) - else: - c.setHidden(True) - if self.obj: - for attrib in self.attribs: - if hasattr(self.obj,attrib): - Oattrib = getattr(self.obj,attrib) - Tattrib = getattr(self,"tree"+attrib) - if Oattrib: - if attrib == "Base": - Oattrib = [Oattrib] - for o in Oattrib: - item = QtGui.QTreeWidgetItem() - item.setText(0,o.Label) - item.setToolTip(0,o.Name) - item.setIcon(0,self.getIcon(o)) - Tattrib.addChild(item) - self.tree.expandItem(Tattrib) - self.retranslateUi(self.baseform) - - def addElement(self): - - it = self.tree.currentItem() - if it: - mod = None - for a in self.attribs: - if it.text(0) == getattr(self,"tree"+a).text(0): - mod = a - for o in FreeCADGui.Selection.getSelection(): - addToComponent(self.obj,o,mod) - self.update() - - def removeElement(self): - - it = self.tree.currentItem() - if it: - comp = FreeCAD.ActiveDocument.getObject(str(it.toolTip(0))) - removeFromComponent(self.obj,comp) - self.update() - - def accept(self): - - FreeCAD.ActiveDocument.recompute() - FreeCADGui.ActiveDocument.resetEdit() - return True - - def editObject(self,wid,col): - - if wid.parent(): - obj = FreeCAD.ActiveDocument.getObject(str(wid.toolTip(0))) - if obj: - self.obj.ViewObject.Transparency = 80 - self.obj.ViewObject.Selectable = False - obj.ViewObject.show() - self.accept() - if obj.isDerivedFrom("Sketcher::SketchObject"): - FreeCADGui.activateWorkbench("SketcherWorkbench") - FreeCAD.ArchObserver = ArchSelectionObserver(self.obj,obj) - FreeCADGui.Selection.addObserver(FreeCAD.ArchObserver) - FreeCADGui.ActiveDocument.setEdit(obj.Name,0) - - def retranslateUi(self, TaskPanel): - - self.baseform.setWindowTitle(QtGui.QApplication.translate("Arch", "Components", None)) - self.delButton.setText(QtGui.QApplication.translate("Arch", "Remove", None)) - self.addButton.setText(QtGui.QApplication.translate("Arch", "Add", None)) - self.title.setText(QtGui.QApplication.translate("Arch", "Components of this object", None)) - self.treeBase.setText(0,QtGui.QApplication.translate("Arch", "Base component", None)) - self.treeAdditions.setText(0,QtGui.QApplication.translate("Arch", "Additions", None)) - self.treeSubtractions.setText(0,QtGui.QApplication.translate("Arch", "Subtractions", None)) - self.treeObjects.setText(0,QtGui.QApplication.translate("Arch", "Objects", None)) - self.treeAxes.setText(0,QtGui.QApplication.translate("Arch", "Axes", None)) - self.treeComponents.setText(0,QtGui.QApplication.translate("Arch", "Components", None)) - self.treeFixtures.setText(0,QtGui.QApplication.translate("Arch", "Fixtures", None)) - self.treeGroup.setText(0,QtGui.QApplication.translate("Arch", "Group", None)) - self.treeHosts.setText(0,QtGui.QApplication.translate("Arch", "Hosts", None)) - class Component: + "The default Arch Component object" def __init__(self,obj): @@ -1132,3 +954,494 @@ class ArchSelectionObserver: FreeCADGui.Selection.clearSelection() FreeCADGui.Selection.addSelection(self.watched) FreeCADGui.runCommand(self.nextCommand) + + + +class SelectionTaskPanel: + + """A temporary TaskPanel to wait for a selection""" + + def __init__(self): + self.baseform = QtGui.QLabel() + self.baseform.setText(QtGui.QApplication.translate("Arch", "Please select a base object", None)) + + def getStandardButtons(self): + return int(QtGui.QDialogButtonBox.Cancel) + + def reject(self): + if hasattr(FreeCAD,"ArchObserver"): + FreeCADGui.Selection.removeObserver(FreeCAD.ArchObserver) + del FreeCAD.ArchObserver + return True + + +class ComponentTaskPanel: + + '''The default TaskPanel for all Arch components''' + + def __init__(self): + + # the panel has a tree widget that contains categories + # for the subcomponents, such as additions, subtractions. + # the categories are shown only if they are not empty. + + self.obj = None + self.attribs = ["Base","Additions","Subtractions","Objects","Components","Axes","Fixtures","Group","Hosts"] + self.baseform = QtGui.QWidget() + self.baseform.setObjectName("TaskPanel") + self.grid = QtGui.QGridLayout(self.baseform) + self.grid.setObjectName("grid") + self.title = QtGui.QLabel(self.baseform) + self.grid.addWidget(self.title, 0, 0, 1, 2) + self.form = self.baseform + + # tree + self.tree = QtGui.QTreeWidget(self.baseform) + self.grid.addWidget(self.tree, 1, 0, 1, 2) + self.tree.setColumnCount(1) + self.tree.header().hide() + + # buttons + self.addButton = QtGui.QPushButton(self.baseform) + self.addButton.setObjectName("addButton") + self.addButton.setIcon(QtGui.QIcon(":/icons/Arch_Add.svg")) + self.grid.addWidget(self.addButton, 3, 0, 1, 1) + self.addButton.setEnabled(False) + + self.delButton = QtGui.QPushButton(self.baseform) + self.delButton.setObjectName("delButton") + self.delButton.setIcon(QtGui.QIcon(":/icons/Arch_Remove.svg")) + self.grid.addWidget(self.delButton, 3, 1, 1, 1) + self.delButton.setEnabled(False) + + self.ifcButton = QtGui.QPushButton(self.baseform) + self.ifcButton.setObjectName("ifcButton") + self.ifcButton.setIcon(QtGui.QIcon(":/icons/IFC.svg")) + self.grid.addWidget(self.ifcButton, 4, 0, 1, 2) + self.ifcButton.hide() + + QtCore.QObject.connect(self.addButton, QtCore.SIGNAL("clicked()"), self.addElement) + QtCore.QObject.connect(self.delButton, QtCore.SIGNAL("clicked()"), self.removeElement) + QtCore.QObject.connect(self.ifcButton, QtCore.SIGNAL("clicked()"), self.editIfcProperties) + QtCore.QObject.connect(self.tree, QtCore.SIGNAL("itemClicked(QTreeWidgetItem*,int)"), self.check) + QtCore.QObject.connect(self.tree, QtCore.SIGNAL("itemDoubleClicked(QTreeWidgetItem *,int)"), self.editObject) + self.update() + + def isAllowedAlterSelection(self): + + return True + + def isAllowedAlterView(self): + + return True + + def getStandardButtons(self): + + return int(QtGui.QDialogButtonBox.Ok) + + def check(self,wid,col): + + if not wid.parent(): + self.delButton.setEnabled(False) + if self.obj: + sel = FreeCADGui.Selection.getSelection() + if sel: + if not(self.obj in sel): + self.addButton.setEnabled(True) + else: + self.delButton.setEnabled(True) + self.addButton.setEnabled(False) + + def getIcon(self,obj): + + if hasattr(obj.ViewObject,"Proxy"): + if hasattr(obj.ViewObject.Proxy,"getIcon"): + return QtGui.QIcon(obj.ViewObject.Proxy.getIcon()) + if obj.isDerivedFrom("Sketcher::SketchObject"): + return QtGui.QIcon(":/icons/Sketcher_Sketch.svg") + if obj.isDerivedFrom("App::DocumentObjectGroup"): + return QtGui.QApplication.style().standardIcon(QtGui.QStyle.SP_DirIcon) + return QtGui.QIcon(":/icons/Tree_Part.svg") + + def update(self): + + 'fills the treewidget' + self.tree.clear() + dirIcon = QtGui.QApplication.style().standardIcon(QtGui.QStyle.SP_DirIcon) + for a in self.attribs: + setattr(self,"tree"+a,QtGui.QTreeWidgetItem(self.tree)) + c = getattr(self,"tree"+a) + c.setIcon(0,dirIcon) + c.ChildIndicatorPolicy = 2 + if self.obj: + if not hasattr(self.obj,a): + c.setHidden(True) + else: + c.setHidden(True) + if self.obj: + for attrib in self.attribs: + if hasattr(self.obj,attrib): + Oattrib = getattr(self.obj,attrib) + Tattrib = getattr(self,"tree"+attrib) + if Oattrib: + if attrib == "Base": + Oattrib = [Oattrib] + for o in Oattrib: + item = QtGui.QTreeWidgetItem() + item.setText(0,o.Label) + item.setToolTip(0,o.Name) + item.setIcon(0,self.getIcon(o)) + Tattrib.addChild(item) + self.tree.expandItem(Tattrib) + if hasattr(self.obj,"IfcProperties"): + if isinstance(self.obj.IfcProperties,dict): + self.ifcButton.show() + self.retranslateUi(self.baseform) + + def addElement(self): + + it = self.tree.currentItem() + if it: + mod = None + for a in self.attribs: + if it.text(0) == getattr(self,"tree"+a).text(0): + mod = a + for o in FreeCADGui.Selection.getSelection(): + addToComponent(self.obj,o,mod) + self.update() + + def removeElement(self): + + it = self.tree.currentItem() + if it: + comp = FreeCAD.ActiveDocument.getObject(str(it.toolTip(0))) + removeFromComponent(self.obj,comp) + self.update() + + def accept(self): + + FreeCAD.ActiveDocument.recompute() + FreeCADGui.ActiveDocument.resetEdit() + return True + + def editObject(self,wid,col): + + if wid.parent(): + obj = FreeCAD.ActiveDocument.getObject(str(wid.toolTip(0))) + if obj: + self.obj.ViewObject.Transparency = 80 + self.obj.ViewObject.Selectable = False + obj.ViewObject.show() + self.accept() + if obj.isDerivedFrom("Sketcher::SketchObject"): + FreeCADGui.activateWorkbench("SketcherWorkbench") + FreeCAD.ArchObserver = ArchSelectionObserver(self.obj,obj) + FreeCADGui.Selection.addObserver(FreeCAD.ArchObserver) + FreeCADGui.ActiveDocument.setEdit(obj.Name,0) + + def retranslateUi(self, TaskPanel): + + self.baseform.setWindowTitle(QtGui.QApplication.translate("Arch", "Components", None)) + self.delButton.setText(QtGui.QApplication.translate("Arch", "Remove", None)) + self.addButton.setText(QtGui.QApplication.translate("Arch", "Add", None)) + self.title.setText(QtGui.QApplication.translate("Arch", "Components of this object", None)) + self.treeBase.setText(0,QtGui.QApplication.translate("Arch", "Base component", None)) + self.treeAdditions.setText(0,QtGui.QApplication.translate("Arch", "Additions", None)) + self.treeSubtractions.setText(0,QtGui.QApplication.translate("Arch", "Subtractions", None)) + self.treeObjects.setText(0,QtGui.QApplication.translate("Arch", "Objects", None)) + self.treeAxes.setText(0,QtGui.QApplication.translate("Arch", "Axes", None)) + self.treeComponents.setText(0,QtGui.QApplication.translate("Arch", "Components", None)) + self.treeFixtures.setText(0,QtGui.QApplication.translate("Arch", "Fixtures", None)) + self.treeGroup.setText(0,QtGui.QApplication.translate("Arch", "Group", None)) + self.treeHosts.setText(0,QtGui.QApplication.translate("Arch", "Hosts", None)) + self.ifcButton.setText(QtGui.QApplication.translate("Arch", "Edit IFC properties", None)) + + def editIfcProperties(self): + + if hasattr(self,"ifcEditor"): + if self.ifcEditor: + self.ifcEditor.hide() + del self.ifcEditor + if not self.obj: + return + if not hasattr(self.obj,"IfcProperties"): + return + if not isinstance(self.obj.IfcProperties,dict): + return + import Arch_rc,csv,os + + # get presets + self.ptypes = SimplePropertyTypes + MeasurePropertyTypes + self.plabels = [''.join(map(lambda x: x if x.islower() else " "+x, t[3:]))[1:] for t in self.ptypes] + self.psetdefs = {} + psetspath = os.path.join(FreeCAD.getResourceDir(),"Mod","Arch","Presets","pset_definitions.csv") + if os.path.exists(psetspath): + with open(psetspath, "r") as csvfile: + reader = csv.reader(csvfile, delimiter=';') + for row in reader: + self.psetdefs[row[0]] = row[1:] + self.psetkeys = [''.join(map(lambda x: x if x.islower() else " "+x, t[5:]))[1:] for t in self.psetdefs.keys()] + self.psetkeys.sort() + self.ifcEditor = FreeCADGui.PySideUic.loadUi(":/ui/DialogIfcProperties.ui") + # center the dialog over FreeCAD window + mw = FreeCADGui.getMainWindow() + self.ifcEditor.move(mw.frameGeometry().topLeft() + mw.rect().center() - self.ifcEditor.rect().center()) + self.ifcModel = QtGui.QStandardItemModel() + self.ifcEditor.treeProperties.setModel(self.ifcModel) + #self.ifcEditor.treeProperties.setDragDropMode(QtGui.QAbstractItemView.InternalMove) + self.ifcEditor.treeProperties.setUniformRowHeights(True) + self.ifcEditor.treeProperties.setItemDelegate(IfcEditorDelegate(dialog=self,ptypes=self.ptypes,plabels=self.plabels)) + self.ifcModel.setHorizontalHeaderLabels([QtGui.QApplication.translate("Arch", "Property", None), + QtGui.QApplication.translate("Arch", "Type", None), + QtGui.QApplication.translate("Arch", "Value", None)]) + # set combos + self.ifcEditor.comboProperty.addItems([QtGui.QApplication.translate("Arch", "Add property...", None)]+self.plabels) + self.ifcEditor.comboPset.addItems([QtGui.QApplication.translate("Arch", "Add property set...", None), + QtGui.QApplication.translate("Arch", "New...", None)]+self.psetkeys) + # set UUID + if "IfcUID" in self.obj.IfcAttributes: + self.ifcEditor.labelUUID.setText(self.obj.IfcAttributes["IfcUID"]) + # fill the tree + psets = {} + for pname,value in self.obj.IfcProperties.items(): + # properties in IfcProperties dict are stored as "key":"pset;;type;;value" or "key":"type;;value" + value = value.split(";;") + if len(value) == 3: + pset = value[0] + ptype = value[1] + pvalue = value[2] + elif len(value) == 2: + pset = "Default property set" + ptype = value[0] + pvalue = value[1] + else: + continue + plabel = ptype + if ptype in self.ptypes: + plabel = self.plabels[self.ptypes.index(ptype)] + psets.setdefault(pset,[]).append([pname,plabel,pvalue]) + for pset,plists in psets.items(): + top = QtGui.QStandardItem(pset) + top.setDragEnabled(False) + top.setToolTip("PropertySet") + self.ifcModel.appendRow([top,QtGui.QStandardItem(),QtGui.QStandardItem()]) + for plist in plists: + it1 = QtGui.QStandardItem(plist[0]) + it1.setDropEnabled(False) + it2 = QtGui.QStandardItem(plist[1]) + it2.setDropEnabled(False) + it3 = QtGui.QStandardItem(plist[2]) + it3.setDropEnabled(False) + top.appendRow([it1,it2,it3]) + top.sortChildren(0) + # span top levels + idx = self.ifcModel.invisibleRootItem().index() + for i in range(self.ifcModel.rowCount()): + if self.ifcModel.item(i,0).hasChildren(): + self.ifcEditor.treeProperties.setFirstColumnSpanned(i, idx, True) + self.ifcEditor.treeProperties.expandAll() + QtCore.QObject.connect(self.ifcEditor.buttonBox, QtCore.SIGNAL("accepted()"), self.acceptIfcProperties) + QtCore.QObject.connect(self.ifcEditor.comboProperty, QtCore.SIGNAL("currentIndexChanged(int)"), self.addIfcProperty) + QtCore.QObject.connect(self.ifcEditor.comboPset, QtCore.SIGNAL("currentIndexChanged(int)"), self.addIfcPset) + QtCore.QObject.connect(self.ifcEditor.buttonDelete, QtCore.SIGNAL("clicked()"), self.removeIfcProperty) + self.ifcEditor.treeProperties.setSortingEnabled(True) + # set checkboxes + if "FlagForceBrep" in self.obj.IfcAttributes: + self.ifcEditor.checkBrep.setChecked(self.obj.IfcAttributes["FlagForceBrep"] == "True") + if "FlagParametric" in self.obj.IfcAttributes: + self.ifcEditor.checkParametric.setChecked(self.obj.IfcAttributes["FlagParametric"] == "True") + self.ifcEditor.show() + + def acceptIfcProperties(self): + + if hasattr(self,"ifcEditor") and self.ifcEditor: + self.ifcEditor.hide() + ifcdict = {} + for row in range(self.ifcModel.rowCount()): + pset = self.ifcModel.item(row,0).text() + if self.ifcModel.item(row,0).hasChildren(): + for childrow in range(self.ifcModel.item(row,0).rowCount()): + prop = self.ifcModel.item(row,0).child(childrow,0).text() + ptype = self.ifcModel.item(row,0).child(childrow,1).text() + if not ptype.startswith("Ifc"): + ptype = self.ptypes[self.plabels.index(ptype)] + pvalue = self.ifcModel.item(row,0).child(childrow,2).text() + if sys.version_info.major >= 3: + ifcdict[prop] = pset+";;"+ptype+";;"+pvalue + else: + # keys cannot be unicode + ifcdict[prop.encode("utf8")] = pset+";;"+ptype+";;"+pvalue + ifcattrs = self.obj.IfcAttributes + ifcattrs["IfcUID"] = self.ifcEditor.labelUUID.text() + ifcattrs["FlagForceBrep"] = str(self.ifcEditor.checkBrep.isChecked()) + ifcattrs["FlagParametric"] = str(self.ifcEditor.checkParametric.isChecked()) + if (ifcdict != self.obj.IfcProperties) or (ifcattrs != self.obj.IfcAttributes): + FreeCAD.ActiveDocument.openTransaction("Change Ifc Properties") + if ifcdict != self.obj.IfcProperties: + self.obj.IfcProperties = ifcdict + if ifcattrs != self.obj.IfcAttributes: + self.obj.IfcAttributes = ifcattrs + FreeCAD.ActiveDocument.commitTransaction() + del self.ifcEditor + + def addIfcProperty(self,idx=0,pset=None,prop=None,ptype=None): + + if hasattr(self,"ifcEditor") and self.ifcEditor: + if not pset: + sel = self.ifcEditor.treeProperties.selectedIndexes() + if sel: + item = self.ifcModel.itemFromIndex(sel[0]) + if item.toolTip() == "PropertySet": + pset = item + if pset: + if not prop: + prop = QtGui.QApplication.translate("Arch", "New property", None) + if not ptype: + if idx > 0: + ptype = self.plabels[idx-1] + if prop and ptype: + if ptype in self.ptypes: + ptype = self.plabels[self.ptypes.index(ptype)] + it1 = QtGui.QStandardItem(prop) + it1.setDropEnabled(False) + it2 = QtGui.QStandardItem(ptype) + it2.setDropEnabled(False) + it3 = QtGui.QStandardItem() + it3.setDropEnabled(False) + pset.appendRow([it1,it2,it3]) + if idx != 0: + self.ifcEditor.comboProperty.setCurrentIndex(0) + + def addIfcPset(self,idx=0): + + if hasattr(self,"ifcEditor") and self.ifcEditor: + if idx == 1: + top = QtGui.QStandardItem(QtGui.QApplication.translate("Arch", "New property set", None)) + top.setDragEnabled(False) + top.setToolTip("PropertySet") + self.ifcModel.appendRow([top,QtGui.QStandardItem(),QtGui.QStandardItem()]) + elif idx > 1: + psetlabel = self.psetkeys[idx-2] + psetdef = "Pset_"+psetlabel.replace(" ","") + if psetdef in self.psetdefs: + top = QtGui.QStandardItem(psetdef) + top.setDragEnabled(False) + top.setToolTip("PropertySet") + self.ifcModel.appendRow([top,QtGui.QStandardItem(),QtGui.QStandardItem()]) + for i in range(0,len(self.psetdefs[psetdef]),2): + self.addIfcProperty(pset=top,prop=self.psetdefs[psetdef][i],ptype=self.psetdefs[psetdef][i+1]) + if idx != 0: + # span top levels + idx = self.ifcModel.invisibleRootItem().index() + for i in range(self.ifcModel.rowCount()): + if self.ifcModel.item(i,0).hasChildren(): + self.ifcEditor.treeProperties.setFirstColumnSpanned(i, idx, True) + self.ifcEditor.treeProperties.expandAll() + self.ifcEditor.comboPset.setCurrentIndex(0) + + def removeIfcProperty(self): + + if hasattr(self,"ifcEditor") and self.ifcEditor: + sel = self.ifcEditor.treeProperties.selectedIndexes() + if sel: + if self.ifcModel.itemFromIndex(sel[0]).toolTip() == "PropertySet": + self.ifcModel.takeRow(sel[0].row()) + else: + pset = self.ifcModel.itemFromIndex(sel[0].parent()) + pset.takeRow(sel[0].row()) + + + +class IfcEditorDelegate(QtGui.QStyledItemDelegate): + + + def __init__(self, parent=None, dialog=None, ptypes=[], plabels=[], *args): + + self.dialog = dialog + QtGui.QStyledItemDelegate.__init__(self, parent, *args) + self.ptypes = ptypes + self.plabels = plabels + + def createEditor(self,parent,option,index): + + if index.column() == 0: # property name + editor = QtGui.QLineEdit(parent) + elif index.column() == 1: # property type + editor = QtGui.QComboBox(parent) + else: # property value + ptype = index.sibling(index.row(),1).data() + if "Integer" in ptype: + editor = QtGui.QSpinBox(parent) + elif "Real" in ptype: + editor = QtGui.QDoubleSpinBox(parent) + editor.setDecimals(FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Units").GetInt("Decimals",2)) + elif ("Boolean" in ptype) or ("Logical" in ptype): + editor = QtGui.QComboBox(parent) + editor.addItems(["True","False"]) + elif "Measure" in ptype: + editor = FreeCADGui.UiLoader().createWidget("Gui::InputField") + editor.setParent(parent) + else: + editor = QtGui.QLineEdit(parent) + editor.setObjectName("editor_"+ptype) + return editor + + def setEditorData(self, editor, index): + + if index.column() == 0: + editor.setText(index.data()) + elif index.column() == 1: + editor.addItems(self.plabels) + if index.data() in self.plabels: + idx = self.plabels.index(index.data()) + editor.setCurrentIndex(idx) + else: + if "Integer" in editor.objectName(): + try: + editor.setValue(int(index.data())) + except: + editor.setValue(0) + elif "Real" in editor.objectName(): + try: + editor.setValue(float(index.data())) + except: + editor.setValue(0) + elif ("Boolean" in editor.objectName()) or ("Logical" in editor.objectName()): + try: + editor.setCurrentIndex(["true","false"].index(index.data().lower())) + except: + editor.setCurrentIndex(1) + elif "Measure" in editor.objectName(): + try: + editor.setText(index.data()) + except: + editor.setValue(0) + else: + editor.setText(index.data()) + + def setModelData(self, editor, model, index): + + if index.column() == 0: + model.setData(index,editor.text()) + elif index.column() == 1: + if editor.currentIndex() > -1: + idx = editor.currentIndex() + data = self.plabels[idx] + model.setData(index,data) + else: + if ("Integer" in editor.objectName()) or ("Real" in editor.objectName()): + model.setData(index,str(editor.value())) + elif ("Boolean" in editor.objectName()) or ("Logical" in editor.objectName()): + model.setData(index,editor.currentText()) + elif "Measure" in editor.objectName(): + model.setData(index,editor.property("text")) + else: + model.setData(index,editor.text()) + self.dialog.update() + + + + + + + diff --git a/src/Mod/Arch/CMakeLists.txt b/src/Mod/Arch/CMakeLists.txt index c36275dafa..f075aea764 100644 --- a/src/Mod/Arch/CMakeLists.txt +++ b/src/Mod/Arch/CMakeLists.txt @@ -51,6 +51,7 @@ SET(Dice3DS_SRCS SET(Arch_presets Presets/profiles.csv + Presets/pset_definitions.csv ) SOURCE_GROUP("" FILES ${Arch_SRCS}) diff --git a/src/Mod/Arch/Presets/pset_definitions.csv b/src/Mod/Arch/Presets/pset_definitions.csv new file mode 100644 index 0000000000..d8ce5cc50b --- /dev/null +++ b/src/Mod/Arch/Presets/pset_definitions.csv @@ -0,0 +1,381 @@ +Pset_ActionRequest;RequestSourceLabel;IfcLabel;RequestSourceName;IfcPerson;RequestComments;IfcText +Pset_ActorCommon;NumberOfActors;IfcCountMeasure;Category;IfcLabel;SkillLevel;IfcLabel +Pset_ActuatorPHistory;Position;IfcTimeSeries;Quality;IfcTimeSeries;Status;IfcTimeSeries +Pset_ActuatorTypeCommon;Reference;IfcIdentifier;ManualOverride;IfcBoolean +Pset_ActuatorTypeElectricActuator;ActuatorInputPower;IfcPowerMeasure +Pset_ActuatorTypeHydraulicActuator;InputPressure;IfcPressureMeasure;InputFlowrate;IfcVolumetricFlowRateMeasure +Pset_ActuatorTypeLinearActuation;Force;IfcForceMeasure;Stroke;IfcLengthMeasure +Pset_ActuatorTypePneumaticActuator;InputPressure;IfcPressureMeasure;InputFlowrate;IfcVolumetricFlowRateMeasure +Pset_ActuatorTypeRotationalActuation;Torque;IfcTorqueMeasure;RangeAngle;IfcPlaneAngleMeasure +Pset_AirSideSystemInformation;Name;IfcLabel;Description;IfcLabel;TotalAirflow;IfcVolumetricFlowRateMeasure;EnergyGainTotal;IfcPowerMeasure;AirflowSensible;IfcVolumetricFlowRateMeasure;EnergyGainSensible;IfcPowerMeasure;EnergyLoss;IfcPowerMeasure;LightingDiversity;IfcPositiveRatioMeasure;InfiltrationDiversitySummer;IfcPositiveRatioMeasure;InfiltrationDiversityWinter;IfcPositiveRatioMeasure;ApplianceDiversity;IfcPositiveRatioMeasure;LoadSafetyFactor;IfcPositiveRatioMeasure;HeatingTemperatureDelta;IfcThermodynamicTemperatureMeasure;CoolingTemperatureDelta;IfcThermodynamicTemperatureMeasure;Ventilation;IfcVolumetricFlowRateMeasure;FanPower;IfcPowerMeasure +Pset_AirTerminalBoxPHistory;DamperPosition;IfcTimeSeries;AtmosphericPressure;IfcTimeSeries;Sound;IfcTimeSeries;AirflowCurve;IfcTimeSeries +Pset_AirTerminalBoxTypeCommon;Reference;IfcIdentifier;AirflowRateRange;IfcVolumetricFlowRateMeasure;AirPressureRange;IfcPressureMeasure;NominalAirFlowRate;IfcVolumetricFlowRateMeasure;HasSoundAttenuator;IfcBoolean;HasReturnAir;IfcBoolean;HasFan;IfcBoolean;NominalInletAirPressure;IfcPressureMeasure;NominalDamperDiameter;IfcPositiveLengthMeasure;HousingThickness;IfcLengthMeasure;OperationTemperatureRange;IfcThermodynamicTemperatureMeasure;ReturnAirFractionRange;IfcPositiveRatioMeasure +Pset_AirTerminalOccurrence;AirFlowRate;IfcVolumetricFlowRateMeasure +Pset_AirTerminalPHistory;AirFlowRate;IfcTimeSeries;NeckAirVelocity;IfcTimeSeries;SupplyAirTemperatureHeating;IfcTimeSeries;SupplyAirTemperatureCooling;IfcTimeSeries;PressureDrop;IfcTimeSeries +Pset_AirTerminalTypeCommon;Reference;IfcIdentifier;SlotWidth;IfcPositiveLengthMeasure;SlotLength;IfcPositiveLengthMeasure;NumberOfSlots;IfcInteger;AirFlowrateRange;IfcVolumetricFlowRateMeasure;TemperatureRange;IfcThermodynamicTemperatureMeasure;ThrowLength;IfcLengthMeasure;AirDiffusionPerformanceIndex;IfcReal;FinishColor;IfcLabel;CoreSetHorizontal;IfcPlaneAngleMeasure;CoreSetVertical;IfcPlaneAngleMeasure;HasIntegralControl;IfcBoolean;HasSoundAttenuator;IfcBoolean;HasThermalInsulation;IfcBoolean;NeckArea;IfcAreaMeasure;EffectiveArea;IfcAreaMeasure +Pset_AirToAirHeatRecoveryPHistory;SensibleEffectiveness;IfcTimeSeries;TotalEffectiveness;IfcTimeSeries;TemperatureEffectiveness;IfcTimeSeries;DefrostTemperatureEffectiveness;IfcTimeSeries;HumidityEffectiveness;IfcTimeSeries;SensibleHeatTransferRate;IfcTimeSeries;LatentHeatTransferRate;IfcTimeSeries;TotalHeatTransferRate;IfcTimeSeries;SensibleEffectivenessTable;IfcTimeSeries;TotalEffectivenessTable;IfcTimeSeries;AirPressureDropCurves;IfcTimeSeries +Pset_AirToAirHeatRecoveryTypeCommon;Reference;IfcIdentifier;HasDefrost;IfcBoolean;OperationalTemperatureRange;IfcThermodynamicTemperatureMeasure;PrimaryAirflowRateRange;IfcVolumetricFlowRateMeasure;SecondaryAirflowRateRange;IfcPressureMeasure +Pset_AlarmPHistory;Enabled;IfcTimeSeries;Condition;IfcTimeSeries;Severity;IfcTimeSeries;Acknowledge;IfcTimeSeries;User;IfcTimeSeries +Pset_AlarmTypeCommon;Reference;IfcIdentifier +Pset_AnnotationContourLine;ContourValue;IfcLengthMeasure +Pset_AnnotationLineOfSight;SetbackDistance;IfcPositiveLengthMeasure;VisibleAngleLeft;IfcPositivePlaneAngleMeasure;VisibleAngleRight;IfcPositivePlaneAngleMeasure;RoadVisibleDistanceLeft;IfcPositiveLengthMeasure;RoadVisibleDistanceRight;IfcPositiveLengthMeasure +Pset_AnnotationSurveyArea;AccuracyQualityObtained;IfcRatioMeasure;AccuracyQualityExpected;IfcRatioMeasure +Pset_AudioVisualAppliancePHistory;PowerState;IfcTimeSeries;MediaSource;IfcTimeSeries;MediaContent;IfcTimeSeries;AudioVolume;IfcTimeSeries +Pset_AudioVisualApplianceTypeCamera;IsOutdoors;IfcBoolean;VideoResolutionWidth;IfcInteger;VideoResolutionHeight;IfcInteger;PanHorizontal;IfcLengthMeasure;PanVertical;IfcLengthMeasure;TiltHorizontal;IfcPlaneAngleMeasure;TiltVertical;IfcPlaneAngleMeasure;Zoom;IfcPositiveLengthMeasure +Pset_AudioVisualApplianceTypeCommon;Reference;IfcIdentifier +Pset_AudioVisualApplianceTypeDisplay;NominalSize;IfcPositiveLengthMeasure;DisplayWidth;IfcPositiveLengthMeasure;DisplayHeight;IfcPositiveLengthMeasure;Brightness;IfcIlluminanceMeasure;ContrastRatio;IfcPositiveRatioMeasure;RefreshRate;IfcFrequencyMeasure;VideoResolutionWidth;IfcInteger;VideoResolutionHeight;IfcInteger +Pset_AudioVisualApplianceTypePlayer;PlayerMediaEject;IfcBoolean +Pset_AudioVisualApplianceTypeProjector;VideoResolutionWidth;IfcInteger;VideoResolutionHeight;IfcInteger +Pset_AudioVisualApplianceTypeSpeaker;Impedence;IfcFrequencyMeasure +Pset_AudioVisualApplianceTypeTuner;TunerFrequency;IfcFrequencyMeasure +Pset_BeamCommon;Reference;IfcIdentifier;Span;IfcPositiveLengthMeasure;Slope;IfcPlaneAngleMeasure;Roll;IfcPlaneAngleMeasure;IsExternal;IfcBoolean;ThermalTransmittance;IfcThermalTransmittanceMeasure;LoadBearing;IfcBoolean;FireRating;IfcLabel +Pset_BoilerPHistory;EnergySourceConsumption;IfcTimeSeries;OperationalEfficiency;IfcTimeSeries;CombustionEfficiency;IfcTimeSeries;WorkingPressure;IfcTimeSeries;CombustionTemperature;IfcTimeSeries;PartLoadRatio;IfcTimeSeries;Load;IfcTimeSeries;PrimaryEnergyConsumption;IfcTimeSeries;AuxiliaryEnergyConsumption;IfcTimeSeries +Pset_BoilerTypeCommon;Reference;IfcIdentifier;PressureRating;IfcPressureMeasure;HeatTransferSurfaceArea;IfcAreaMeasure;NominalPartLoadRatio;IfcReal;WaterInletTemperatureRange;IfcThermodynamicTemperatureMeasure;WaterStorageCapacity;IfcVolumeMeasure;IsWaterStorageHeater;IfcBoolean;OutletTemperatureRange;IfcThermodynamicTemperatureMeasure;NominalEnergyConsumption;IfcPowerMeasure +Pset_BoilerTypeSteam;MaximumOutletPressure;IfcLabel +Pset_BuildingCommon;Reference;IfcIdentifier;BuildingID;IfcIdentifier;IsPermanentID;IfcBoolean;ConstructionMethod;IfcLabel;FireProtectionClass;IfcLabel;SprinklerProtection;IfcBoolean;SprinklerProtectionAutomatic;IfcBoolean;OccupancyType;IfcLabel;GrossPlannedArea;IfcAreaMeasure;NetPlannedArea;IfcAreaMeasure;NumberOfStoreys;IfcInteger;YearOfConstruction;IfcLabel;YearOfLastRefurbishment;IfcLabel;IsLandmarked;IfcLogical +Pset_BuildingElementProxyCommon;Reference;IfcIdentifier;IsExternal;IfcBoolean;ThermalTransmittance;IfcThermalTransmittanceMeasure;LoadBearing;IfcBoolean;FireRating;IfcLabel +Pset_BuildingElementProxyProvisionForVoid;Shape;IfcLabel;Width;IfcPositiveLengthMeasure;Height;IfcPositiveLengthMeasure;Diameter;IfcPositiveLengthMeasure;Depth;IfcPositiveLengthMeasure;System;IfcLabel +Pset_BuildingStoreyCommon;Reference;IfcIdentifier;EntranceLevel;IfcBoolean;AboveGround;IfcLogical;SprinklerProtection;IfcBoolean;SprinklerProtectionAutomatic;IfcBoolean;LoadBearingCapacity;IfcPlanarForceMeasure;GrossPlannedArea;IfcAreaMeasure;NetPlannedArea;IfcAreaMeasure +Pset_BuildingSystemCommon;Reference;IfcIdentifier +Pset_BuildingUse;MarketCategory;IfcLabel;MarketSubCategory;IfcLabel;PlanningControlStatus;IfcLabel;NarrativeText;IfcText;VacancyRateInCategoryNow;IfcPositiveRatioMeasure;TenureModesAvailableNow;IfcLabel;MarketSubCategoriesAvailableNow;IfcLabel;RentalRatesInCategoryNow;IfcMonetaryMeasure;VacancyRateInCategoryFuture;IfcPositiveRatioMeasure;TenureModesAvailableFuture;IfcLabel;MarketSubCategoriesAvailableFuture;IfcLabel;RentalRatesInCategoryFuture;IfcMonetaryMeasure +Pset_BuildingUseAdjacent;MarketCategory;IfcLabel;MarketSubCategory;IfcLabel;PlanningControlStatus;IfcLabel;NarrativeText;IfcText +Pset_BurnerTypeCommon;Reference;IfcIdentifier +Pset_CableCarrierFittingTypeCommon;Reference;IfcIdentifier +Pset_CableCarrierSegmentTypeCableLadderSegment;NominalWidth;IfcPositiveLengthMeasure;NominalHeight;IfcPositiveLengthMeasure;LadderConfiguration;IfcText +Pset_CableCarrierSegmentTypeCableTraySegment;NominalWidth;IfcPositiveLengthMeasure;NominalHeight;IfcPositiveLengthMeasure;HasCover;IfcBoolean +Pset_CableCarrierSegmentTypeCableTrunkingSegment;NominalWidth;IfcPositiveLengthMeasure;NominalHeight;IfcPositiveLengthMeasure;NumberOfCompartments;IfcInteger +Pset_CableCarrierSegmentTypeCommon;Reference;IfcIdentifier +Pset_CableCarrierSegmentTypeConduitSegment;NominalWidth;IfcPositiveLengthMeasure;NominalHeight;IfcPositiveLengthMeasure;IsRigid;IfcBoolean +Pset_CableFittingTypeCommon;Reference;IfcIdentifier +Pset_CableSegmentOccurrence;DesignAmbientTemperature;IfcThermodynamicTemperatureMeasure;UserCorrectionFactor;IfcReal;NumberOfParallelCircuits;IfcInteger;InstallationMethod;IfcLabel;DistanceBetweenParallelCircuits;IfcLengthMeasure;SoilConductivity;IfcThermalConductivityMeasure;CarrierStackNumber;IfcInteger;IsHorizontalCable;IfcBoolean;IsMountedFlatCable;IfcBoolean;CurrentCarryingCapasity;IfcElectricCurrentMeasure;MaximumCableLength;IfcLengthMeasure;PowerLoss;IfcElectricCurrentMeasure +Pset_CableSegmentTypeBusBarSegment;IsHorizontalBusbar;IfcBoolean +Pset_CableSegmentTypeCableSegment;Standard;IfcLabel;NumberOfCores;IfcInteger;OverallDiameter;IfcPositiveLengthMeasure;RatedVoltage;IfcElectricVoltageMeasure;RatedTemperature;IfcThermodynamicTemperatureMeasure;ScreenDiameter;IfcPositiveLengthMeasure;HasProtectiveEarth;IfcBoolean;MaximumOperatingTemperature;IfcThermodynamicTemperatureMeasure;MaximumShortCircuitTemperature;IfcThermodynamicTemperatureMeasure;SpecialConstruction;IfcLabel;Weight;IfcMassMeasure;SelfExtinguishing60332_1;IfcBoolean;SelfExtinguishing60332_3;IfcBoolean;HalogenProof;IfcBoolean;FunctionReliable;IfcBoolean +Pset_CableSegmentTypeCommon;Reference;IfcIdentifier +Pset_CableSegmentTypeConductorSegment;CrossSectionalArea;IfcAreaMeasure +Pset_CableSegmentTypeCoreSegment;OverallDiameter;IfcPositiveLengthMeasure;RatedVoltage;IfcElectricVoltageMeasure;RatedTemperature;IfcThermodynamicTemperatureMeasure;ScreenDiameter;IfcPositiveLengthMeasure;CoreIdentifier;IfcIdentifier;Weight;IfcMassMeasure;SelfExtinguishing60332_1;IfcBoolean;SelfExtinguishing60332_3;IfcBoolean;HalogenProof;IfcBoolean;FunctionReliable;IfcBoolean;Standard;IfcLabel +Pset_ChillerPHistory;Capacity;IfcTimeSeries;EnergyEfficiencyRatio;IfcTimeSeries;CoefficientOfPerformance;IfcTimeSeries +Pset_ChillerTypeCommon;Reference;IfcIdentifier;NominalCapacity;IfcPowerMeasure;NominalEfficiency;IfcPositiveRatioMeasure;NominalCondensingTemperature;IfcThermodynamicTemperatureMeasure;NominalEvaporatingTemperature;IfcThermodynamicTemperatureMeasure;NominalHeatRejectionRate;IfcPowerMeasure;NominalPowerConsumption;IfcPowerMeasure +Pset_ChimneyCommon;Reference;IfcIdentifier;NumberOfDrafts;IfcCountMeasure;IsExternal;IfcBoolean;ThermalTransmittance;IfcThermalTransmittanceMeasure;LoadBearing;IfcBoolean;FireRating;IfcLabel +Pset_CoilOccurrence;HasSoundAttenuation;IfcBoolean +Pset_CoilPHistory;AtmosphericPressure;IfcTimeSeries;AirPressureDropCurve;IfcTimeSeries;SoundCurve;IfcTimeSeries;FaceVelocity;IfcTimeSeries +Pset_CoilTypeCommon;Reference;IfcIdentifier;OperationalTemperatureRange;IfcThermodynamicTemperatureMeasure;AirflowRateRange;IfcVolumetricFlowRateMeasure;NominalSensibleCapacity;IfcPowerMeasure;NominalLatentCapacity;IfcPowerMeasure;NominalUA;IfcReal +Pset_CoilTypeHydronic;FluidPressureRange;IfcPressureMeasure;CoilFaceArea;IfcAreaMeasure;HeatExchangeSurfaceArea;IfcAreaMeasure;PrimarySurfaceArea;IfcAreaMeasure;SecondarySurfaceArea;IfcAreaMeasure;Fluid;IfcMaterialDefinition;BypassFactor;IfcNormalisedRatioMeasure;SensibleHeatRatio;IfcNormalisedRatioMeasure;WetCoilFraction;IfcNormalisedRatioMeasure +Pset_ColumnCommon;Reference;IfcIdentifier;Slope;IfcPlaneAngleMeasure;Roll;IfcPlaneAngleMeasure;IsExternal;IfcBoolean;ThermalTransmittance;IfcThermalTransmittanceMeasure;LoadBearing;IfcBoolean;FireRating;IfcLabel +Pset_CommunicationsAppliancePHistory;PowerState;IfcTimeSeries +Pset_CommunicationsApplianceTypeCommon;Reference;IfcIdentifier +Pset_CompressorPHistory;CompressorCapacity;IfcTimeSeries;EnergyEfficiencyRatio;IfcTimeSeries;CoefficientOfPerformance;IfcTimeSeries;VolumetricEfficiency;IfcTimeSeries;CompressionEfficiency;IfcTimeSeries;MechanicalEfficiency;IfcTimeSeries;IsentropicEfficiency;IfcTimeSeries;CompressorTotalEfficiency;IfcTimeSeries;ShaftPower;IfcTimeSeries;InputPower;IfcTimeSeries;LubricantPumpHeatGain;IfcTimeSeries;FrictionHeatGain;IfcTimeSeries;CompressorTotalHeatGain;IfcTimeSeries;FullLoadRatio;IfcTimeSeries +Pset_CompressorTypeCommon;Reference;IfcIdentifier;RefrigerantType;IfcMaterialDefinition;MinimumPartLoadRatio;IfcPositiveRatioMeasure;MaximumPartLoadRatio;IfcPositiveRatioMeasure;CompressorSpeed;IfcRotationalFrequencyMeasure;NominalCapacity;IfcPowerMeasure;IdealCapacity;IfcPowerMeasure;IdealShaftPower;IfcPowerMeasure;HasHotGasBypass;IfcBoolean;ImpellerDiameter;IfcPositiveLengthMeasure +Pset_ConcreteElementGeneral;ConstructionMethod;IfcLabel;StructuralClass;IfcLabel;StrengthClass;IfcLabel;ExposureClass;IfcLabel;ReinforcementVolumeRatio;IfcMassDensityMeasure;ReinforcementAreaRatio;IfcAreaDensityMeasure;DimensionalAccuracyClass;IfcLabel;ConstructionToleranceClass;IfcLabel;ConcreteCover;IfcPositiveLengthMeasure;ConcreteCoverAtMainBars;IfcPositiveLengthMeasure;ConcreteCoverAtLinks;IfcPositiveLengthMeasure;ReinforcementStrengthClass;IfcLabel +Pset_CondenserPHistory;HeatRejectionRate;IfcTimeSeries;ExteriorHeatTransferCoefficient;IfcTimeSeries;InteriorHeatTransferCoefficient;IfcTimeSeries;RefrigerantFoulingResistance;IfcTimeSeries;CondensingTemperature;IfcTimeSeries;LogarithmicMeanTemperatureDifference;IfcTimeSeries;UAcurves;IfcTimeSeries;CompressorCondenserHeatGain;IfcTimeSeries;CompressorCondenserPressureDrop;IfcTimeSeries;CondenserMeanVoidFraction;IfcTimeSeries;WaterFoulingResistance;IfcTimeSeries +Pset_CondenserTypeCommon;Reference;IfcIdentifier;RefrigerantMaterial;IfcMaterialDefinition;ExternalSurfaceArea;IfcAreaMeasure;InternalSurfaceArea;IfcAreaMeasure;InternalRefrigerantVolume;IfcVolumeMeasure;InternalWaterVolume;IfcVolumeMeasure;NominalHeatTransferArea;IfcAreaMeasure;NominalHeatTransferCoefficient;IfcThermalTransmittanceMeasure +Pset_Condition;AssessmentDate;IfcDate;AssessmentCondition;IfcLabel;AssessmentDescription;IfcText +Pset_ConstructionResource;ScheduleWork;IfcTimeSeries;ActualWork;IfcTimeSeries;RemainingWork;IfcTimeSeries;ScheduleCost;IfcTimeSeries;ActualCost;IfcTimeSeries;RemainingCost;IfcTimeSeries;ScheduleCompletion;IfcTimeSeries;ActualCompletion;IfcTimeSeries +Pset_ControllerPHistory;Value;IfcTimeSeries;Quality;IfcTimeSeries;Status;IfcTimeSeries +Pset_ControllerTypeCommon;Reference;IfcIdentifier +Pset_ControllerTypeFloating;Range;IfcReal;Value;IfcReal;SignalOffset;IfcReal;SignalFactor;IfcReal;SignalTime;IfcTimeMeasure +Pset_ControllerTypeMultiPosition;Range;IfcInteger;Value;IfcInteger +Pset_ControllerTypeProgrammable;FirmwareVersion;IfcLabel;SoftwareVersion;IfcLabel +Pset_ControllerTypeProportional;Range;IfcReal;Value;IfcReal;ProportionalConstant;IfcReal;IntegralConstant;IfcReal;DerivativeConstant;IfcReal;SignalTimeIncrease;IfcTimeMeasure;SignalTimeDecrease;IfcTimeMeasure +Pset_ControllerTypeTwoPosition;Polarity;IfcBoolean;Value;IfcBoolean +Pset_CooledBeamPHistory;TotalCoolingCapacity;IfcTimeSeries;TotalHeatingCapacity;IfcTimeSeries;BeamCoolingCapacity;IfcTimeSeries;BeamHeatingCapacity;IfcTimeSeries;CoolingWaterFlowRate;IfcTimeSeries;HeatingWaterFlowRate;IfcTimeSeries;CorrectionFactorForCooling;IfcTimeSeries;CorrectionFactorForHeating;IfcTimeSeries;WaterPressureDropCurves;IfcTimeSeries;SupplyWaterTemperatureCooling;IfcTimeSeries;ReturnWaterTemperatureCooling;IfcTimeSeries;SupplyWaterTemperatureHeating;IfcTimeSeries;ReturnWaterTemperatureHeating;IfcTimeSeries +Pset_CooledBeamPHistoryActive;AirFlowRate;IfcTimeSeries;Throw;IfcTimeSeries;AirPressureDropCurves;IfcTimeSeries +Pset_CooledBeamTypeActive;AirflowRateRange;IfcVolumetricFlowRateMeasure;ConnectionSize;IfcLengthMeasure +Pset_CooledBeamTypeCommon;Reference;IfcIdentifier;IsFreeHanging;IfcBoolean;WaterPressureRange;IfcPressureMeasure;NominalCoolingCapacity;IfcPowerMeasure;NominalSurroundingTemperatureCooling;IfcThermodynamicTemperatureMeasure;NominalSurroundingHumidityCooling;IfcNormalisedRatioMeasure;NominalSupplyWaterTemperatureCooling;IfcThermodynamicTemperatureMeasure;NominalReturnWaterTemperatureCooling;IfcThermodynamicTemperatureMeasure;NominalWaterFlowCooling;IfcVolumetricFlowRateMeasure;NominalHeatingCapacity;IfcPowerMeasure;NominalSurroundingTemperatureHeating;IfcThermodynamicTemperatureMeasure;NominalSupplyWaterTemperatureHeating;IfcThermodynamicTemperatureMeasure;NominalReturnWaterTemperatureHeating;IfcThermodynamicTemperatureMeasure;NominalWaterFlowHeating;IfcVolumetricFlowRateMeasure;FinishColor;IfcLabel;CoilLength;IfcPositiveLengthMeasure;CoilWidth;IfcPositiveLengthMeasure +Pset_CoolingTowerPHistory;Capacity;IfcTimeSeries;HeatTransferCoefficient;IfcTimeSeries;SumpHeaterPower;IfcTimeSeries;UACurve;IfcTimeSeries;Performance;IfcTimeSeries +Pset_CoolingTowerTypeCommon;Reference;IfcIdentifier;NominalCapacity;IfcPowerMeasure;NumberOfCells;IfcInteger;BasinReserveVolume;IfcVolumeMeasure;LiftElevationDifference;IfcPositiveLengthMeasure;WaterRequirement;IfcVolumetricFlowRateMeasure;OperationTemperatureRange;IfcThermodynamicTemperatureMeasure;AmbientDesignDryBulbTemperature;IfcThermodynamicTemperatureMeasure;AmbientDesignWetBulbTemperature;IfcThermodynamicTemperatureMeasure +Pset_CoveringCeiling;Permeability;IfcNormalisedRatioMeasure;TileLength;IfcPositiveLengthMeasure;TileWidth;IfcPositiveLengthMeasure +Pset_CoveringCommon;Reference;IfcIdentifier;FireRating;IfcLabel;AcousticRating;IfcLabel;FlammabilityRating;IfcLabel;FragilityRating;IfcLabel;SurfaceSpreadOfFlame;IfcLabel;Combustible;IfcBoolean;IsExternal;IfcBoolean;ThermalTransmittance;IfcThermalTransmittanceMeasure;Finish;IfcText +Pset_CoveringFlooring;HasNonSkidSurface;IfcBoolean;HasAntiStaticSurface;IfcBoolean +Pset_CurtainWallCommon;Reference;IfcIdentifier;AcousticRating;IfcLabel;FireRating;IfcLabel;Combustible;IfcBoolean;SurfaceSpreadOfFlame;IfcLabel;ThermalTransmittance;IfcThermalTransmittanceMeasure;IsExternal;IfcBoolean +Pset_DamperPHistory;AirFlowRate;IfcTimeSeries;Leakage;IfcTimeSeries;PressureDrop;IfcTimeSeries;BladePositionAngle;IfcTimeSeries;DamperPosition;IfcTimeSeries;PressureLossCoefficient;IfcTimeSeries +Pset_DamperTypeCommon;Reference;IfcIdentifier;BladeMaterial;IfcMaterialDefinition;BladeThickness;IfcPositiveLengthMeasure;SealMaterial;IfcMaterialDefinition;NumberofBlades;IfcInteger;FaceArea;IfcAreaMeasure;MaximumAirFlowRate;IfcVolumetricFlowRateMeasure;TemperatureRange;IfcThermodynamicTemperatureMeasure;MaximumWorkingPressure;IfcPressureMeasure;TemperatureRating;IfcThermodynamicTemperatureMeasure;NominalAirFlowRate;IfcVolumetricFlowRateMeasure;OpenPressureDrop;IfcPressureMeasure;LeakageFullyClosed;IfcVolumetricFlowRateMeasure;FrameType;IfcLabel;FrameDepth;IfcPositiveLengthMeasure;FrameMaterial;IfcMaterialDefinition;FrameThickness;IfcPositiveLengthMeasure;CloseOffRating;IfcPressureMeasure +Pset_DamperTypeControlDamper;TorqueRange;IfcTorqueMeasure +Pset_DamperTypeFireDamper;FireResistanceRating;IfcLabel;FusibleLinkTemperature;IfcThermodynamicTemperatureMeasure +Pset_DamperTypeFireSmokeDamper;ControlType;IfcLabel;FireResistanceRating;IfcLabel;FusibleLinkTemperature;IfcThermodynamicTemperatureMeasure +Pset_DamperTypeSmokeDamper;ControlType;IfcLabel +Pset_DiscreteAccessoryColumnShoe;ColumnShoeBasePlateThickness;IfcPositiveLengthMeasure;ColumnShoeBasePlateWidth;IfcPositiveLengthMeasure;ColumnShoeBasePlateDepth;IfcPositiveLengthMeasure;ColumnShoeCasingHeight;IfcPositiveLengthMeasure;ColumnShoeCasingWidth;IfcPositiveLengthMeasure;ColumnShoeCasingDepth;IfcPositiveLengthMeasure +Pset_DiscreteAccessoryCornerFixingPlate;CornerFixingPlateLength;IfcPositiveLengthMeasure;CornerFixingPlateThickness;IfcPositiveLengthMeasure;CornerFixingPlateFlangeWidthInPlaneZ;IfcPositiveLengthMeasure;CornerFixingPlateFlangeWidthInPlaneX;IfcPositiveLengthMeasure +Pset_DiscreteAccessoryDiagonalTrussConnector;DiagonalTrussHeight;IfcPositiveLengthMeasure;DiagonalTrussLength;IfcPositiveLengthMeasure;DiagonalTrussCrossBarSpacing;IfcPositiveLengthMeasure;DiagonalTrussBaseBarDiameter;IfcPositiveLengthMeasure;DiagonalTrussSecondaryBarDiameter;IfcPositiveLengthMeasure;DiagonalTrussCrossBarDiameter;IfcPositiveLengthMeasure +Pset_DiscreteAccessoryEdgeFixingPlate;EdgeFixingPlateLength;IfcPositiveLengthMeasure;EdgeFixingPlateThickness;IfcPositiveLengthMeasure;EdgeFixingPlateFlangeWidthInPlaneZ;IfcPositiveLengthMeasure;EdgeFixingPlateFlangeWidthInPlaneX;IfcPositiveLengthMeasure +Pset_DiscreteAccessoryFixingSocket;FixingSocketTypeReference;IfcExternalReference;FixingSocketHeight;IfcPositiveLengthMeasure;FixingSocketThreadDiameter;IfcPositiveLengthMeasure;FixingSocketThreadLength;IfcPositiveLengthMeasure +Pset_DiscreteAccessoryLadderTrussConnector;LadderTrussHeight;IfcPositiveLengthMeasure;LadderTrussLength;IfcPositiveLengthMeasure;LadderTrussCrossBarSpacing;IfcPositiveLengthMeasure;LadderTrussBaseBarDiameter;IfcPositiveLengthMeasure;LadderTrussSecondaryBarDiameter;IfcPositiveLengthMeasure;LadderTrussCrossBarDiameter;IfcPositiveLengthMeasure +Pset_DiscreteAccessoryStandardFixingPlate;StandardFixingPlateWidth;IfcPositiveLengthMeasure;StandardFixingPlateDepth;IfcPositiveLengthMeasure;StandardFixingPlateThickness;IfcPositiveLengthMeasure +Pset_DiscreteAccessoryWireLoop;WireLoopBasePlateThickness;IfcPositiveLengthMeasure;WireLoopBasePlateWidth;IfcPositiveLengthMeasure;WireLoopBasePlateLength;IfcPositiveLengthMeasure;WireDiameter;IfcPositiveLengthMeasure;WireEmbeddingLength;IfcPositiveLengthMeasure;WireLoopLength;IfcPositiveLengthMeasure +Pset_DistributionChamberElementCommon;Reference;IfcIdentifier +Pset_DistributionChamberElementTypeFormedDuct;ClearWidth;IfcPositiveLengthMeasure;ClearDepth;IfcPositiveLengthMeasure;WallThickness;IfcPositiveLengthMeasure;BaseThickness;IfcPositiveLengthMeasure;AccessCoverLoadRating;IfcText +Pset_DistributionChamberElementTypeInspectionChamber;ChamberLengthOrRadius;IfcPositiveLengthMeasure;ChamberWidth;IfcPositiveLengthMeasure;InvertLevel;IfcLengthMeasure;SoffitLevel;IfcLengthMeasure;WallMaterial;IfcMaterialDefinition;WallThickness;IfcPositiveLengthMeasure;BaseMaterial;IfcMaterialDefinition;BaseThickness;IfcPositiveLengthMeasure;WithBackdrop;IfcBoolean;AccessCoverMaterial;IfcMaterialDefinition;AccessLengthOrRadius;IfcPositiveLengthMeasure;AccessWidth;IfcPositiveLengthMeasure;AccessCoverLoadRating;IfcText +Pset_DistributionChamberElementTypeInspectionPit;Length;IfcPositiveLengthMeasure;Width;IfcPositiveLengthMeasure;Depth;IfcPositiveLengthMeasure +Pset_DistributionChamberElementTypeManhole;InvertLevel;IfcLengthMeasure;SoffitLevel;IfcLengthMeasure;WallMaterial;IfcMaterialDefinition;WallThickness;IfcPositiveLengthMeasure;BaseMaterial;IfcMaterialDefinition;BaseThickness;IfcPositiveLengthMeasure;IsShallow;IfcBoolean;HasSteps;IfcBoolean;WithBackdrop;IfcBoolean;AccessCoverMaterial;IfcMaterialDefinition;AccessLengthOrRadius;IfcPositiveLengthMeasure;AccessWidth;IfcPositiveLengthMeasure;AccessCoverLoadRating;IfcText +Pset_DistributionChamberElementTypeMeterChamber;ChamberLengthOrRadius;IfcPositiveLengthMeasure;ChamberWidth;IfcPositiveLengthMeasure;WallMaterial;IfcMaterialDefinition;WallThickness;IfcPositiveLengthMeasure;BaseMaterial;IfcMaterialDefinition;BaseThickness;IfcPositiveLengthMeasure;AccessCoverMaterial;IfcMaterialDefinition +Pset_DistributionChamberElementTypeSump;Length;IfcPositiveLengthMeasure;Width;IfcPositiveLengthMeasure;InvertLevel;IfcPositiveLengthMeasure +Pset_DistributionChamberElementTypeTrench;Width;IfcPositiveLengthMeasure;Depth;IfcPositiveLengthMeasure;InvertLevel;IfcLengthMeasure +Pset_DistributionChamberElementTypeValveChamber;ChamberLengthOrRadius;IfcPositiveLengthMeasure;ChamberWidth;IfcPositiveLengthMeasure;WallMaterial;IfcMaterialDefinition;WallThickness;IfcPositiveLengthMeasure;BaseMaterial;IfcMaterialDefinition;BaseThickness;IfcPositiveLengthMeasure;AccessCoverMaterial;IfcMaterialDefinition +Pset_DistributionPortCommon;PortNumber;IfcInteger;ColorCode;IfcLabel +Pset_DistributionPortPHistoryCable;Current;IfcTimeSeries;Voltage;IfcTimeSeries;RealPower;IfcTimeSeries;ReactivePower;IfcTimeSeries;ApparentPower;IfcTimeSeries;PowerFactor;IfcTimeSeries;DataTransmitted;IfcTimeSeries;DataReceived;IfcTimeSeries +Pset_DistributionPortPHistoryDuct;Temperature;IfcTimeSeries;WetBulbTemperature;IfcTimeSeries;VolumetricFlowRate;IfcTimeSeries;MassFlowRate;IfcTimeSeries;FlowCondition;IfcTimeSeries;Velocity;IfcTimeSeries;Pressure;IfcTimeSeries +Pset_DistributionPortPHistoryPipe;Temperature;IfcTimeSeries;Pressure;IfcTimeSeries;Flowrate;IfcTimeSeries +Pset_DistributionPortTypeCable;ConnectionSubtype;IfcLabel;CurrentContent3rdHarmonic;IfcPositiveRatioMeasure;Current;IfcElectricCurrentMeasure;Voltage;IfcElectricVoltageMeasure;Power;IfcPowerMeasure;Protocols;IfcIdentifier +Pset_DistributionPortTypeDuct;ConnectionSubType;IfcLabel;NominalWidth;IfcPositiveLengthMeasure;NominalHeight;IfcPositiveLengthMeasure;DryBulbTemperature;IfcThermodynamicTemperatureMeasure;WetBulbTemperature;IfcThermodynamicTemperatureMeasure;VolumetricFlowRate;IfcVolumetricFlowRateMeasure;Velocity;IfcLinearVelocityMeasure;Pressure;IfcPressureMeasure +Pset_DistributionPortTypePipe;ConnectionSubType;IfcLabel;NominalDiameter;IfcPositiveLengthMeasure;InnerDiameter;IfcPositiveLengthMeasure;OuterDiameter;IfcPositiveLengthMeasure;Temperature;IfcThermodynamicTemperatureMeasure;VolumetricFlowRate;IfcVolumetricFlowRateMeasure;MassFlowRate;IfcMassFlowRateMeasure;FlowCondition;IfcPositiveRatioMeasure;Velocity;IfcLinearVelocityMeasure;Pressure;IfcPressureMeasure +Pset_DistributionSystemCommon;Reference;IfcIdentifier +Pset_DistributionSystemTypeElectrical;Diversity;IfcPositiveRatioMeasure;NumberOfLiveConductors;IfcInteger;MaximumAllowedVoltageDrop;IfcElectricVoltageMeasure;NetImpedance;IfcElectricResistanceMeasure +Pset_DistributionSystemTypeVentilation;DesignName;IfcLabel;PressureClass;IfcPressureMeasure;LeakageClass;IfcPressureMeasure;FrictionLoss;IfcReal;ScrapFactor;IfcReal;DuctSealant;IfcMaterialDefinition;MaximumVelocity;IfcLinearVelocityMeasure;AspectRatio;IfcReal;MinimumHeight;IfcPositiveLengthMeasure;MinimumWidth;IfcPositiveLengthMeasure +Pset_DoorCommon;Reference;IfcIdentifier;FireRating;IfcLabel;AcousticRating;IfcLabel;SecurityRating;IfcLabel;DurabilityRating;IfcLabel;HygrothermalRating;IfcLabel;IsExternal;IfcBoolean;Infiltration;IfcVolumetricFlowRateMeasure;ThermalTransmittance;IfcThermalTransmittanceMeasure;GlazingAreaFraction;IfcPositiveRatioMeasure;HandicapAccessible;IfcBoolean;FireExit;IfcBoolean;HasDrive;IfcBoolean;SelfClosing;IfcBoolean;SmokeStop;IfcBoolean +Pset_DoorWindowGlazingType;GlassLayers;IfcCountMeasure;GlassThickness1;IfcPositiveLengthMeasure;GlassThickness2;IfcPositiveLengthMeasure;GlassThickness3;IfcPositiveLengthMeasure;FillGas;IfcLabel;GlassColor;IfcLabel;IsTempered;IfcBoolean;IsLaminated;IfcBoolean;IsCoated;IfcBoolean;IsWired;IfcBoolean;VisibleLightReflectance;IfcNormalisedRatioMeasure;VisibleLightTransmittance;IfcNormalisedRatioMeasure;SolarAbsorption;IfcNormalisedRatioMeasure;SolarReflectance;IfcNormalisedRatioMeasure;SolarTransmittance;IfcNormalisedRatioMeasure;SolarHeatGainTransmittance;IfcNormalisedRatioMeasure;ShadingCoefficient;IfcNormalisedRatioMeasure;ThermalTransmittanceSummer;IfcThermalTransmittanceMeasure;ThermalTransmittanceWinter;IfcThermalTransmittanceMeasure +Pset_DuctFittingOccurrence;InteriorRoughnessCoefficient;IfcPositiveLengthMeasure;HasLiner;IfcBoolean;Color;IfcLabel +Pset_DuctFittingPHistory;LossCoefficient;IfcTimeSeries;AtmosphericPressure;IfcTimeSeries;AirFlowLeakage;IfcTimeSeries +Pset_DuctFittingTypeCommon;Reference;IfcIdentifier;PressureClass;IfcPressureMeasure;PressureRange;IfcPressureMeasure;TemperatureRange;IfcThermodynamicTemperatureMeasure +Pset_DuctSegmentOccurrence;InteriorRoughnessCoefficient;IfcPositiveLengthMeasure;HasLiner;IfcBoolean;Color;IfcLabel +Pset_DuctSegmentPHistory;LossCoefficient;IfcTimeSeries;AtmosphericPressure;IfcTimeSeries;LeakageCurve;IfcTimeSeries;FluidFlowLeakage;IfcTimeSeries +Pset_DuctSegmentTypeCommon;Reference;IfcIdentifier;WorkingPressure;IfcPressureMeasure;PressureRange;IfcPressureMeasure;TemperatureRange;IfcThermodynamicTemperatureMeasure;LongitudinalSeam;IfcText;NominalDiameterOrWidth;IfcPositiveLengthMeasure;NominalHeight;IfcPositiveLengthMeasure;Reinforcement;IfcLabel;ReinforcementSpacing;IfcPositiveLengthMeasure +Pset_DuctSilencerPHistory;AirFlowRate;IfcTimeSeries;AirPressureDropCurve;IfcTimeSeries +Pset_DuctSilencerTypeCommon;Reference;IfcIdentifier;HydraulicDiameter;IfcLengthMeasure;Length;IfcLengthMeasure;Weight;IfcMassMeasure;AirFlowrateRange;IfcVolumetricFlowRateMeasure;WorkingPressureRange;IfcPressureMeasure;TemperatureRange;IfcThermodynamicTemperatureMeasure;HasExteriorInsulation;IfcBoolean +Pset_ElectricalDeviceCommon;RatedCurrent;IfcElectricCurrentMeasure;RatedVoltage;IfcElectricVoltageMeasure;NominalFrequencyRange;IfcFrequencyMeasure;PowerFactor;IfcNormalisedRatioMeasure;NumberOfPoles;IfcInteger;HasProtectiveEarth;IfcBoolean;IP_Code;IfcLabel +Pset_ElectricAppliancePHistory;PowerState;IfcTimeSeries +Pset_ElectricApplianceTypeCommon;Reference;IfcIdentifier +Pset_ElectricDistributionBoardOccurrence;IsMain;IfcBoolean;IsSkilledOperator;IfcBoolean +Pset_ElectricDistributionBoardTypeCommon;Reference;IfcIdentifier +Pset_ElectricFlowStorageDeviceTypeCommon;Reference;IfcIdentifier;NominalSupplyVoltage;IfcElectricVoltageMeasure;NominalSupplyVoltageOffset;IfcElectricVoltageMeasure;NominalFrequency;IfcFrequencyMeasure;ShortCircuit3PoleMaximumState;IfcElectricCurrentMeasure;ShortCircuit3PolePowerFactorMaximumState;IfcReal;ShortCircuit2PoleMinimumState;IfcElectricCurrentMeasure;ShortCircuit2PolePowerFactorMinimumState;IfcReal;ShortCircuit1PoleMaximumState;IfcElectricCurrentMeasure;ShortCircuit1PolePowerFactorMaximumState;IfcReal;ShortCircuit1PoleMinimumState;IfcElectricCurrentMeasure;ShortCircuit1PolePowerFactorMinimumState;IfcReal;EarthFault1PoleMaximumState;IfcElectricCurrentMeasure;EarthFault1PolePowerFactorMaximumState;IfcReal;EarthFault1PoleMinimumState;IfcElectricCurrentMeasure;EarthFault1PolePowerFactorMinimumState;IfcReal +Pset_ElectricGeneratorTypeCommon;Reference;IfcIdentifier;ElectricGeneratorEfficiency;IfcPositiveRatioMeasure;StartCurrentFactor;IfcReal;MaximumPowerOutput;IfcPowerMeasure +Pset_ElectricMotorTypeCommon;Reference;IfcIdentifier;MaximumPowerOutput;IfcPowerMeasure;ElectricMotorEfficiency;IfcPositiveRatioMeasure;StartCurrentFactor;IfcReal;StartingTime;IfcTimeMeasure;TeTime;IfcTimeMeasure;LockedRotorCurrent;IfcElectricCurrentMeasure;FrameSize;IfcLabel;IsGuarded;IfcBoolean;HasPartWinding;IfcBoolean +Pset_ElectricTimeControlTypeCommon;Reference;IfcIdentifier +Pset_ElementComponentCommon;Reference;IfcIdentifier +Pset_EngineTypeCommon;Reference;IfcIdentifier +Pset_EnvironmentalImpactIndicators;Reference;IfcIdentifier;FunctionalUnitReference;IfcLabel;Unit;IfcText;ExpectedServiceLife;IfcTimeMeasure;TotalPrimaryEnergyConsumptionPerUnit;IfcEnergyMeasure;WaterConsumptionPerUnit;IfcVolumeMeasure;HazardousWastePerUnit;IfcMassMeasure;NonHazardousWastePerUnit;IfcMassMeasure;ClimateChangePerUnit;IfcMassMeasure;AtmosphericAcidificationPerUnit;IfcMassMeasure;RenewableEnergyConsumptionPerUnit;IfcEnergyMeasure;NonRenewableEnergyConsumptionPerUnit;IfcEnergyMeasure;ResourceDepletionPerUnit;IfcMassMeasure;InertWastePerUnit;IfcMassMeasure;RadioactiveWastePerUnit;IfcMassMeasure;StratosphericOzoneLayerDestructionPerUnit;IfcMassMeasure;PhotochemicalOzoneFormationPerUnit;IfcMassMeasure;EutrophicationPerUnit;IfcMassMeasure +Pset_EnvironmentalImpactValues;TotalPrimaryEnergyConsumption;IfcEnergyMeasure;WaterConsumption;IfcVolumeMeasure;HazardousWaste;IfcMassMeasure;NonHazardousWaste;IfcMassMeasure;ClimateChange;IfcMassMeasure;AtmosphericAcidification;IfcMassMeasure;RenewableEnergyConsumption;IfcEnergyMeasure;NonRenewableEnergyConsumption;IfcEnergyMeasure;ResourceDepletion;IfcMassMeasure;InertWaste;IfcMassMeasure;RadioactiveWaste;IfcMassMeasure;StratosphericOzoneLayerDestruction;IfcMassMeasure;PhotochemicalOzoneFormation;IfcMassMeasure;Eutrophication;IfcMassMeasure +Pset_EvaporativeCoolerPHistory;WaterSumpTemperature;IfcTimeSeries;Effectiveness;IfcTimeSeries;SensibleHeatTransferRate;IfcTimeSeries;LatentHeatTransferRate;IfcTimeSeries;TotalHeatTransferRate;IfcTimeSeries +Pset_EvaporativeCoolerTypeCommon;Reference;IfcIdentifier;HeatExchangeArea;IfcAreaMeasure;OperationTemperatureRange;IfcThermodynamicTemperatureMeasure;WaterRequirement;IfcVolumetricFlowRateMeasure +Pset_EvaporatorPHistory;HeatRejectionRate;IfcTimeSeries;ExteriorHeatTransferCoefficient;IfcTimeSeries;InteriorHeatTransferCoefficient;IfcTimeSeries;RefrigerantFoulingResistance;IfcTimeSeries;EvaporatingTemperature;IfcTimeSeries;LogarithmicMeanTemperatureDifference;IfcTimeSeries;UAcurves;IfcTimeSeries;CompressorEvaporatorHeatGain;IfcTimeSeries;CompressorEvaporatorPressureDrop;IfcTimeSeries;EvaporatorMeanVoidFraction;IfcTimeSeries;WaterFoulingResistance;IfcTimeSeries +Pset_EvaporatorTypeCommon;Reference;IfcIdentifier;RefrigerantType;IfcMaterialDefinition;ExternalSurfaceArea;IfcAreaMeasure;InternalSurfaceArea;IfcAreaMeasure;InternalRefrigerantVolume;IfcVolumeMeasure;InternalWaterVolume;IfcVolumeMeasure;NominalHeatTransferArea;IfcAreaMeasure;NominalHeatTransferCoefficient;IfcThermalTransmittanceMeasure +Pset_FanOccurrence;FractionOfMotorHeatToAirStream;IfcNormalisedRatioMeasure;ImpellerDiameter;IfcPositiveLengthMeasure +Pset_FanPHistory;FanRotationSpeed;IfcTimeSeries;WheelTipSpeed;IfcTimeSeries;FanEfficiency;IfcTimeSeries;OverallEfficiency;IfcTimeSeries;FanPowerRate;IfcTimeSeries;ShaftPowerRate;IfcTimeSeries;DischargeVelocity;IfcTimeSeries;DischargePressureLoss;IfcTimeSeries;DrivePowerLoss;IfcTimeSeries +Pset_FanTypeCommon;Reference;IfcIdentifier;OperationTemperatureRange;IfcThermodynamicTemperatureMeasure;NominalAirFlowRate;IfcVolumetricFlowRateMeasure;NominalTotalPressure;IfcPressureMeasure;NominalStaticPressure;IfcPressureMeasure;NominalRotationSpeed;IfcRotationalFrequencyMeasure;NominalPowerRate;IfcPowerMeasure;OperationalCriteria;IfcTimeMeasure +Pset_FastenerWeld;Type1;IfcLabel;Type2;IfcLabel;Surface1;IfcLabel;Surface2;IfcLabel;Process;IfcInteger;ProcessName;IfcLabel;a;IfcPositiveLengthMeasure;c;IfcPositiveLengthMeasure;d;IfcPositiveLengthMeasure;e;IfcPositiveLengthMeasure;l;IfcPositiveLengthMeasure;n;IfcCountMeasure;s;IfcPositiveLengthMeasure;z;IfcPositiveLengthMeasure;Intermittent;IfcBoolean;Staggered;IfcBoolean +Pset_FilterPHistory;CountedEfficiency;IfcTimeSeries;WeightedEfficiency;IfcTimeSeries;ParticleMassHolding;IfcTimeSeries +Pset_FilterTypeAirParticleFilter;FrameMaterial;IfcMaterialDefinition;DustHoldingCapacity;IfcMassMeasure;FaceSurfaceArea;IfcAreaMeasure;MediaExtendedArea;IfcAreaMeasure;NominalCountedEfficiency;IfcReal;NominalWeightedEfficiency;IfcReal +Pset_FilterTypeCommon;Reference;IfcIdentifier;Weight;IfcMassMeasure;InitialResistance;IfcPressureMeasure;FinalResistance;IfcPressureMeasure;OperationTemperatureRange;IfcThermodynamicTemperatureMeasure;FlowRateRange;IfcVolumetricFlowRateMeasure;NominalFilterFaceVelocity;IfcLinearVelocityMeasure;NominalMediaSurfaceVelocity;IfcLinearVelocityMeasure;NominalPressureDrop;IfcPressureMeasure;NominalFlowrate;IfcVolumetricFlowRateMeasure;NominalParticleGeometricMeanDiameter;IfcPositiveLengthMeasure;NominalParticleGeometricStandardDeviation;IfcReal +Pset_FilterTypeCompressedAirFilter;OperationPressureMax;IfcPressureMeasure;AutomaticCondensateDischarge;IfcBoolean;CloggingIndicator;IfcBoolean +Pset_FireSuppressionTerminalTypeBreechingInlet;InletDiameter;IfcPositiveLengthMeasure;OutletDiameter;IfcPositiveLengthMeasure;HasCaps;IfcBoolean +Pset_FireSuppressionTerminalTypeCommon;Reference;IfcIdentifier +Pset_FireSuppressionTerminalTypeFireHydrant;PumperConnectionSize;IfcPositiveLengthMeasure;NumberOfHoseConnections;IfcInteger;HoseConnectionSize;IfcPositiveLengthMeasure;DischargeFlowRate;IfcVolumetricFlowRateMeasure;FlowClass;IfcLabel;WaterIsPotable;IfcBoolean;PressureRating;IfcPressureMeasure;BodyColor;IfcText;CapColor;IfcText +Pset_FireSuppressionTerminalTypeHoseReel;InletConnectionSize;IfcPositiveLengthMeasure;HoseDiameter;IfcPositiveLengthMeasure;HoseLength;IfcPositiveLengthMeasure;ClassOfService;IfcLabel;ClassificationAuthority;IfcLabel +Pset_FireSuppressionTerminalTypeSprinkler;ActivationTemperature;IfcThermodynamicTemperatureMeasure;CoverageArea;IfcAreaMeasure;HasDeflector;IfcBoolean;DischargeFlowRate;IfcVolumetricFlowRateMeasure;ResidualFlowingPressure;IfcPressureMeasure;DischargeCoefficient;IfcReal;MaximumWorkingPressure;IfcPressureMeasure;ConnectionSize;IfcPositiveLengthMeasure +Pset_FlowInstrumentPHistory;Value;IfcTimeSeries;Quality;IfcTimeSeries;Status;IfcTimeSeries +Pset_FlowInstrumentTypeCommon;Reference;IfcIdentifier +Pset_FlowInstrumentTypePressureGauge;DisplaySize;IfcPositiveLengthMeasure +Pset_FlowInstrumentTypeThermometer;DisplaySize;IfcPositiveLengthMeasure +Pset_FlowMeterTypeCommon;Reference;IfcIdentifier;RemoteReading;IfcBoolean +Pset_FlowMeterTypeEnergyMeter;NominalCurrent;IfcElectricCurrentMeasure;MaximumCurrent;IfcElectricCurrentMeasure;MultipleTarriff;IfcBoolean +Pset_FlowMeterTypeGasMeter;ConnectionSize;IfcPositiveLengthMeasure;MaximumFlowRate;IfcVolumetricFlowRateMeasure;MaximumPressureLoss;IfcPressureMeasure +Pset_FlowMeterTypeOilMeter;ConnectionSize;IfcPositiveLengthMeasure;MaximumFlowRate;IfcVolumetricFlowRateMeasure +Pset_FlowMeterTypeWaterMeter;ConnectionSize;IfcPositiveLengthMeasure;MaximumFlowRate;IfcVolumetricFlowRateMeasure;MaximumPressureLoss;IfcPressureMeasure +Pset_FootingCommon;Reference;IfcIdentifier +Pset_FurnitureTypeChair;SeatingHeight;IfcPositiveLengthMeasure;HighestSeatingHeight;IfcPositiveLengthMeasure;LowestSeatingHeight;IfcPositiveLengthMeasure +Pset_FurnitureTypeCommon;Description;IfcText;Style;IfcLabel;NominalHeight;IfcPositiveLengthMeasure;NominalLength;IfcPositiveLengthMeasure;NominalDepth;IfcPositiveLengthMeasure;MainColor;IfcLabel;IsBuiltIn;IfcBoolean +Pset_FurnitureTypeDesk;WorksurfaceArea;IfcAreaMeasure +Pset_FurnitureTypeFileCabinet;WithLock;IfcBoolean +Pset_FurnitureTypeTable;WorksurfaceArea;IfcAreaMeasure;NumberOfChairs;IfcInteger +Pset_HeatExchangerTypeCommon;Reference;IfcIdentifier +Pset_HeatExchangerTypePlate;NumberOfPlates;IfcInteger +Pset_HumidifierPHistory;AtmosphericPressure;IfcTimeSeries;SaturationEfficiency;IfcTimeSeries +Pset_HumidifierTypeCommon;Reference;IfcIdentifier;Weight;IfcMassMeasure;NominalMoistureGain;IfcMassFlowRateMeasure;NominalAirFlowRate;IfcVolumetricFlowRateMeasure;WaterRequirement;IfcVolumetricFlowRateMeasure +Pset_InterceptorTypeCommon;Reference;IfcIdentifier;NominalBodyLength;IfcPositiveLengthMeasure;NominalBodyWidth;IfcPositiveLengthMeasure;NominalBodyDepth;IfcPositiveLengthMeasure;InletConnectionSize;IfcPositiveLengthMeasure;OutletConnectionSize;IfcPositiveLengthMeasure;CoverLength;IfcPositiveLengthMeasure;CoverWidth;IfcPositiveLengthMeasure;VentilatingPipeSize;IfcPositiveLengthMeasure +Pset_JunctionBoxTypeCommon;Reference;IfcIdentifier;NumberOfGangs;IfcInteger;ClearDepth;IfcPositiveLengthMeasure;IsExternal;IfcBoolean;IP_Code;IfcLabel +Pset_LampTypeCommon;Reference;IfcIdentifier;ContributedLuminousFlux;IfcLuminousFluxMeasure;LightEmitterNominalPower;IfcPowerMeasure;LampMaintenanceFactor;IfcReal;ColorAppearance;IfcLabel;ColorTemperature;IfcThermodynamicTemperatureMeasure;ColorRenderingIndex;IfcInteger +Pset_LandRegistration;LandID;IfcIdentifier;IsPermanentID;IfcBoolean;LandTitleID;IfcIdentifier +Pset_LightFixtureTypeCommon;Reference;IfcIdentifier;NumberOfSources;IfcInteger;TotalWattage;IfcPowerMeasure;MaintenanceFactor;IfcReal;MaximumPlenumSensibleLoad;IfcPowerMeasure;MaximumSpaceSensibleLoad;IfcPowerMeasure;SensibleLoadToRadiant;IfcPositiveRatioMeasure +Pset_LightFixtureTypeSecurityLighting;FixtureHeight;IfcPositiveLengthMeasure +Pset_ManufacturerOccurrence;AcquisitionDate;IfcDate;BarCode;IfcIdentifier;SerialNumber;IfcIdentifier;BatchReference;IfcIdentifier +Pset_ManufacturerTypeInformation;GlobalTradeItemNumber;IfcIdentifier;ArticleNumber;IfcIdentifier;ModelReference;IfcLabel;ModelLabel;IfcLabel;Manufacturer;IfcLabel;ProductionYear;IfcLabel +Pset_MaterialCombustion;SpecificHeatCapacity;IfcSpecificHeatCapacityMeasure;N20Content;IfcPositiveRatioMeasure;COContent;IfcPositiveRatioMeasure;CO2Content;IfcPositiveRatioMeasure +Pset_MaterialCommon;MolecularWeight;IfcMolecularWeightMeasure;Porosity;IfcNormalisedRatioMeasure;MassDensity;IfcMassDensityMeasure +Pset_MaterialConcrete;CompressiveStrength;IfcPressureMeasure;MaxAggregateSize;IfcPositiveLengthMeasure;AdmixturesDescription;IfcText;Workability;IfcText;WaterImpermeability;IfcText;ProtectivePoreRatio;IfcNormalisedRatioMeasure +Pset_MaterialEnergy;ViscosityTemperatureDerivative;IfcReal;MoistureCapacityThermalGradient;IfcReal;ThermalConductivityTemperatureDerivative;IfcReal;SpecificHeatTemperatureDerivative;IfcReal;VisibleRefractionIndex;IfcReal;SolarRefractionIndex;IfcReal;GasPressure;IfcPressureMeasure +Pset_MaterialFuel;CombustionTemperature;IfcThermodynamicTemperatureMeasure;CarbonContent;IfcPositiveRatioMeasure;LowerHeatingValue;IfcHeatingValueMeasure;HigherHeatingValue;IfcHeatingValueMeasure +Pset_MaterialHygroscopic;UpperVaporResistanceFactor;IfcPositiveRatioMeasure;LowerVaporResistanceFactor;IfcPositiveRatioMeasure;IsothermalMoistureCapacity;IfcIsothermalMoistureCapacityMeasure;VaporPermeability;IfcVaporPermeabilityMeasure;MoistureDiffusivity;IfcMoistureDiffusivityMeasure +Pset_MaterialMechanical;DynamicViscosity;IfcDynamicViscosityMeasure;YoungModulus;IfcModulusOfElasticityMeasure;ShearModulus;IfcModulusOfElasticityMeasure;PoissonRatio;IfcPositiveRatioMeasure;ThermalExpansionCoefficient;IfcThermalExpansionCoefficientMeasure +Pset_MaterialOptical;VisibleTransmittance;IfcPositiveRatioMeasure;SolarTransmittance;IfcPositiveRatioMeasure;ThermalIrTransmittance;IfcPositiveRatioMeasure;ThermalIrEmissivityBack;IfcPositiveRatioMeasure;ThermalIrEmissivityFront;IfcPositiveRatioMeasure;VisibleReflectanceBack;IfcPositiveRatioMeasure;VisibleReflectanceFront;IfcPositiveRatioMeasure;SolarReflectanceBack;IfcPositiveRatioMeasure;SolarReflectanceFront;IfcPositiveRatioMeasure +Pset_MaterialSteel;YieldStress;IfcPressureMeasure;UltimateStress;IfcPressureMeasure;UltimateStrain;IfcPositiveRatioMeasure;HardeningModule;IfcModulusOfElasticityMeasure;ProportionalStress;IfcPressureMeasure;PlasticStrain;IfcPositiveRatioMeasure +Pset_MaterialThermal;SpecificHeatCapacity;IfcSpecificHeatCapacityMeasure;BoilingPoint;IfcThermodynamicTemperatureMeasure;FreezingPoint;IfcThermodynamicTemperatureMeasure;ThermalConductivity;IfcThermalConductivityMeasure +Pset_MaterialWater;IsPotable;IfcBoolean;Hardness;IfcIonConcentrationMeasure;AlkalinityConcentration;IfcIonConcentrationMeasure;AcidityConcentration;IfcIonConcentrationMeasure;ImpuritiesContent;IfcNormalisedRatioMeasure;DissolvedSolidsContent;IfcNormalisedRatioMeasure;PHLevel;IfcPHMeasure +Pset_MaterialWood;Species;IfcLabel;StrengthGrade;IfcLabel;AppearanceGrade;IfcLabel;Layup;IfcLabel;Layers;IfcInteger;Plies;IfcInteger;MoistureContent;IfcPositiveRatioMeasure;DimensionalChangeCoefficient;IfcPositiveRatioMeasure;ThicknessSwelling;IfcPositiveRatioMeasure +Pset_MaterialWoodBasedBeam;ApplicableStructuralDesignMethod;IfcLabel +Pset_MaterialWoodBasedPanel;ApplicableStructuralDesignMethod;IfcLabel +Pset_MechanicalFastenerAnchorBolt;AnchorBoltLength;IfcPositiveLengthMeasure;AnchorBoltDiameter;IfcPositiveLengthMeasure;AnchorBoltThreadLength;IfcPositiveLengthMeasure;AnchorBoltProtrusionLength;IfcPositiveLengthMeasure +Pset_MechanicalFastenerBolt;ThreadDiameter;IfcPositiveLengthMeasure;ThreadLength;IfcPositiveLengthMeasure;NutsCount;IfcCountMeasure;WashersCount;IfcCountMeasure;HeadShape;IfcLabel;KeyShape;IfcLabel;NutShape;IfcLabel;WasherShape;IfcLabel +Pset_MedicalDeviceTypeCommon;Reference;IfcIdentifier +Pset_MemberCommon;Reference;IfcIdentifier;Span;IfcPositiveLengthMeasure;Slope;IfcPlaneAngleMeasure;Roll;IfcPlaneAngleMeasure;IsExternal;IfcBoolean;ThermalTransmittance;IfcThermalTransmittanceMeasure;LoadBearing;IfcBoolean;FireRating;IfcLabel +Pset_MotorConnectionTypeCommon;Reference;IfcIdentifier +Pset_OpeningElementCommon;Reference;IfcIdentifier;Purpose;IfcLabel;FireExit;IfcBoolean;ProtectedOpening;IfcBoolean +Pset_OutletTypeCommon;Reference;IfcIdentifier;IsPluggableOutlet;IfcLogical +Pset_OutsideDesignCriteria;HeatingDryBulb;IfcThermodynamicTemperatureMeasure;HeatingWetBulb;IfcThermodynamicTemperatureMeasure;HeatingDesignDay;IfcDateTime;CoolingDryBulb;IfcThermodynamicTemperatureMeasure;CoolingWetBulb;IfcThermodynamicTemperatureMeasure;CoolingDesignDay;IfcDateTime;WeatherDataStation;IfcText;WeatherDataDate;IfcDateTime;PrevailingWindDirection;IfcPlaneAngleMeasure;PrevailingWindVelocity;IfcLinearVelocityMeasure +Pset_PackingInstructions;WrappingMaterial;IfcMaterialDefinition;ContainerMaterial;IfcMaterialDefinition;SpecialInstructions;IfcText +Pset_Permit;EscortRequirement;IfcBoolean;StartDate;IfcDateTime;EndDate;IfcDateTime;SpecialRequirements;IfcText +Pset_PileCommon;Reference;IfcIdentifier +Pset_PipeConnectionFlanged;FlangeTable;IfcLabel;FlangeStandard;IfcLabel;BoreSize;IfcPositiveLengthMeasure;FlangeDiameter;IfcPositiveLengthMeasure;FlangeThickness;IfcPositiveLengthMeasure;NumberOfBoltholes;IfcInteger;BoltSize;IfcPositiveLengthMeasure;BoltholePitch;IfcPositiveLengthMeasure +Pset_PipeFittingOccurrence;InteriorRoughnessCoefficient;IfcPositiveLengthMeasure;Color;IfcLabel +Pset_PipeFittingPHistory;LossCoefficient;IfcTimeSeries;FlowrateLeakage;IfcTimeSeries +Pset_PipeFittingTypeBend;BendAngle;IfcPositivePlaneAngleMeasure;BendRadius;IfcPositiveLengthMeasure +Pset_PipeFittingTypeCommon;Reference;IfcIdentifier;PressureClass;IfcPressureMeasure;PressureRange;IfcPressureMeasure;TemperatureRange;IfcThermodynamicTemperatureMeasure;FittingLossFactor;IfcReal +Pset_PipeFittingTypeJunction;JunctionLeftAngle;IfcPositivePlaneAngleMeasure;JunctionLeftRadius;IfcPositiveLengthMeasure;JunctionRightAngle;IfcPositivePlaneAngleMeasure;JunctionRightRadius;IfcPositiveLengthMeasure +Pset_PipeSegmentOccurrence;InteriorRoughnessCoefficient;IfcPositiveLengthMeasure;Color;IfcLabel;Gradient;IfcPositiveRatioMeasure;InvertElevation;IfcLengthMeasure +Pset_PipeSegmentPHistory;LeakageCurve;IfcTimeSeries;FluidFlowLeakage;IfcTimeSeries +Pset_PipeSegmentTypeCommon;Reference;IfcIdentifier;WorkingPressure;IfcPressureMeasure;PressureRange;IfcPressureMeasure;TemperatureRange;IfcThermodynamicTemperatureMeasure;NominalDiameter;IfcPositiveLengthMeasure;InnerDiameter;IfcPositiveLengthMeasure;OuterDiameter;IfcPositiveLengthMeasure +Pset_PipeSegmentTypeCulvert;InternalWidth;IfcLengthMeasure;ClearDepth;IfcLengthMeasure +Pset_PipeSegmentTypeGutter;Slope;IfcPlaneAngleMeasure;FlowRating;IfcVolumetricFlowRateMeasure +Pset_PlateCommon;Reference;IfcIdentifier;IsExternal;IfcBoolean;LoadBearing;IfcBoolean;AcousticRating;IfcLabel;FireRating;IfcLabel;ThermalTransmittance;IfcThermalTransmittanceMeasure +Pset_PrecastConcreteElementFabrication;TypeDesignator;IfcLabel;ProductionLotId;IfcIdentifier;SerialNumber;IfcIdentifier;PieceMark;IfcLabel;AsBuiltLocationNumber;IfcLabel;ActualProductionDate;IfcDateTime;ActualErectionDate;IfcDateTime +Pset_PrecastConcreteElementGeneral;TypeDesignator;IfcLabel;CornerChamfer;IfcPositiveLengthMeasure;ManufacturingToleranceClass;IfcLabel;FormStrippingStrength;IfcPressureMeasure;LiftingStrength;IfcPressureMeasure;ReleaseStrength;IfcPressureMeasure;MinimumAllowableSupportLength;IfcPositiveLengthMeasure;InitialTension;IfcPressureMeasure;TendonRelaxation;IfcPositiveRatioMeasure;TransportationStrength;IfcPressureMeasure;SupportDuringTransportDescription;IfcText;SupportDuringTransportDocReference;IfcExternalReference;HollowCorePlugging;IfcLabel;CamberAtMidspan;IfcRatioMeasure;BatterAtStart;IfcPlaneAngleMeasure;BatterAtEnd;IfcPlaneAngleMeasure;Twisting;IfcPlaneAngleMeasure;Shortening;IfcRatioMeasure;PieceMark;IfcLabel;DesignLocationNumber;IfcLabel +Pset_PrecastSlab;TypeDesignator;IfcLabel;ToppingType;IfcLabel;EdgeDistanceToFirstAxis;IfcPositiveLengthMeasure;DistanceBetweenComponentAxes;IfcPositiveLengthMeasure;AngleToFirstAxis;IfcPlaneAngleMeasure;AngleBetweenComponentAxes;IfcPlaneAngleMeasure;NominalThickness;IfcPositiveLengthMeasure;NominalToppingThickness;IfcPositiveLengthMeasure +Pset_ProfileArbitraryDoubleT;OverallWidth;IfcPositiveLengthMeasure;LeftFlangeWidth;IfcPositiveLengthMeasure;RightFlangeWidth;IfcPositiveLengthMeasure;OverallDepth;IfcPositiveLengthMeasure;FlangeDepth;IfcPositiveLengthMeasure;FlangeDraft;IfcNonNegativeLengthMeasure;FlangeChamfer;IfcNonNegativeLengthMeasure;FlangeBaseFillet;IfcNonNegativeLengthMeasure;FlangeTopFillet;IfcNonNegativeLengthMeasure;StemBaseWidth;IfcPositiveLengthMeasure;StemTopWidth;IfcPositiveLengthMeasure;StemBaseChamfer;IfcNonNegativeLengthMeasure;StemTopChamfer;IfcNonNegativeLengthMeasure;StemBaseFillet;IfcNonNegativeLengthMeasure;StemTopFillet;IfcNonNegativeLengthMeasure +Pset_ProfileArbitraryHollowCore;OverallWidth;IfcPositiveLengthMeasure;OverallDepth;IfcPositiveLengthMeasure;EdgeDraft;IfcNonNegativeLengthMeasure;DraftBaseOffset;IfcNonNegativeLengthMeasure;DraftSideOffset;IfcNonNegativeLengthMeasure;BaseChamfer;IfcNonNegativeLengthMeasure;KeyDepth;IfcNonNegativeLengthMeasure;KeyHeight;IfcNonNegativeLengthMeasure;KeyOffset;IfcNonNegativeLengthMeasure;BottomCover;IfcPositiveLengthMeasure;CoreSpacing;IfcPositiveLengthMeasure;CoreBaseHeight;IfcPositiveLengthMeasure;CoreMiddleHeight;IfcPositiveLengthMeasure;CoreTopHeight;IfcPositiveLengthMeasure;CoreBaseWidth;IfcPositiveLengthMeasure;CoreTopWidth;IfcPositiveLengthMeasure;CenterCoreSpacing;IfcPositiveLengthMeasure;CenterCoreBaseHeight;IfcPositiveLengthMeasure;CenterCoreMiddleHeight;IfcPositiveLengthMeasure;CenterCoreTopHeight;IfcPositiveLengthMeasure;CenterCoreBaseWidth;IfcPositiveLengthMeasure;CenterCoreTopWidth;IfcPositiveLengthMeasure;NumberOfCores;IfcCountMeasure +Pset_ProfileMechanical;MassPerLength;IfcMassPerLengthMeasure;CrossSectionArea;IfcAreaMeasure;Perimeter;IfcPositiveLengthMeasure;MinimumPlateThickness;IfcPositiveLengthMeasure;MaximumPlateThickness;IfcPositiveLengthMeasure;CentreOfGravityInX;IfcLengthMeasure;CentreOfGravityInY;IfcLengthMeasure;ShearCentreZ;IfcLengthMeasure;ShearCentreY;IfcLengthMeasure;MomentOfInertiaY;IfcMomentOfInertiaMeasure;MomentOfInertiaZ;IfcMomentOfInertiaMeasure;MomentOfInertiaYZ;IfcMomentOfInertiaMeasure;TorsionalConstantX;IfcMomentOfInertiaMeasure;WarpingConstant;IfcWarpingConstantMeasure;ShearDeformationAreaZ;IfcAreaMeasure;ShearDeformationAreaY;IfcAreaMeasure;MaximumSectionModulusY;IfcSectionModulusMeasure;MinimumSectionModulusY;IfcSectionModulusMeasure;MaximumSectionModulusZ;IfcSectionModulusMeasure;MinimumSectionModulusZ;IfcSectionModulusMeasure;TorsionalSectionModulus;IfcSectionModulusMeasure;ShearAreaZ;IfcAreaMeasure;ShearAreaY;IfcAreaMeasure;PlasticShapeFactorY;IfcPositiveRatioMeasure;PlasticShapeFactorZ;IfcPositiveRatioMeasure +Pset_ProjectOrderChangeOrder;ReasonForChange;IfcText;BudgetSource;IfcText +Pset_ProjectOrderMaintenanceWorkOrder;ProductDescription;IfcText;WorkTypeRequested;IfcText;ContractualType;IfcText;IfNotAccomplished;IfcText;ScheduledFrequency;IfcTimeMeasure +Pset_ProjectOrderMoveOrder;SpecialInstructions;IfcText +Pset_ProjectOrderPurchaseOrder;IsFOB;IfcBoolean;ShipMethod;IfcText +Pset_ProjectOrderWorkOrder;ProductDescription;IfcText;WorkTypeRequested;IfcText;ContractualType;IfcText;IfNotAccomplished;IfcText +Pset_PropertyAgreement;Identifier;IfcIdentifier;Version;IfcLabel;VersionDate;IfcDate;PropertyName;IfcLabel;CommencementDate;IfcDate;TerminationDate;IfcDate;Duration;IfcDuration;Options;IfcText;ConditionCommencement;IfcText;Restrictions;IfcText;ConditionTermination;IfcText +Pset_ProtectiveDeviceBreakerUnitI2TCurve;NominalCurrent;IfcElectricCurrentMeasure +Pset_ProtectiveDeviceBreakerUnitIPICurve;NominalCurrent;IfcElectricCurrentMeasure +Pset_ProtectiveDeviceBreakerUnitTypeMCB;PowerLoss;IfcPowerMeasure;NominalCurrents;IfcElectricCurrentMeasure;ICU60947;IfcElectricCurrentMeasure;ICS60947;IfcElectricCurrentMeasure;ICN60898;IfcElectricCurrentMeasure;ICS60898;IfcElectricCurrentMeasure +Pset_ProtectiveDeviceBreakerUnitTypeMotorProtection;PerformanceClasses;IfcLabel;ICU60947;IfcElectricCurrentMeasure;ICS60947;IfcElectricCurrentMeasure;ICW60947;IfcElectricCurrentMeasure;ICM60947;IfcElectricCurrentMeasure +Pset_ProtectiveDeviceOccurrence;LongTimeFunction;IfcBoolean;ShortTimeFunction;IfcBoolean;ShortTimei2tFunction;IfcBoolean;GroundFaultFunction;IfcBoolean;GroundFaulti2tFunction;IfcBoolean;LongTimeCurrentSetValue;IfcElectricCurrentMeasure;ShortTimeCurrentSetValue;IfcElectricCurrentMeasure;InstantaneousCurrentSetValue;IfcElectricCurrentMeasure;GroundFaultCurrentSetValue;IfcElectricCurrentMeasure;LongTimeDelay;IfcTimeMeasure;ShortTimeTrippingTime;IfcTimeMeasure;InstantaneousTrippingTime;IfcTimeMeasure;GroundFaultTrippingTime;IfcTimeMeasure +Pset_ProtectiveDeviceTrippingFunctionGCurve;IsSelectable;IfcBoolean;NominalCurrentAdjusted;IfcBoolean;ExternalAdjusted;IfcBoolean;ReleaseCurrent;IfcElectricCurrentMeasure;ReleaseTime;IfcTimeMeasure;CurrentTolerance1;IfcPositiveRatioMeasure;CurrentToleranceLimit1;IfcTimeMeasure;CurrentTolerance2;IfcPositiveRatioMeasure;IsCurrentTolerancePositiveOnly;IfcBoolean;TimeTolerance1;IfcPositiveRatioMeasure;TimeToleranceLimit1;IfcElectricCurrentMeasure;TimeTolerance2;IfcPositiveRatioMeasure;IsTimeTolerancePositiveOnly;IfcBoolean;ReleaseCurrentI2tStart;IfcElectricCurrentMeasure;ReleaseTimeI2tStart;IfcTimeMeasure;ReleaseCurrentI2tEnd;IfcElectricCurrentMeasure;ReleaseTimeI2tEnd;IfcTimeMeasure +Pset_ProtectiveDeviceTrippingFunctionICurve;IsSelectable;IfcBoolean;NominalCurrentAdjusted;IfcBoolean;ReleaseCurrent;IfcElectricCurrentMeasure;ReleaseTime;IfcTimeMeasure;CurrentTolerance1;IfcPositiveRatioMeasure;CurrentToleranceLimit1;IfcTimeMeasure;CurrentTolerance2;IfcPositiveRatioMeasure;IsCurrentTolerancePositiveOnly;IfcBoolean;TimeTolerance1;IfcPositiveRatioMeasure;TimeToleranceLimit1;IfcElectricCurrentMeasure;TimeTolerance2;IfcPositiveRatioMeasure;IsTimeTolerancePositiveOnly;IfcBoolean;MaxAdjustmentX_ICS;IfcElectricCurrentMeasure;IsOffWhenSFunctionOn;IfcBoolean +Pset_ProtectiveDeviceTrippingFunctionLCurve;IsSelectable;IfcBoolean;UpperCurrent1;IfcElectricCurrentMeasure;UpperCurrent2;IfcElectricCurrentMeasure;UpperTime1;IfcTimeMeasure;UpperTime2;IfcTimeMeasure;LowerCurrent1;IfcElectricCurrentMeasure;LowerCurrent2;IfcElectricCurrentMeasure;LowerTime1;IfcTimeMeasure;LowerTime2;IfcTimeMeasure +Pset_ProtectiveDeviceTrippingFunctionSCurve;IsSelectable;IfcBoolean;NominalCurrentAdjusted;IfcBoolean;ReleaseCurrent;IfcElectricCurrentMeasure;ReleaseTime;IfcTimeMeasure;CurrentTolerance1;IfcPositiveRatioMeasure;CurrentToleranceLimit1;IfcTimeMeasure;CurrentTolerance2;IfcPositiveRatioMeasure;IsCurrentTolerancePositiveOnly;IfcBoolean;TimeTolerance1;IfcPositiveRatioMeasure;TimeToleranceLimit1;IfcElectricCurrentMeasure;TimeTolerance2;IfcPositiveRatioMeasure;IsTimeTolerancePositiveOnly;IfcBoolean;ReleaseCurrentI2tStart;IfcElectricCurrentMeasure;ReleaseTimeI2tStart;IfcTimeMeasure;ReleaseCurrentI2tEnd;IfcElectricCurrentMeasure;ReleaseTimeI2tEnd;IfcTimeMeasure;IsOffWhenLfunctionOn;IfcBoolean +Pset_ProtectiveDeviceTrippingUnitCurrentAdjustment;AdjustmentRange;IfcElectricCurrentMeasure;AdjustmentRangeStepValue;IfcElectricCurrentMeasure;AdjustmentValues;IfcElectricCurrentMeasure;AdjustmentDesignation;IfcLabel +Pset_ProtectiveDeviceTrippingUnitTimeAdjustment;AdjustmentRange;IfcTimeMeasure;AdjustmentRangeStepValue;IfcTimeMeasure;AdjustmentValues;IfcTimeMeasure;AdjustmentDesignation;IfcLabel;CurrentForTimeDelay;IfcTimeMeasure +Pset_ProtectiveDeviceTrippingUnitTypeCommon;Reference;IfcIdentifier;Standard;IfcLabel;UseInDiscrimination;IfcBoolean;AtexVerified;IfcBoolean;OldDevice;IfcBoolean;LimitingTerminalSize;IfcAreaMeasure +Pset_ProtectiveDeviceTrippingUnitTypeElectroMagnetic;I1;IfcReal;I2;IfcReal;T2;IfcTimeMeasure;DefinedTemperature;IfcThermodynamicTemperatureMeasure;TemperatureFactor;IfcRatioMeasure;I4;IfcReal;I5;IfcReal;T5;IfcTimeMeasure;CurveDesignation;IfcLabel +Pset_ProtectiveDeviceTrippingUnitTypeElectronic;NominalCurrents;IfcElectricCurrentMeasure;N_Protection;IfcBoolean;N_Protection_50;IfcBoolean;N_Protection_100;IfcBoolean;N_Protection_Select;IfcBoolean +Pset_ProtectiveDeviceTrippingUnitTypeThermal;I1;IfcReal;I2;IfcReal;T2;IfcTimeMeasure;DefinedTemperature;IfcThermodynamicTemperatureMeasure;TemperatureFactor;IfcRatioMeasure;CurveDesignation;IfcLabel +Pset_ProtectiveDeviceTypeCircuitBreaker;PerformanceClasses;IfcLabel;ICU60947;IfcElectricCurrentMeasure;ICS60947;IfcElectricCurrentMeasure;ICW60947;IfcElectricCurrentMeasure;ICM60947;IfcElectricCurrentMeasure +Pset_ProtectiveDeviceTypeCommon;Reference;IfcIdentifier +Pset_ProtectiveDeviceTypeEarthLeakageCircuitBreaker;Sensitivity;IfcElectricCurrentMeasure +Pset_ProtectiveDeviceTypeFuseDisconnector;IC60269;IfcElectricCurrentMeasure;PowerLoss;IfcPowerMeasure +Pset_ProtectiveDeviceTypeResidualCurrentCircuitBreaker;Sensitivity;IfcElectricCurrentMeasure +Pset_ProtectiveDeviceTypeResidualCurrentSwitch;Sensitivity;IfcElectricCurrentMeasure +Pset_PumpOccurrence;ImpellerDiameter;IfcPositiveLengthMeasure +Pset_PumpPHistory;MechanicalEfficiency;IfcTimeSeries;OverallEfficiency;IfcTimeSeries;PressureRise;IfcTimeSeries;RotationSpeed;IfcTimeSeries;Flowrate;IfcTimeSeries;Power;IfcTimeSeries +Pset_PumpTypeCommon;Reference;IfcIdentifier;FlowRateRange;IfcMassFlowRateMeasure;FlowResistanceRange;IfcPressureMeasure;ConnectionSize;IfcPositiveLengthMeasure;TemperatureRange;IfcThermodynamicTemperatureMeasure;NetPositiveSuctionHead;IfcPressureMeasure;NominalRotationSpeed;IfcRotationalFrequencyMeasure +Pset_RailingCommon;Reference;IfcIdentifier;Height;IfcPositiveLengthMeasure;Diameter;IfcPositiveLengthMeasure;IsExternal;IfcBoolean +Pset_RampCommon;Reference;IfcIdentifier;RequiredHeadroom;IfcPositiveLengthMeasure;RequiredSlope;IfcPlaneAngleMeasure;IsExternal;IfcBoolean;FireRating;IfcLabel;FireExit;IfcBoolean;HandicapAccessible;IfcBoolean;HasNonSkidSurface;IfcBoolean +Pset_RampFlightCommon;Reference;IfcIdentifier;Headroom;IfcPositiveLengthMeasure;ClearWidth;IfcPositiveLengthMeasure;Slope;IfcPlaneAngleMeasure;CounterSlope;IfcPlaneAngleMeasure +Pset_ReinforcementBarCountOfIndependentFooting;Description;IfcText;Reference;IfcLabel;XDirectionLowerBarCount;IfcInteger;YDirectionLowerBarCount;IfcInteger;XDirectionUpperBarCount;IfcInteger;YDirectionUpperBarCount;IfcInteger +Pset_ReinforcementBarPitchOfBeam;Description;IfcText;Reference;IfcLabel;StirrupBarPitch;IfcPositiveLengthMeasure;SpacingBarPitch;IfcPositiveLengthMeasure +Pset_ReinforcementBarPitchOfColumn;Description;IfcText;Reference;IfcLabel;HoopBarPitch;IfcPositiveLengthMeasure;XDirectionTieHoopBarPitch;IfcPositiveLengthMeasure;XDirectionTieHoopCount;IfcInteger;YDirectionTieHoopBarPitch;IfcPositiveLengthMeasure;YDirectionTieHoopCount;IfcInteger +Pset_ReinforcementBarPitchOfContinuousFooting;Description;IfcText;Reference;IfcLabel;CrossingUpperBarPitch;IfcPositiveLengthMeasure;CrossingLowerBarPitch;IfcPositiveLengthMeasure +Pset_ReinforcementBarPitchOfSlab;Description;IfcText;Reference;IfcLabel;LongOutsideTopBarPitch;IfcPositiveLengthMeasure;LongInsideCenterTopBarPitch;IfcPositiveLengthMeasure;LongInsideEndTopBarPitch;IfcPositiveLengthMeasure;ShortOutsideTopBarPitch;IfcPositiveLengthMeasure;ShortInsideCenterTopBarPitch;IfcPositiveLengthMeasure;ShortInsideEndTopBarPitch;IfcPositiveLengthMeasure;LongOutsideLowerBarPitch;IfcPositiveLengthMeasure;LongInsideCenterLowerBarPitch;IfcPositiveLengthMeasure;LongInsideEndLowerBarPitch;IfcPositiveLengthMeasure;ShortOutsideLowerBarPitch;IfcPositiveLengthMeasure;ShortInsideCenterLowerBarPitch;IfcPositiveLengthMeasure;ShortInsideEndLowerBarPitch;IfcPositiveLengthMeasure +Pset_ReinforcementBarPitchOfWall;Description;IfcText;Reference;IfcLabel;VerticalBarPitch;IfcPositiveLengthMeasure;HorizontalBarPitch;IfcPositiveLengthMeasure;SpacingBarPitch;IfcPositiveLengthMeasure +Pset_Risk;NatureOfRisk;IfcLabel;SubNatureOfRisk1;IfcLabel;SubNatureOfRisk2;IfcLabel;RiskCause;IfcText;AffectsSurroundings;IfcBoolean;PreventiveMeassures;IfcText +Pset_RoofCommon;Reference;IfcIdentifier;AcousticRating;IfcLabel;FireRating;IfcLabel;IsExternal;IfcBoolean;ThermalTransmittance;IfcThermalTransmittanceMeasure +Pset_SanitaryTerminalTypeBath;NominalLength;IfcPositiveLengthMeasure;NominalWidth;IfcPositiveLengthMeasure;NominalDepth;IfcPositiveLengthMeasure;Color;IfcLabel;DrainSize;IfcPositiveLengthMeasure;HasGrabHandles;IfcBoolean +Pset_SanitaryTerminalTypeBidet;NominalLength;IfcPositiveLengthMeasure;NominalWidth;IfcPositiveLengthMeasure;NominalDepth;IfcPositiveLengthMeasure;Color;IfcLabel;SpilloverLevel;IfcPositiveLengthMeasure;DrainSize;IfcPositiveLengthMeasure +Pset_SanitaryTerminalTypeCistern;CisternCapacity;IfcVolumeMeasure;IsSingleFlush;IfcBoolean;FlushRate;IfcVolumeMeasure;IsAutomaticFlush;IfcBoolean;CisternColor;IfcText +Pset_SanitaryTerminalTypeCommon;Reference;IfcIdentifier +Pset_SanitaryTerminalTypeSanitaryFountain;NominalLength;IfcPositiveLengthMeasure;NominalWidth;IfcPositiveLengthMeasure;NominalDepth;IfcPositiveLengthMeasure;Color;IfcLabel;DrainSize;IfcPositiveLengthMeasure +Pset_SanitaryTerminalTypeShower;HasTray;IfcBoolean;NominalLength;IfcPositiveLengthMeasure;NominalWidth;IfcPositiveLengthMeasure;NominalDepth;IfcPositiveLengthMeasure;Color;IfcLabel;ShowerHeadDescription;IfcText;DrainSize;IfcPositiveLengthMeasure +Pset_SanitaryTerminalTypeSink;NominalLength;IfcPositiveLengthMeasure;NominalWidth;IfcPositiveLengthMeasure;NominalDepth;IfcPositiveLengthMeasure;Color;IfcLabel;DrainSize;IfcPositiveLengthMeasure;MountingOffset;IfcLengthMeasure +Pset_SanitaryTerminalTypeToiletPan;Color;IfcLabel;SpilloverLevel;IfcPositiveLengthMeasure;NominalLength;IfcPositiveLengthMeasure;NominalWidth;IfcPositiveLengthMeasure;NominalDepth;IfcPositiveLengthMeasure +Pset_SanitaryTerminalTypeUrinal;Color;IfcLabel;SpilloverLevel;IfcPositiveLengthMeasure;NominalLength;IfcPositiveLengthMeasure;NominalWidth;IfcPositiveLengthMeasure;NominalDepth;IfcPositiveLengthMeasure +Pset_SanitaryTerminalTypeWashHandBasin;NominalLength;IfcPositiveLengthMeasure;NominalWidth;IfcPositiveLengthMeasure;NominalDepth;IfcPositiveLengthMeasure;Color;IfcLabel;DrainSize;IfcPositiveLengthMeasure;MountingOffset;IfcLengthMeasure +Pset_SensorPHistory;Value;IfcTimeSeries;Direction;IfcTimeSeries;Quality;IfcTimeSeries;Status;IfcTimeSeries +Pset_SensorTypeCommon;Reference;IfcIdentifier +Pset_SensorTypeConductanceSensor;SetPointConductance;IfcElectricConductanceMeasure +Pset_SensorTypeContactSensor;SetPointContact;IfcInteger +Pset_SensorTypeFireSensor;FireSensorSetPoint;IfcThermodynamicTemperatureMeasure;AccuracyOfFireSensor;IfcThermodynamicTemperatureMeasure;TimeConstant;IfcTimeMeasure +Pset_SensorTypeFlowSensor;SetPointFlow;IfcVolumetricFlowRateMeasure +Pset_SensorTypeGasSensor;GasDetected;IfcLabel;SetPointConcentration;IfcPositiveRatioMeasure;CoverageArea;IfcAreaMeasure +Pset_SensorTypeHeatSensor;CoverageArea;IfcAreaMeasure;SetPointTemperature;IfcThermodynamicTemperatureMeasure;RateOfTemperatureRise;IfcTemperatureRateOfChangeMeasure +Pset_SensorTypeHumiditySensor;SetPointHumidity;IfcPositiveRatioMeasure +Pset_SensorTypeIonConcentrationSensor;SubstanceDetected;IfcLabel;SetPointConcentration;IfcIonConcentrationMeasure +Pset_SensorTypeLevelSensor;SetPointLevel;IfcPositiveLengthMeasure +Pset_SensorTypeLightSensor;SetPointIlluminance;IfcIlluminanceMeasure +Pset_SensorTypeMoistureSensor;SetPointMoisture;IfcPositiveRatioMeasure +Pset_SensorTypeMovementSensor;SetPointMovement;IfcPositiveRatioMeasure +Pset_SensorTypePHSensor;SetPointPH;IfcPHMeasure +Pset_SensorTypePressureSensor;SetPointPressure;IfcPressureMeasure;IsSwitch;IfcBoolean +Pset_SensorTypeRadiationSensor;SetPointRadiation;IfcPowerMeasure +Pset_SensorTypeRadioactivitySensor;SetPointRadioactivity;IfcRadioActivityMeasure +Pset_SensorTypeSmokeSensor;CoverageArea;IfcAreaMeasure;SetPointConcentration;IfcPositiveRatioMeasure;HasBuiltInAlarm;IfcBoolean +Pset_SensorTypeSoundSensor;SetPointSound;IfcSoundPressureMeasure +Pset_SensorTypeTemperatureSensor;SetPointTemperature;IfcThermodynamicTemperatureMeasure +Pset_SensorTypeWindSensor;SetPointSpeed;IfcLinearVelocityMeasure +Pset_ServiceLife;ServiceLifeDuration;IfcDuration;MeanTimeBetweenFailure;IfcDuration +Pset_ServiceLifeFactors;QualityOfComponents;IfcPositiveRatioMeasure;DesignLevel;IfcPositiveRatioMeasure;WorkExecutionLevel;IfcPositiveRatioMeasure;IndoorEnvironment;IfcPositiveRatioMeasure;OutdoorEnvironment;IfcPositiveRatioMeasure;InUseConditions;IfcPositiveRatioMeasure;MaintenanceLevel;IfcPositiveRatioMeasure +Pset_ShadingDeviceCommon;Reference;IfcIdentifier;IsExternal;IfcBoolean;MechanicalOperated;IfcBoolean;ThermalTransmittance;IfcThermalTransmittanceMeasure;SolarTransmittance;IfcPositiveRatioMeasure;VisibleLightTransmittance;IfcPositiveRatioMeasure;SolarReflectance;IfcPositiveRatioMeasure;VisibleLightReflectance;IfcPositiveRatioMeasure;Roughness;IfcLabel;SurfaceColor;IfcLabel +Pset_ShadingDevicePHistory;TiltAngle;IfcTimeSeries;Azimuth;IfcTimeSeries +Pset_SiteCommon;Reference;IfcIdentifier;BuildableArea;IfcAreaMeasure;SiteCoverageRatio;IfcPositiveRatioMeasure;FloorAreaRatio;IfcPositiveRatioMeasure;BuildingHeightLimit;IfcPositiveLengthMeasure;TotalArea;IfcAreaMeasure +Pset_SlabCommon;Reference;IfcIdentifier;AcousticRating;IfcLabel;FireRating;IfcLabel;Combustible;IfcBoolean;SurfaceSpreadOfFlame;IfcLabel;ThermalTransmittance;IfcThermalTransmittanceMeasure;IsExternal;IfcBoolean;LoadBearing;IfcBoolean;Compartmentation;IfcBoolean;PitchAngle;IfcPlaneAngleMeasure +Pset_SolarDeviceTypeCommon;Reference;IfcIdentifier +Pset_SoundAttenuation;SoundFrequency;IfcFrequencyMeasure;SoundPressure;IfcTimeSeries +Pset_SpaceCommon;Reference;IfcIdentifier;IsExternal;IfcBoolean;GrossPlannedArea;IfcAreaMeasure;NetPlannedArea;IfcAreaMeasure;PubliclyAccessible;IfcBoolean;HandicapAccessible;IfcBoolean +Pset_SpaceCoveringRequirements;FloorCovering;IfcLabel;FloorCoveringThickness;IfcPositiveLengthMeasure;WallCovering;IfcLabel;WallCoveringThickness;IfcPositiveLengthMeasure;CeilingCovering;IfcLabel;CeilingCoveringThickness;IfcPositiveLengthMeasure;SkirtingBoard;IfcLabel;SkirtingBoardHeight;IfcPositiveLengthMeasure;Molding;IfcLabel;MoldingHeight;IfcPositiveLengthMeasure;ConcealedFlooring;IfcBoolean;ConcealedCeiling;IfcBoolean +Pset_SpaceFireSafetyRequirements;FireRiskFactor;IfcLabel;FlammableStorage;IfcBoolean;FireExit;IfcBoolean;SprinklerProtection;IfcBoolean;SprinklerProtectionAutomatic;IfcBoolean;AirPressurization;IfcBoolean +Pset_SpaceHeaterPHistory;FractionRadiantHeatTransfer;IfcTimeSeries;FractionConvectiveHeatTransfer;IfcTimeSeries;Effectiveness;IfcTimeSeries;SurfaceTemperature;IfcTimeSeries;SpaceAirTemperature;IfcTimeSeries;SpaceMeanRadiantTemperature;IfcTimeSeries;AuxiliaryEnergySourceConsumption;IfcTimeSeries;UACurve;IfcTimeSeries;OutputCapacityCurve;IfcTimeSeries;AirResistanceCurve;IfcTimeSeries;Exponent;IfcTimeSeries;HeatOutputRate;IfcTimeSeries +Pset_SpaceHeaterTypeCommon;Reference;IfcIdentifier;BodyMass;IfcMassMeasure;ThermalMassHeatCapacity;IfcReal;OutputCapacity;IfcPowerMeasure;ThermalEfficiency;IfcNormalisedRatioMeasure;NumberOfPanels;IfcInteger;NumberOfSections;IfcInteger +Pset_SpaceHeaterTypeRadiator;TubingLength;IfcPositiveLengthMeasure;WaterContent;IfcMassMeasure +Pset_SpaceLightingRequirements;ArtificialLighting;IfcBoolean;Illuminance;IfcIlluminanceMeasure +Pset_SpaceOccupancyRequirements;OccupancyType;IfcLabel;OccupancyNumber;IfcCountMeasure;OccupancyNumberPeak;IfcCountMeasure;OccupancyTimePerDay;IfcTimeMeasure;AreaPerOccupant;IfcAreaMeasure;MinimumHeadroom;IfcLengthMeasure;IsOutlookDesirable;IfcBoolean +Pset_SpaceParking;ParkingUse;IfcLabel;ParkingUnits;IfcCountMeasure;IsAisle;IfcBoolean;IsOneWay;IfcBoolean +Pset_SpaceThermalDesign;CoolingDesignAirflow;IfcVolumetricFlowRateMeasure;HeatingDesignAirflow;IfcVolumetricFlowRateMeasure;TotalSensibleHeatGain;IfcPowerMeasure;TotalHeatGain;IfcPowerMeasure;TotalHeatLoss;IfcPowerMeasure;CoolingDryBulb;IfcThermodynamicTemperatureMeasure;CoolingRelativeHumidity;IfcPositiveRatioMeasure;HeatingDryBulb;IfcThermodynamicTemperatureMeasure;HeatingRelativeHumidity;IfcPositiveRatioMeasure;VentilationAirFlowrate;IfcVolumetricFlowRateMeasure;ExhaustAirFlowrate;IfcVolumetricFlowRateMeasure;CeilingRAPlenum;IfcBoolean;BoundaryAreaHeatLoss;IfcHeatFluxDensityMeasure +Pset_SpaceThermalLoad;People;IfcPowerMeasure;Lighting;IfcPowerMeasure;EquipmentSensible;IfcPowerMeasure;VentilationIndoorAir;IfcPowerMeasure;VentilationOutdoorAir;IfcPowerMeasure;RecirculatedAir;IfcPowerMeasure;ExhaustAir;IfcPowerMeasure;AirExchangeRate;IfcPowerMeasure;DryBulbTemperature;IfcPowerMeasure;RelativeHumidity;IfcPowerMeasure;InfiltrationSensible;IfcPowerMeasure;TotalSensibleLoad;IfcPowerMeasure;TotalLatentLoad;IfcPowerMeasure;TotalRadiantLoad;IfcPowerMeasure +Pset_SpaceThermalLoadPHistory;People;IfcTimeSeries;Lighting;IfcTimeSeries;EquipmentSensible;IfcTimeSeries;VentilationIndoorAir;IfcTimeSeries;VentilationOutdoorAir;IfcTimeSeries;RecirculatedAir;IfcTimeSeries;ExhaustAir;IfcTimeSeries;AirExchangeRate;IfcTimeSeries;DryBulbTemperature;IfcTimeSeries;RelativeHumidity;IfcTimeSeries;InfiltrationSensible;IfcTimeSeries;TotalSensibleLoad;IfcTimeSeries;TotalLatentLoad;IfcTimeSeries;TotalRadiantLoad;IfcTimeSeries +Pset_SpaceThermalPHistory;CoolingAirFlowRate;IfcTimeSeries;HeatingAirFlowRate;IfcTimeSeries;VentilationAirFlowRate;IfcTimeSeries;ExhaustAirFlowRate;IfcTimeSeries;SpaceTemperature;IfcTimeSeries;SpaceRelativeHumidity;IfcTimeSeries +Pset_SpaceThermalRequirements;SpaceTemperature;IfcThermodynamicTemperatureMeasure;SpaceTemperatureMax;IfcThermodynamicTemperatureMeasure;SpaceTemperatureMin;IfcThermodynamicTemperatureMeasure;SpaceTemperatureSummerMax;IfcThermodynamicTemperatureMeasure;SpaceTemperatureSummerMin;IfcThermodynamicTemperatureMeasure;SpaceTemperatureWinterMax;IfcThermodynamicTemperatureMeasure;SpaceTemperatureWinterMin;IfcThermodynamicTemperatureMeasure;SpaceHumidity;IfcRatioMeasure;SpaceHumidityMax;IfcRatioMeasure;SpaceHumidityMin;IfcRatioMeasure;SpaceHumiditySummer;IfcRatioMeasure;SpaceHumidityWinter;IfcRatioMeasure;DiscontinuedHeating;IfcBoolean;NaturalVentilation;IfcBoolean;NaturalVentilationRate;IfcCountMeasure;MechanicalVentilationRate;IfcCountMeasure;AirConditioning;IfcBoolean;AirConditioningCentral;IfcBoolean +Pset_StackTerminalTypeCommon;Reference;IfcIdentifier +Pset_StairCommon;Reference;IfcIdentifier;NumberOfRiser;IfcCountMeasure;NumberOfTreads;IfcCountMeasure;RiserHeight;IfcPositiveLengthMeasure;TreadLength;IfcPositiveLengthMeasure;NosingLength;IfcLengthMeasure;WalkingLineOffset;IfcPositiveLengthMeasure;TreadLengthAtOffset;IfcPositiveLengthMeasure;TreadLengthAtInnerSide;IfcPositiveLengthMeasure;WaistThickness;IfcPositiveLengthMeasure;RequiredHeadroom;IfcPositiveLengthMeasure;IsExternal;IfcBoolean;FireRating;IfcLabel;FireExit;IfcBoolean;HandicapAccessible;IfcBoolean;HasNonSkidSurface;IfcBoolean +Pset_StairFlightCommon;Reference;IfcIdentifier;NumberOfRiser;IfcCountMeasure;NumberOfTreads;IfcCountMeasure;RiserHeight;IfcPositiveLengthMeasure;TreadLength;IfcPositiveLengthMeasure;NosingLength;IfcLengthMeasure;WalkingLineOffset;IfcPositiveLengthMeasure;TreadLengthAtOffset;IfcPositiveLengthMeasure;TreadLengthAtInnerSide;IfcPositiveLengthMeasure;Headroom;IfcPositiveLengthMeasure;WaistThickness;IfcPositiveLengthMeasure +Pset_StructuralSurfaceMemberVaryingThickness;Thickness1;IfcPositiveLengthMeasure;Location1Local;IfcLengthMeasure;Location1Global;IfcLengthMeasure;Thickness2;IfcPositiveLengthMeasure;Location2Local;IfcLengthMeasure;Location2Global;IfcLengthMeasure;Thickness3;IfcPositiveLengthMeasure;Location3Local;IfcLengthMeasure;Location3Global;IfcLengthMeasure +Pset_SwitchingDeviceTypeCommon;Reference;IfcIdentifier;NumberOfGangs;IfcInteger;HasLock;IfcBoolean;IsIlluminated;IfcBoolean;Legend;IfcLabel +Pset_SwitchingDeviceTypePHistory;SetPoint;IfcTimeSeries +Pset_SystemFurnitureElementTypeCommon;IsUsed;IfcBoolean;GroupCode;IfcIdentifier;NominalWidth;IfcPositiveLengthMeasure;NominalHeight;IfcPositiveLengthMeasure;Finishing;IfcLabel +Pset_SystemFurnitureElementTypePanel;HasOpening;IfcBoolean;NominalThickness;IfcPositiveLengthMeasure +Pset_SystemFurnitureElementTypeWorkSurface;UsePurpose;IfcLabel;HangingHeight;IfcPositiveLengthMeasure;NominalThickness;IfcPositiveLengthMeasure;ShapeDescription;IfcLabel +Pset_TankOccurrence;HasLadder;IfcBoolean;HasVisualIndicator;IfcBoolean +Pset_TankTypeCommon;Reference;IfcIdentifier;NominalLengthOrDiameter;IfcPositiveLengthMeasure;NominalWidthOrDiameter;IfcPositiveLengthMeasure;NominalDepth;IfcPositiveLengthMeasure;NominalCapacity;IfcVolumeMeasure;EffectiveCapacity;IfcVolumeMeasure;OperatingWeight;IfcMassMeasure;FirstCurvatureRadius;IfcPositiveLengthMeasure;SecondCurvatureRadius;IfcPositiveLengthMeasure;NumberOfSections;IfcInteger +Pset_TankTypeExpansion;ChargePressure;IfcPressureMeasure;PressureRegulatorSetting;IfcPressureMeasure;ReliefValveSetting;IfcPressureMeasure +Pset_TankTypePreformed;FirstCurvatureRadius;IfcPositiveLengthMeasure;SecondCurvatureRadius;IfcPositiveLengthMeasure +Pset_TankTypePressureVessel;ChargePressure;IfcPressureMeasure;PressureRegulatorSetting;IfcPressureMeasure;ReliefValveSetting;IfcPressureMeasure +Pset_TankTypeSectional;NumberOfSections;IfcInteger;SectionLength;IfcPositiveLengthMeasure;SectionWidth;IfcPositiveLengthMeasure +Pset_ThermalLoadAggregate;TotalCoolingLoad;IfcPowerMeasure;TotalHeatingLoad;IfcPowerMeasure;LightingDiversity;IfcPositiveRatioMeasure;InfiltrationDiversitySummer;IfcPositiveRatioMeasure;InfiltrationDiversityWinter;IfcPositiveRatioMeasure;ApplianceDiversity;IfcPositiveRatioMeasure;LoadSafetyFactor;IfcPositiveRatioMeasure +Pset_ThermalLoadDesignCriteria;OccupancyDiversity;IfcPositiveRatioMeasure;OutsideAirPerPerson;IfcVolumetricFlowRateMeasure;ReceptacleLoadIntensity;IfcReal;AppliancePercentLoadToRadiant;IfcPositiveRatioMeasure;LightingLoadIntensity;IfcReal;LightingPercentLoadToReturnAir;IfcPositiveRatioMeasure +Pset_TransformerTypeCommon;Reference;IfcIdentifier;PrimaryVoltage;IfcElectricVoltageMeasure;SecondaryVoltage;IfcElectricVoltageMeasure;PrimaryCurrent;IfcElectricCurrentMeasure;SecondaryCurrent;IfcElectricCurrentMeasure;PrimaryFrequency;IfcFrequencyMeasure;SecondaryFrequency;IfcFrequencyMeasure;PrimaryApparentPower;IfcPowerMeasure;SecondaryApparentPower;IfcPowerMeasure;MaximumApparentPower;IfcPowerMeasure;ShortCircuitVoltage;IfcComplexNumber;RealImpedanceRatio;IfcRatioMeasure;ImaginaryImpedanceRatio;IfcRatioMeasure;IsNeutralPrimaryTerminalAvailable;IfcBoolean;IsNeutralSecondaryTerminalAvailable;IfcBoolean +Pset_TransportElementCommon;Reference;IfcIdentifier;CapacityPeople;IfcCountMeasure;CapacityWeight;IfcMassMeasure;FireExit;IfcBoolean +Pset_TransportElementElevator;FireFightingLift;IfcBoolean;ClearWidth;IfcPositiveLengthMeasure;ClearDepth;IfcPositiveLengthMeasure;ClearHeight;IfcPositiveLengthMeasure +Pset_TubeBundleTypeCommon;Reference;IfcIdentifier;NumberOfRows;IfcInteger;StaggeredRowSpacing;IfcPositiveLengthMeasure;InLineRowSpacing;IfcPositiveLengthMeasure;NumberOfCircuits;IfcInteger;FoulingFactor;IfcThermalResistanceMeasure;ThermalConductivity;IfcThermalConductivityMeasure;Length;IfcPositiveLengthMeasure;Volume;IfcVolumeMeasure;NominalDiameter;IfcPositiveLengthMeasure;OutsideDiameter;IfcPositiveLengthMeasure;InsideDiameter;IfcPositiveLengthMeasure;HorizontalSpacing;IfcPositiveLengthMeasure;VerticalSpacing;IfcPositiveLengthMeasure;HasTurbulator;IfcBoolean +Pset_TubeBundleTypeFinned;Spacing;IfcPositiveLengthMeasure;Thickness;IfcPositiveLengthMeasure;ThermalConductivity;IfcThermalConductivityMeasure;Length;IfcPositiveLengthMeasure;Height;IfcPositiveLengthMeasure;Diameter;IfcPositiveLengthMeasure;FinCorrugatedType;IfcLabel;HasCoating;IfcBoolean +Pset_UnitaryControlElementPHistory;Temperature;IfcTimeSeries;Mode;IfcTimeSeries;Fan;IfcTimeSeries;SetPoint;IfcTimeSeries +Pset_UnitaryControlElementTypeCommon;Reference;IfcIdentifier +Pset_UnitaryControlElementTypeThermostat;TemperatureSetPoint;IfcThermodynamicTemperatureMeasure +Pset_UnitaryEquipmentTypeAirConditioningUnit;SensibleCoolingCapacity;IfcPowerMeasure;LatentCoolingCapacity;IfcPowerMeasure;CoolingEfficiency;IfcPositiveRatioMeasure;HeatingCapacity;IfcPowerMeasure;HeatingEfficiency;IfcPositiveRatioMeasure;CondenserFlowrate;IfcVolumetricFlowRateMeasure;CondenserEnteringTemperature;IfcThermodynamicTemperatureMeasure;CondenserLeavingTemperature;IfcThermodynamicTemperatureMeasure;OutsideAirFlowrate;IfcVolumetricFlowRateMeasure +Pset_UnitaryEquipmentTypeAirHandler;DualDeck;IfcBoolean +Pset_UnitaryEquipmentTypeCommon;Reference;IfcIdentifier +Pset_UtilityConsumptionPHistory;Heat;IfcTimeSeries;Electricity;IfcTimeSeries;Water;IfcTimeSeries;Fuel;IfcTimeSeries;Steam;IfcTimeSeries +Pset_ValvePHistory;PercentageOpen;IfcTimeSeries;MeasuredFlowRate;IfcTimeSeries;MeasuredPressureDrop;IfcTimeSeries +Pset_ValveTypeAirRelease;IsAutomatic;IfcBoolean +Pset_ValveTypeCommon;Reference;IfcIdentifier;Size;IfcPositiveLengthMeasure;BodyMaterial;IfcMaterialDefinition;TestPressure;IfcPressureMeasure;WorkingPressure;IfcPressureMeasure;FlowCoefficient;IfcReal;CloseOffRating;IfcPressureMeasure +Pset_ValveTypeDrawOffCock;HasHoseUnion;IfcBoolean +Pset_ValveTypeFaucet;Finish;IfcText;FaucetTopDescription;IfcText +Pset_ValveTypeFlushing;FlushingRate;IfcVolumetricFlowRateMeasure;HasIntegralShutOffDevice;IfcBoolean;IsHighPressure;IfcBoolean +Pset_ValveTypeGasTap;HasHoseUnion;IfcBoolean +Pset_ValveTypeIsolating;IsNormallyOpen;IfcBoolean +Pset_ValveTypeMixing;OutletConnectionSize;IfcPositiveLengthMeasure +Pset_ValveTypePressureReducing;UpstreamPressure;IfcPressureMeasure;DownstreamPressure;IfcPressureMeasure +Pset_ValveTypePressureRelief;ReliefPressure;IfcPressureMeasure +Pset_VibrationIsolatorTypeCommon;Reference;IfcIdentifier;VibrationTransmissibility;IfcPositiveRatioMeasure;IsolatorStaticDeflection;IfcLengthMeasure;IsolatorCompressibility;IfcRatioMeasure;Height;IfcPositiveLengthMeasure;MaximumSupportedWeight;IfcMassMeasure +Pset_WallCommon;Reference;IfcIdentifier;AcousticRating;IfcLabel;FireRating;IfcLabel;Combustible;IfcBoolean;SurfaceSpreadOfFlame;IfcLabel;ThermalTransmittance;IfcThermalTransmittanceMeasure;IsExternal;IfcBoolean;ExtendToStructure;IfcBoolean;LoadBearing;IfcBoolean;Compartmentation;IfcBoolean +Pset_Warranty;WarrantyIdentifier;IfcIdentifier;WarrantyStartDate;IfcDate;WarrantyEndDate;IfcDate;IsExtendedWarranty;IfcBoolean;WarrantyPeriod;IfcTimeMeasure;PointOfContact;IfcOrganization;WarrantyContent;IfcText;Exclusions;IfcText +Pset_WasteTerminalTypeCommon;Reference;IfcIdentifier +Pset_WasteTerminalTypeFloorTrap;NominalBodyLength;IfcPositiveLengthMeasure;NominalBodyWidth;IfcPositiveLengthMeasure;NominalBodyDepth;IfcPositiveLengthMeasure;IsForSullageWater;IfcBoolean;SpilloverLevel;IfcPositiveLengthMeasure;HasStrainer;IfcBoolean;OutletConnectionSize;IfcPositiveLengthMeasure;InletConnectionSize;IfcPositiveLengthMeasure;CoverLength;IfcPositiveLengthMeasure;CoverWidth;IfcPositiveLengthMeasure;CoverMaterial;IfcMaterialDefinition +Pset_WasteTerminalTypeFloorWaste;NominalBodyLength;IfcPositiveLengthMeasure;NominalBodyWidth;IfcPositiveLengthMeasure;NominalBodyDepth;IfcPositiveLengthMeasure;OutletConnectionSize;IfcPositiveLengthMeasure;CoverLength;IfcPositiveLengthMeasure;CoverWidth;IfcPositiveLengthMeasure +Pset_WasteTerminalTypeGullySump;NominalSumpLength;IfcPositiveLengthMeasure;NominalSumpWidth;IfcPositiveLengthMeasure;NominalSumpDepth;IfcPositiveLengthMeasure;OutletConnectionSize;IfcPositiveLengthMeasure;InletConnectionSize;IfcPositiveLengthMeasure;CoverLength;IfcPositiveLengthMeasure;CoverWidth;IfcPositiveLengthMeasure +Pset_WasteTerminalTypeGullyTrap;NominalBodyLength;IfcPositiveLengthMeasure;NominalBodyWidth;IfcPositiveLengthMeasure;NominalBodyDepth;IfcPositiveLengthMeasure;HasStrainer;IfcBoolean;OutletConnectionSize;IfcPositiveLengthMeasure;InletConnectionSize;IfcPositiveLengthMeasure;CoverLength;IfcPositiveLengthMeasure;CoverWidth;IfcPositiveLengthMeasure +Pset_WasteTerminalTypeRoofDrain;NominalBodyLength;IfcPositiveLengthMeasure;NominalBodyWidth;IfcPositiveLengthMeasure;NominalBodyDepth;IfcPositiveLengthMeasure;OutletConnectionSize;IfcPositiveLengthMeasure;CoverLength;IfcPositiveLengthMeasure;CoverWidth;IfcPositiveLengthMeasure +Pset_WasteTerminalTypeWasteDisposalUnit;DrainConnectionSize;IfcPositiveLengthMeasure;OutletConnectionSize;IfcPositiveLengthMeasure;NominalDepth;IfcPositiveLengthMeasure +Pset_WasteTerminalTypeWasteTrap;OutletConnectionSize;IfcPositiveLengthMeasure;InletConnectionSize;IfcPositiveLengthMeasure +Pset_WindowCommon;Reference;IfcIdentifier;AcousticRating;IfcLabel;FireRating;IfcLabel;SecurityRating;IfcLabel;IsExternal;IfcBoolean;Infiltration;IfcVolumetricFlowRateMeasure;ThermalTransmittance;IfcThermalTransmittanceMeasure;GlazingAreaFraction;IfcPositiveRatioMeasure;HasSillExternal;IfcBoolean;HasSillInternal;IfcBoolean;HasDrive;IfcBoolean;SmokeStop;IfcBoolean;FireExit;IfcBoolean +Pset_WorkControlCommon;WorkStartTime;IfcTime;WorkFinishTime;IfcTime;WorkDayDuration;IfcDuration;WorkWeekDuration;IfcDuration;WorkMonthDuration;IfcDuration +Pset_ZoneCommon;Reference;IfcIdentifier;IsExternal;IfcBoolean;GrossPlannedArea;IfcAreaMeasure;NetPlannedArea;IfcAreaMeasure;PubliclyAccessible;IfcBoolean;HandicapAccessible;IfcBoolean diff --git a/src/Mod/Arch/Resources/Arch.qrc b/src/Mod/Arch/Resources/Arch.qrc index 9ad93b7d09..87c4137286 100644 --- a/src/Mod/Arch/Resources/Arch.qrc +++ b/src/Mod/Arch/Resources/Arch.qrc @@ -103,6 +103,7 @@ ui/DialogBimServerLogin.ui ui/DialogDisplayText.ui ui/ArchNest.ui + ui/DialogIfcProperties.ui translations/Arch_af.qm translations/Arch_de.qm translations/Arch_fi.qm diff --git a/src/Mod/Arch/Resources/ui/DialogIfcProperties.ui b/src/Mod/Arch/Resources/ui/DialogIfcProperties.ui new file mode 100644 index 0000000000..47b8e55025 --- /dev/null +++ b/src/Mod/Arch/Resources/ui/DialogIfcProperties.ui @@ -0,0 +1,134 @@ + + + Dialog + + + + 0 + 0 + 289 + 548 + + + + IFC properties editor + + + + + + + + IFC UUID: + + + + + + + Leave this empty to generate one at export + + + + + + + + + List of IFC properties for this object. Double-click to edit, drag and drop to reorganize + + + true + + + + + + + + + + + + + + + + + + + + + + Delete selected property/set + + + + ../../../../../../../.FreeCAD/Mod/BIM../../../../../../../.FreeCAD/Mod/BIM + + + + + + + + + Force exporting geometry as BREP + + + + + + + Force export full FreeCAD parametric data + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/Mod/Arch/importIFC.py b/src/Mod/Arch/importIFC.py index bc305ccb00..a7f4e3c5a5 100644 --- a/src/Mod/Arch/importIFC.py +++ b/src/Mod/Arch/importIFC.py @@ -1336,7 +1336,14 @@ def export(exportList,filename): elif ptype == "IfcInteger": pvalue = int(pvalue) else: - pvalue = float(pvalue) + try: + pvalue = float(pvalue) + except: + try: + pvalue = FreeCAD.Units.Quantity(pvalue).Value + except: + pvalue = pvalue.encode("utf8") + if DEBUG:print(" warning: unable to export property as numeric value:",key,pvalue) p = ifcfile.createIfcPropertySingleValue(str(key),None,ifcfile.create_entity(str(ptype),pvalue),None) psets.setdefault(pset,[]).append(p) for pname,props in psets.items():