Multi-text Strings
igds_type: igds_multi_text
Multi-text string features correspond to an IGDS text node (element type 7) grouping together a series of IGDS text elements (element type 17), each of which have their complex bit turned on. This feature uses the same attribute names as a text node, plus it has a feature attribute list of text string attributes. The list is called igds_text_elements{#}
, where # starts at 0 and increments for each text element. The list’s item names are identical to the text string features attributes.
Tip: Tip: Multi-text strings can be used to group together text so that it will be manipulated as a single entity with MicroStation.
Multi-text features are point features, and only have a single coordinate. This coordinate is used when the text node is created. If the feature had no coordinates of its own, the text node is created with the coordinates of the first text string. The coordinates for each of the text strings are stored in the FME feature using the following attribute names.
Attribute Name |
Contents |
igds_text_elements{#}.x |
The x coordinate of the #th text element. Range: Any real number Default: No Default Reprojectable: Yes |
igds_text_elements{#}.y |
The y coordinate of the # th text element. Range: Any real number Default: No Default Reprojectable: Yes |
igds_text_elements{#}.z |
The z coordinate of the # th text element. Range: Any real number Default: 0 Reprojectable: Yes |
igds_number_of_strings |
The number of text elements in the multi-text feature |
igds_split_multitext |
Is added to the feature with the value “yes” if splitting multi-text. Default: No Default |
If a setting for a particular text element is not present in the igds_text_elements list, then the setting specified for the previous text element will be used. If the first element does not have some settings specified, then the corresponding settings will be borrowed from the text node.
Tip: Tip: When a multi-text string feature is reprojected, its rotation and text size are also automatically adjusted to be correct in the new coordinate system.
For example, the FME feature specified by the below partial transfer specification would create a text node, followed by two text strings, as a single complex element.
IGDS 32 igds_type igds_multi_text \ igds_node_number 15 \ igds_font 31 \ igds_rotation 0 \ igds_text_size 40 \ igds_color 2 \ igds_justification 1 \ igds_text_elements{0}.igds_font 33 \ igds_text_elements{0}.igds_rotation 3.1 \ igds_text_elements{0}.igds_text_size 52 \ igds_text_elements{0}.igds_color 4 \ igds_text_elements{0}.igds_text_string Hello \ igds_text_elements{0}.x 477556 \ igds_text_elements{0}.y 5360183 \ igds_text_elements{0}.z 20 \ igds_text_elements{1}.igds_text_string World \ igds_text_elements{1}.x 47755 \ igds_text_elements{1}.y 5359177 \ igds_text_elements{1}.z 20
Note that in this example, the justification code (1) used for the text node would be propagated to each of the text elements, but that the color used in the text node (2) would not be used in any of the text elements because the first one set the color to 4.
The in-memory snapshot of the FME feature created by the IGDS writer from this transfer specification is shown below.
Feature Type: 32 |
||
Attribute Name |
Value |
|
|
igds_type |
igds_multi_text |
|
igds_node_number |
15 |
|
igds_font |
31 |
|
igds_weight |
1 |
|
igds_text_size |
40 |
|
igds_color |
2 |
|
igds_rotation |
0 |
|
igds_justification |
1 |
|
igds_text_elements{0}.igds_text_string |
Hello |
|
igds_text_elements{0}.igds_font |
33 |
|
igds_text_elements{0}.igds_rotation |
3.1 |
|
igds_text_elements{0}.igds_justification |
1 |
|
igds_text_elements{0}.igds_text_size |
52 |
|
igds_text_elements{0}.x |
477556 |
|
igds_text_elements{0}.y |
536018 |
|
igds_text_elements{0}.z |
20 |
|
igds_text_elements{1}.igds_text_string |
World |
|
igds_text_elements{1}.igds_font |
33 |
|
igds_text_elements{1}.igds_rotation |
3.1 |
|
igds_text_elements{1}.igds_justification |
1 |
|
igds_text_elements{1}.igds_text_size |
52 |
|
igds_text_elements{1}.x |
477556 |
|
igds_text_elements{1}.y |
5359177 |
|
igds_text_elements{1}.z |
20 |
|
Coordinates: (477553,5360181,20) |