DesignSeries00007.pngUsing Custom IFC Property Sets

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.

Existing information may be attached to a symbol definition as a record format; this record format data can be used as a custom property set for IFC.

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.

Creating IFC-Compatible Record Formats

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, Text, and Pop-up field types; for Number field types, enter 0 (zero) as the default.

The record format displays in the Resource Manager, in the Record Format category. Like any resource, it can be shared between files using the export or import functionality of the Resource Manager.

Attaching a Record Format as an IFC Custom Property Set

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.

A custom Pset can also be assigned when Managing IFC Data Mapping.

In addition to custom record formats that you may have created, existing record formats containing pSet data, such as those attached to BIMobjects, can be selected for use.

To assign the custom IFC data:

  1. Select the object, group, or symbol for assignment of IFC data.

  2. Use the IFC Data command to specify the IFC object type as described in Assigning IFC Data to Objects.

  3. Click OK.

  4. The IFC Data dialog box opens.

  5. Click Manage Custom Property Sets.

  6. The Manage Custom Property Sets dialog box opens.

  7. Click the Use column to select one or more record formats. Selected record formats display with a check mark.

  8. Click OK to return to the IFC Data dialog box.

  9. The selected custom record formats are listed as data sets in the IFC Entities/Psets list.

  10. Select the custom Pset and click the Use column. A check mark indicates that the Pset is enabled and attached to the object.

  11. 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.

  12. The bottom pane displays the properties associated with the custom Pset. Select each property and assign a value to it.

  13. 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.

Using Custom IFC Value Types

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

For simple fields (Text/Boolean/Number), if you specify a record without the companion fields, the Type is taken from the record field Type.

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 IFC 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 IFC 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

~~~~~~~~~~~~~~~~~~~~~~~~~

IFC Format Interoperability

Assigning IFC Data to Objects

Concept: Record Formats, Reports, and Schedules

Creating IFC Schedules

Importing IFC Files

Exporting IFC Projects

Was this page helpful?

vectorworks.net