Property sets (Pset_XxxxXxxx) are used to assign groups of individual data fields, or properties, to IFC entities. Property sets can be very specific to an IFC entity, such as Pset_WallCommon to IfcWall, or more generally applied to any IFC entity, such as Pset_ManufacturerTypeInformation. Some property sets and their values are explicitly predefined and listed in the IFC specification; the naming convention Pset_Xxx applies to these officially specified property sets.
Due to the extensible nature of IFC, any user-defined data, even when not explicitly identified in the IFC specification, can still be captured and exchanged using custom property sets. Custom property sets must follow technical encoding conventions. They must have unique and allowable names; the names cannot duplicate specified property set names or begin with “Pset_.”
To make collaboration easier, the Vectorworks Software Developer’s Kit (SDK) has functions to create a custom property set either programmatically, or by importing an XML file that defines the property set. For detailed developer-oriented documentation related to the SDK, see developer.vectorworks.net.
Additionally, you can create custom IFC property sets in Vectorworks Design Series products as described in the following topics.
To use a custom property set, first create the record format to define the data to be captured and exchanged in IFC format. The record format name becomes the name of the custom property set. Record formats designated for IFC export should be named with a VwPset_ or ePset_ prefix, or use a name that is defined by a specific Model View Definition (MVD) or documented model Exchange Requirement (ER). Record format names are case sensitive, and should not contain blank spaces (use an underscore if needed). For example, you might use a record format named “ePset_MyData.”
The record format can consist of any number of fields, designated by a Field Name and a Field Type; see Creating Record Formats. The field types are automatically converted to equivalent IFC value types. For example:
Field Type |
IFC Value Type |
Integer |
IfcInteger |
Boolean |
IfcBoolean |
Text |
IfcText |
Number |
IfcReal |
To use more specific IFC value types, see Using Custom IFC Value Types.
Default field values are ignored when the record format is converted to an IFC property set. Therefore, leave the default value empty for Integer, Boolean, and Text field types; for Number field types, enter 0 (zero) as the default.
The record format displays in the Resource Browser, under the Record Format category. Like any resource, it can be shared between files using the export or import functionality of the Resource Browser.
Once the custom record format has been created, convert it to an IFC Property Set and attach the data to an object, group, symbol definition, or symbol instance.
To assign the custom IFC data:
Select the object, group, or symbol for assignment of IFC data.
Use the IFC Data command to specify the IFC object type as described in Assigning IFC Data to Objects.
Click OK.
The IFC Data dialog box opens.
Click Manage Custom Property Sets.
The Manage Custom Property Sets dialog box opens.
Click the Use column to select one or more record formats. Selected record formats display with a check mark.
Click OK to return to the IFC Data dialog box.
The selected custom record formats are listed as data sets in the IFC Entities/Psets list.
Select the custom Pset and click the Use column. A check mark indicates that the Pset is enabled and attached to the object.
If you remove the check mark from a custom Pset, the record is not applied to the object, but the record remains in the object’s Psets list. To remove it, click Manage Custom Property Sets, and remove the check mark from the Use column. When prompted, click OK to confirm that you want to delete the Pset from this object. Click OK again to close the Manage Custom Property Sets dialog box and remove the Pset from the object’s list.
The bottom pane displays the properties associated with the custom Pset. Select each property and assign a value to it.
Click OK to assign the IFC data to the object.
To review or edit the data, select the object, and then click the IFC button from the bottom of the Object Info palette.
The custom property set is saved in the current file. To use a custom property set in another file or project, export the record format to another file and repeat these steps to attach IFC data to objects.
If the IFC Value Types that are automatically assigned to your custom fields are not specific enough, you can pair each field in your custom record format with a field that identifies the IFC value (IfcValue) type for that field. Each pair must have the same field type.
For example, you might have three fields in a custom record format that contain the following information about a set of objects:
● Product code (such as AB-124)
● Whether the object is on the schedule (true or false)
● Cost per unit (such as 75.00)
For each field that contains object data, create a companion field that indicates the IFC value type of the data. In this example, you would have a total of six fields in the record format:
Field Pairs |
Type |
ProductCode IfcIdentifier |
Text Text |
OnSchedule IfcBoolean |
Boolean Boolean |
UnitCost IfcReal |
Number Number |
Choose an IFC value type and record format field type appropriate for the kind of information being captured by the field, such as a simple number, a TRUE/FALSE choice, a text string or simple label, or a measurement. In the Vectorworks program, allowable types include Integer, Boolean, Text, or Number. The Field Name identifying an IFC value type should be based on the IFC specification for the different defined types of values (IfcValue), as shown in the following list.
IFC Value Types |
Vectorworks Record Format Field Type and Description |
IfcSimpleValue |
These are the most common and cover most user cases |
IfcInteger |
Integer: a simple whole number ranging from -32,7568 to 32,767 |
IfcReal |
Number: General or Decimal |
IfcBoolean |
Boolean: also known as TRUE or FALSE |
IfcLogical |
Boolean: similar to Boolean, but can include a value of “UNKNOWN” |
IfcIdentifier |
Text: a simple text ID string, usually a mix of alphanumeric characters and symbols |
IfcLabel |
Text: a simple text name string, usually a mix of alphanumeric characters |
IfcText |
Text: a descriptive text field string of up to 255 characters |
IfcMeasureValue |
A complete list can be found in the IFC2x3 TC1 specification |
IfcAreaMeasure |
Number: Dimension Area |
IfcLengthMeasure |
Number: Dimension |
IfcMassMeasure |
Number: General or Decimal |
IfcThermodynamicTemperatureMeasure |
Number: General or Decimal |
IfcTimeMeasure |
Integer or Number: General |
IfcVolumeMeasure |
Number: Dimension Volume |
IfcDerivedMeasureValue |
A complete list can be found in the IFC2x3 TC1 specification |
IfcEnergyMeasure |
Number: General or Decimal |
IfcIlluminanceMeasure |
Number: General or Decimal |
IfcPowerMeasure |
Number: General or Decimal |
IfcThermalTransmittanceMeasure |
Number: General or Decimal |
IfcTimeStamp |
Integer or Number: General |
IfcLuminousIntensityDistributionMeasure |
Number: General or Decimal |
~~~~~~~~~~~~~~~~~~~~~~~~~