Linear Dimensions
FME 2013 introduces the ability to write dimension features to Microstation v8.
To create linear dimension features in Microstation v8 requires writing an aggregate feature having the following attributes. The aggregate must contain one feature with line geometry, but the dimension geometry will be based on the attribute values. Required attributes
Microstation infrastructureigds_element_type - 33
igds_dim_type - 1
Dimension reference pointsigds_dim_refx{0}.pt.x - first reference point x
igds_dim_refx{0}.pt.y - first reference point y
igds_dim_refx{0}.pt.z - first reference point z
igds_dim_refx{1}.pt.x - second reference point x
igds_dim_refx{1}.pt.y - second reference point y
igds_dim_refx{1}.pt.z - second reference point z
Dimension lineigds_dim_refx{0}.base_offset - dimension line offset from reference points (+ is up)
igds_dim_refx{1}.base_offset - text offset along dimension line (+ is right)
igds_base_to_text_dist - text vertical offset from dimension line (+ is up)
Dimension textigds_dim_text_height - dimension text height
igds_dim_text_width - dimension text width
igds_dimstyle_postfix_symbol - symbol after text
igds_dimstyle_prefix_symbol - symbol before text
Pre/Postfix Symbols
0: None
1: Ǿ
2: R
3: □
4: SR
5: SǾ
6: None
7: None
Dimension terminatorigds_arrow_width - terminator arrow width
igds_arrow_height - terminator arrow width
igds_dimstyle_left_term - left terminator style
igds_dimstyle_right_term - right terminator style
Terminators
0: None
1: Arrow
2: Slash
3: Large Circle
4: Small Circle
5: Arrow
6: None
7: None
Dimension rotationThe dimension rotation is defined in quaternions, which allows full 3D rotations. For simple 2D rotation around the Z axis, you can use the following settings (rotation is in radians):
If rotation is between π radians (180 degrees) and -π radians (-180 degrees), sign = 1, otherwise sign = -1
igds_quat.w = abs(cos(rotation/2))
igds_quat.x = 0
igds_quat.y = 0
igds_quat.z = sin(rotation/2) * sign
OtherThese two attributes are necessary to create the dimension, but don't seem to affect its appearance.
igds_dim_refx{0}.base_offset_y - 0
igds_dim_refx{1}.base_offset_y - 0
igds_dim_refx{0}.segment_text_offset - 0
igds_dim_refx{1}.segment_text_offset - 0