Skip to main content

Step 3 of 8: Add a Choice-List Dynamic Property to a BIM Component

PL1.3: Add a Dynamic Property to a BIM Component

Written by Alexandra Göttert

Let users pick a value for one of a BIM component's dynamic properties from a predefined drop-down list in DigiPara Liftdesigner's Properties window, instead of typing a free value.

Prerequisites

  • A BIM component already exists in the DigiPara BIM Library, with a profile group.

  • A dynamic property config item already exists for the parameter you want to restrict to a choice list — either one you set up as a direct-value property (see Add a Direct-Value Dynamic Property to a BIM Component), or a new one you create following the same first steps (copy the 3D parameter's reference, add a record in L_ProfilGrpPropConfigItemTab, fill in its description).

Steps

1.) Open the property's config item record and set its display type to ComboBox. In DigiPara Liftdesigner Datamanager, open the component's profile group, switch to the L_ProfilGrpPropConfigItemTab tab, and set PGPROPCI_DISPLAY_TYPE to 1: ComboBox for the record.

2.) Add one record per choice in the enum table. Switch to the L_ProfilGrpPropConfigItemEnumTab tab. Add one record per selectable value, with the numeric value in PGPROPCE_ENUM_VALUE and its display label in PGPROPCE_ENUM_TEXT — for example 50 / "50 mm", 75 / "75 mm", 100 / "100 mm".

3.) Save the table. Save the enum table (click the tab a second time, or use the Datamanager's normal save action) so the choice list is stored in the DigiPara BIM Library.

4.) Test the choice list in DigiPara Liftdesigner. Reload or reopen the component and check its Properties window — the property now appears as a drop-down list showing the labels you entered. Selecting a different entry updates the component's geometry accordingly.

Result

The BIM component's dynamic property now offers a fixed list of choices instead of free input, while still driving the same underlying 3D parameter.

Next Step

Related Video Tutorial

Did this answer your question?