OpenBridge Modeler

Item Type Properties in OpenBridge Modeler

Item type properties are made available in partlist Reports derived with Concrete and Steel objects.

The background

Users require to add additional, custom, attributes to steel and reinforcement. The need for reports to include user defined Item Type Properties attached to the structural objects arise because these attributes are user defined there is no way to predetermine their names and values. To accommodate this need Item Types were implemented. These attributes should be usable on drawings as annotation and be shown in reports.
Terms used in this topic:
  • Item - A set of property values attached to a MicroStation element.
  • Item Type - A named set of property names and types. It is a template for the property values that are attached to a MicroStation element.
  • Item Type Library - A named collection of Item Types in a design file.

About Item Types

You can assign the Item type properties to Steel, Concrete and Rebar element in your design model. These properties can be Text, Date, Number, True / False or Point. These properties should be displayed in theOpenBridge Modeler Partlists.

An example of Item Type properties for 3D Rebar element; A: Item Type Name, B: Item Type Property

Variables are available to access Item type properties. Earlier you were able to access the Item type properties in 2D Rebar labels using.
ItemTypeName.ItemTypeProperty.

Name Details

The previous examples show the Item Type names verbatim in the List & Label field names. This will not always be the case.

The following sections describe changes made to Item Type names before they are used in List & Label field names. The information is provided to understand the mapping. The List & Label User Interface will always show the current (and correct) field names.

Special Characters Item Type names are user defined and without restrictions. However, because the reporting tool works with an Access database, the space character and the characters in the following table are automatically replaced with an underbar '_'.
-	.	(	)	|	[	]	%	$	!	`	"

For example, an Item property named "Pour Id" or "Pour-Id" would be "Pour_Id" in the List & Label field name, and "Paint Color" or "Paint-Color" would be "Paint_Color", and so on.

Name Length The name of an Item Type will be truncated at 55 characters before using it in a List & Label field name.
For example, this (silly) Item Type name
The quick red fox jumped over the lazy brown dog and jumped back.
would become this List & Label field name:
The_quick_red_fox_jumped_over_the_lazy_brown_dog_and_ju
The name of a simple Item Type property will be truncated at 63 characters before using it in a List & Label field name.
Complex Item Type Property Names Item Types support some complexity in properties-arrays and nested types. The PowerPlatform (MicroStation) UI shows "access strings" to reference individual values.
Complex access strings are mapped to List & Label field names as follows:
Access String Field Name
propertyName[N] propertyNameN
propertyName.subPropertyName propertyName_subPropertyName
propertyName.subPropertyName[N] propertyName_subPropertyNameN
propertyName[N].subPropertyName propertyNameN_subPropertyName
propertyName[N].subPropertyName[N] propertyNameN_subPropertyNameN
Different from the special character substitution rule, the brackets for an array entry are dropped, e.g. name[0] becomes name0.

When the name of a complex Item Type property gets longer, the "propertyName" substring and, if applicable, the "subPropertyName" substring are truncated so the length of the List & Label name is less than 64 characters.

Item Type Library Names

A design file can contain more than one Item Type Library and the names of the Item Types need only be unique within the library. It is possible to attach an Item of type X from library A to one OpenBridge Modeler (ProConrete or ProSteel) object and an item of type X from library B to another OpenBridge Modeler object in the same model.

To differentiate between the attached Item Types, the Item Type Library name is appended to the Item Type name, e.g.
ItemTypeName_ItemTypeLibraryName.

Both names are truncated at 27 characters.

Value Details

All Item values are published to the List & Label system as strings. The strings match what is shown in the PowerPlatform Properties dialog (or, if applicable, what was created by the Rebar labelling tool). A unit label is included when units are specified in the Item Type property definition.

Expressions

An expression is a text string that defines the syntax to be evaluated by the expression evaluator. The expression input can comprise of numbers, strings, access strings, symbols, and operators. Once you attach an item type with an expression defined, the corresponding value of the expression will display in the element's Properties dialog.

ProStructures Properties can be added to Item Types as expressions in the Item Type expressions dialog.

Accessed from:
Ribbon: Steel > Data Reporting > Item Types > Item Types dialog launcher

The following figure illustrates an example of "Rebar Properties - BarLength" Expression

Expression components

An expression is built up from left to right, using parentheses to explicitly call functions or group operations. Following are the components of an expression:
  • String - "Pipe"
  • Integer - 1
  • Double - 6.84
  • Symbol - you can use symbols to supply values to expression evaluators. Symbols can be from an instance via an access string, defined value, or an application defined method. Following are a few examples:
    • Instance - "ActiveFile.Author". An access string is a limited expression that contains no blank spaces, operators or variable portions.
    • Value - "System.Math.PI"
    • Method - "System.Math.Sin(1.57)"
  • Operators -
    • Comparison - <, >, <=, >=, =, and <>
    • Conditional If (conditional, true-result, false-result)
    • Arithmetic ^ (exponentiation), *, /, \, Mod, +, and -. The division operator "/" always produces a result of type double. The division operator "\" always produces an integer result.

Expression

In the Expression this.GetElement().BarLength, this.GetElement() is a syntax to fetch element property and the BarLength is a particular property being fetched.

Use last Valid Value

If set to True, will display the previous value for the property in the Properties dialog. If set to False, will display the current value.

Failure Value

In this field you can type in the value that will be displayed in the item's properties if the expression fails to execute. You can type in the desired failure value in the Failure Value field in the Expression section of Item Types dialog.

For more Expression Types and Syntax Examples refer the following Expression Types and Syntax Examples

The following figure illustrates an example of "ProStructures Item Types - Free Description" Expression

Expression

In the Expression this.GetElement().FreeDescription, this.GetElement() is a syntax to fetch element property and the FreeDescription is a particular property being fetched.

Use last Valid Value

If set to True, will display the previous value for the property in the Properties dialog. If set to False, will display the current value.

Failure Value

In this field you can type in the value that will be displayed in the item's properties if the expression fails to execute. You can type in the desired failure value in the Failure Value field in the Expression section of Item Types dialog.

Refer the following for more about Expressions