ifcopenshell.api.pset_template.add_prop_template
¶
Module Contents¶
- ifcopenshell.api.pset_template.add_prop_template.add_prop_template(file: ifcopenshell.file, pset_template: ifcopenshell.entity_instance, name: str = 'NewProperty', description: str | None = None, template_type: str = 'P_SINGLEVALUE', primary_measure_type: str = 'IfcLabel') ifcopenshell.entity_instance ¶
Adds new property templates to a property set template
Assuming you first have a property set template, this allows you to add templates for properties within that property set. A property template lets you specify the name, description, and data type of a property. When the template is provided to a model author, this gives them clear instructions about the intention of the property and exactly which data type to use.
Types of properties and quantities include:
P_SINGLEVALUE - a single value, the most common type of property.
- P_ENUMERATEDVALUE - the property value may one or more values chosen
from a preset list of values.
P_BOUNDEDVALUE - the property has a minimum, maximum, and set value.
P_LISTVALUE - the property has a list of values.
P_TABLEVALUE - the property has a table of values.
- P_REFERENCEVALUE - the property is a parametric reference to another
value. This is only for advanced users.
Q_LENGTH - the quantity is a length.
Q_AREA - the quantity is an area.
Q_VOLUME - the quantity is a volume.
Q_COUNT - the quantity is counting a item.
Q_WEIGHT - the quantity is a weight.
Q_TIME - the quantity is a time duration.
- Parameters:
pset_template (ifcopenshell.entity_instance) – The property set template to add the property template to.
name (str,optional) – The name of the property
description (str,optional) – A few words describing what the property stores.
primary_measure_type – The data type of the property. Consult the IFC documentation for the full list of data types.
primary_measure_type – str,optional
- Returns:
The newly created IfcSimplePropertyTemplate.
- Return type:
ifcopenshell.entity_instance
Example:
# Create a simple template that may be applied to all types template = ifcopenshell.api.pset_template.add_pset_template(model, name="ABC_RiskFactors") # Here's one example property ifcopenshell.api.pset_template.add_prop_template(model, pset_template=template, name="HighVoltage", description="Whether there is a risk of high voltage.", primary_measure_type="IfcBoolean") # Here's another ifcopenshell.api.pset_template.add_prop_template(model, pset_template=template, name="ChemicalType", description="The class of chemical spillage.", primary_measure_type="IfcLabel")