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)