XFM allows a feature to have the contents of its annotation
text determined by the value of properties stored in the feature for improved
accuracy. For example, a cast iron pipe with diameter of 200 mm would have
annotation that reads, CI – 200. If either attribute changes, the annotation on
the pipe also changes.
XFM generates annotation text from the feature’s properties
using either XSLT, VBScript, or simple expressions.
Annotation Type
|
Description
|
expression
|
Expressions are simple strings where bracketed
property names are replaced with values from the feature.
When replacing domain list values, the value
from the Value column is used for the PBA text. If the value from the Edit
column is required then use the
XFM_noFormat; option.
Example using the Tree feature from geo_example
PBA: [TypeCode] - [TypeCode|XFM_noFormat;]
Produces
|
PBA (Origin X)
|
For cell feature, annotation text is the cell
geometry origin.x value formatted with active coordinate readout settings. See
the note below.
|
PBA (Origin Y)
|
For cell feature, annotation text is the cell
geometry origin.y value formatted with active coordinate readout settings. See
the note below.
|
PBA (Origin Z)
|
For cell or text features, annotation text is the
origin.z value formatted with active coordinate readout settings. See the note
below.
|
PBA SQL
|
SELECT statement with a single-row result.
Annotation text is formatted with one column value per text line. Any
expressions in square brackets are replaced before the SELECT statement is
executed. For example:
SELECT * FROM TransformerManufacturerTypes WHERE MaterialTypeId=[ManufacturerId]
|
XSLT
|
XSLT is a standard language used to transform
or format XML data. XML data for the feature and the XSLT file specified in the
Value column are passed to the Microsoft XML processing engine, MSXML. The XSLT
files should be located in the
xml\xslt subdirectory for the active
workspace.
|
VBScript
|
The Microsoft IScript control is used to
process the script text found in the Value column. XFM preprocesses the script
so the current feature's property values are substituted for all bracketed
property names. The script should contain a function that returns a string
value.
|
Note: These options appear
blank in the symbology grid, however at the bottom of the PBA details will show
the PBA type.
Note: The PBA SQL entry should only be used with a MicroStation database
connection (not Spatial).
- A common way to include
line breaks in the generated annotation text is to add the string
"\010" at the position desired for the line break.
MicroStation's standard text processing will
automatically replace
"\010" with linefeed characters causing a text node
to be generated.
- To specify a literal square
bracket in an expression, use the XFM specifier
XFM_lbkt; for a left square bracket ( [ ) or
XFM_rbkt; for a right square bracket ( ] ).
For example:
XFM_lbkt;[Occupant] : [Type]XFM_rbkt;
is evaluated to:
[John Doe : Private]