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
theProStructures 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
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
ProStructures (ProConrete or
ProSteel) object and an item of type X from library B to another
ProStructures 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
MicroStation
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:
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