Feature Representation
In addition to the generic FME feature attributes that FME Workbench adds to all features (see About Feature Attributes), this format adds the format-specific attributes described in this section.
Special FME feature attributes are used to hold IGDS element parameters. The IGDS writer will use these attribute values as it fills in an element structure during output. The IGDS reader will set these attributes in the FME feature it creates for each element it reads.
The following table maps the IGDS element type number to its corresponding FME feature igds_type
attribute value that is used by the IGDS reader and writer.
IGDS Element Type |
FME igds_type |
---|---|
2, Cell header |
igds_cell |
3, Line 4, Line string 12, Complex string |
igds_point |
3, Line 4, Line string 11, Curve 12, Complex string 27, B-Spline curve 33, Dimension 36, Multi-line |
igds_line |
6, Shape 14, Complex shape |
igds_shape |
7, Text node |
igds_text_node |
11, Curve 12, Complex string |
igds_curve |
12, Complex string |
igds_complex_string |
14, Complex shape |
igds_complex_shape |
15, Ellipse |
igds_ellipse |
16, Arc |
igds_arc |
17, Text 37, Tag attribute |
igds_text |
7, Text node 17, Text |
igds_multi_text |
2, Cell header |
igds_solid |
35, Shared cell header |
igds_shared_cell |
19, Solid (V8 only) 23, Cone |
igds_3d_solid |
100, Reference attachment (V8 only) | igds_xref |
39, DgnStore header (V8 only) | igds_xfmstore |
FME considers the IGDS level to be the FME feature type of an IGDS feature. Each IGDS element, regardless of its geometry type, shares a number of other parameters, as described in the following table.
When writing elements, igds_type
has precedence over the igds_element_type
, unless there is more than one element type for a given type. For example, for igds_line
the igds_element_type
can be used to force the element to be a type 4 line element, even if there are only 2 vertices on the line (that is, it should really be a type 3 element).
Attribute Name |
Version Information |
Contents |
---|---|---|
igds_basename |
The base filename (without extension) of the design file the elements were read from. This attribute is ignored by the writer. Range: ASCII filename |
|
igds_color |
The element’s color setting. This is the element’s color index into the color table stored in the design file. This attribute will be overridden by the igds_symbology value. Range: 0..255 Default 0 |
|
igds_color.red Reader only |
The element’s red color intensity, as determined by looking up the element’s color index in the color table. Range: 0..255 |
|
igds_color.green Reader only |
The element’s green color intensity, as determined by looking up the element’s color index in the color table. Range: 0..255 |
|
igds_color.blue Reader only |
The element’s blue color intensity, as determined by looking up the element’s color index in the color table. Range: 0..255 |
|
igds_color_set_bylevel |
Version 8 |
Set to yes if the element’s color is set by level; otherwise it is set to no. If it is set to yes, the writer sets the element’s property to pick the color from the level it is on. Range: yes/no Default: No default |
igds_class |
The element’s class. Sample values: PRIMARY = 0 COMPONENT = 1 CONSTRUCTION = 2 DIMENSION = 3 PRIMARY_RULE = 4 LINEAR_PATTERNED = 5 CONSTRUCTION_RULE = 6 Range: 0..15 Default 0 |
|
igds_element_type |
The numeric Design file element type code of the element. When writing to a Design file, the igds_type field overrides this attribute. This attribute will be overridden by the igds_type value. Range: See the Overview section. Default: No default |
|
igds_graphic_group |
The element’s graphic group number. Range: 0..65535 Default 0 Tip: By using a common value for graphic group value, several otherwise separate elements may be tied together into a logical super-element for later processing by application programs. |
|
igds_hole Writer only |
If present, it sets the “hole” bit on the element it is creating. Range: string Default No default |
|
igds_level |
There is no upper limit on levels for Version 8 DGN files. |
The IGDS level of the feature. The value of this attribute is the same as the feature type. The Writer will use the value of this attribute if the feature's type cannot be converted into a valid IGDS level. When writing, this will assign the created element to the specified level. Levels found in the seed file are preferred. For cells, which are defined in a cell library, this does not change the level to which the cell member elements are assigned. For more information, see Writing Levels in V8 (DEF Line Parameters). Range: 0..64 Default No default |
igds_level_comment Reader only |
The comment associated with the level from which the element originated. Range: String Default: No default |
|
igds_level_group_id Reader only |
Does not exist for Version 8 DGN files. |
The group identification of the level from which the element originated. Range: String Default No default |
igds_level_name |
For writing to Version 8 DGN files only, this may be used instead of the feature_type to set the level name. |
During reading this represents the name of the level from which the element originated. For V8 writing, if the igds_level is not set or found in the seed file, this will be used to try to match a level in the seed file. For more information, see Writing Levels in V8 (DEF Line Parameters). Range: String Default No default |
igds_snappable |
The element’s snappability. Range: yes or no Default yes |
|
igds_style |
For Version 8 DGN files: If this value is negative, it represents a custom line style. |
The element’s line style. This attribute will be overridden by the igds_symbology value. Range: 0..7, negative integers Default 0 |
igds_style_set_bylevel |
Version 8 |
Set to yes if the element’s style is set by level; otherwise it is set to no. If it is set to yes, the writer sets the element’s property to pick the style from the level it is on. Range: yes/no Default: No default |
igds_style_name |
Version 8 This value may be used by the writer to check that the (custom) line style definition found in the seed file for the style is the intended line style. |
The name of the element's line style. This attribute is used by the reader to provide the name of the style used in the igds_style attribute. Range: String Default: No default |
igds_symbology |
A single integer encoding the element’s style, weight, and color according to this formula: symbology = style + 8*weight + 256 * color This attribute will override the individual settings for style, style name, weight, and type if it is specified. Range: 0..65536 Default None |
|
igds_transparency | Version 8 |
Represents the transparency or opacity of an element, where a value of 0.0 is fully opaque, and a value of 1.0 is fully transparent. Used for both reading and writing elements. Range: 0.0..1.0 Default: 0.0 |
igds_type |
The FME name for the type of element this feature represents. Range: See the table in the Overview subsection. Default No default |
|
igds_weight |
The element’s line weight. This attribute will be overridden by the igds_symbology value. Range: 0..31 Default 0 |
|
igds_weight_set_bylevel Reader only |
Version 8 |
Set to yes if the element’s weight is set by level; otherwise it is set to no. If it is set to yes, the writer sets the element’s property to pick the weight from the level it is on. Range: yes/no Default: No default |
igds_xlow |
The element's minimum X value in ground units. The value of this attribute is ignored when writing. Range: Any Number |
|
igds_xhigh |
The element's maximum X value in ground units. The value of this attribute is ignored when writing. Range: Any Number |
|
igds_ylow |
The element's minimum Y value in ground units. The value of this attribute is ignored when writing. Range: Any Number |
|
igds_yhigh |
The element's maximum Y value in ground units. The value of this attribute is ignored when writing. Range: Any Number |
|
igds_zlow |
The element's minimum Z (elevation) value in ground units. The value of this attribute is ignored when writing 3D files to V7, and is ignored when writing to V8. Range: Any Number Default No default |
|
igds_zlow_uor |
The value of this attribute is ignored when writing 3D files to V7, and is ignored when writing to V8. |
The element's minimum Z (elevation) value in UORs. The value of this attribute takes precedence over igds_zlow when the feature is written. Range: Any Number Default No default |
igds_zhigh |
The element's maximum Z (elevation) value in ground units. The value of this attribute is ignored when writing 3D files to V7, and is ignored when writing to V8. Range: Any Number Default No default |
|
igds_zhigh_uor |
The value of this attribute is ignored when writing 3D files to V7, and is ignored when writing to V8. |
The element's maximum Z (elevation) value in UORs. The value of this attribute takes precedence over igds_zhigh when the feature is written. Range: Any Number Default No default |
igds_custom_linestyle |
Version 7 |
If an element has a custom line style, then this attribute will contain the name of the custom line style. It does not appear as part of the attributes of the element in case it does not have any custom line styles defined for it. Range: String Default No default |
igds_custom_linestyle_rbit |
Version 7 |
This is used to write the custom line styles. This value sets the rbit of the user linkage. Range: 0 or 1 Default 0 |
igds_custom_linestyle_mbit |
Version 7 |
This is used to write the custom line styles. This value sets the mbit of the user linkage. Range: 0 or 1 Default 0 |
igds_custom_linestyle_ibit |
Version 7 |
This is used to write the custom line styles. This value sets the ibit of the user linkage. Range: 0 or 1 Default 0 |
igds_custom_linestyle_class | Version 7 |
This is used to write the custom line styles. This value sets the class of the user linkage. Range: 0 or 1 Default 0 |
igds_custom_linestyle_flags | Version 8 |
If an element has a custom line style, this attribute will contain the flags portion of the header for the custom line style linkage. It always appears when reading, but is optional when writing. Range: 0..255 Default 16 (basic user linkage) |
igds_custom_linestyle_scale | Version 8 |
If an element has a custom line style, this attribute will contain the scale factor which is applied to the line style, if it exists. Range: Any positive number Default 1.0 |
igds_custom_linestyle_start_width | Version 8 |
If an element has a custom line style, this attribute will contain the starting width of the line style in master units, if it exists. Range: Any positive number Default 0.0 |
igds_custom_linestyle_end_width | Version 8 |
If an element has a custom line style, this attribute will contain the ending width of the line style in master units, if it exists. Range: Any positive number Default 0.0 |
igds_custom_linestyle_distance_shift | Version 8 |
If an element has a custom line style, this attribute will contain the shift of a line style from the start of an element as a distance in master units, if such a shift exists. This is mutually exclusive with igds_custom_linestyle_fraction_shift and igds_custom_linestyle_center_shift. Range: Any positive number Default 0.0 |
igds_custom_linestyle_fraction_shift | Version 8 |
If an element has a custom line style, this attribute will contain the shift of a line style from the start of an element as a fraction of the element, if such a shift exists. This is mutually exclusive with igds_custom_linestyle_distance_shift and igds_custom_linestyle_center_shift. Range: Any positive number Default 0.0 |
igds_custom_linestyle_center_shift | Version 8 |
If an element has a custom line style, this attribute will contain YES if the line style will be centered for an element, if such a shift exists. This is mutually exclusive with igds_custom_linestyle_distance_shift and igds_custom_linestyle_fraction_shift. Range: YES or NO Default No default |
igds_custom_linestyle_rotation | Version 8 |
If an element has a custom line style, this attribute will contain the counter-clockwise rotation angle of the line style for the element, if such a rotation exists. Range: Any positive number Default 0.0 |
igds_element_byteoffset |
This is used to tell the position of the element. Range: Any Number Default No default |
|
igds_model_name |
Version 8 |
The name of the model to which the feature belongs. Range: String Default No default |
igds_model_id |
Version 8 |
The ID of the model to which the feature belongs. When writing, this indicates the model (taken from the seed file) to which a feature will be written. Range: Any positive integer Default No default |
igds_element_new |
The NEW property of the element. Range: YES or NO Default No default |
|
igds_element_priority | Version 8 |
The property of an element which is used to determine draw order in design files. Primarily for 2D elements, but may be useful for 3D elements with matching Z values. Range: -500 .. 500 Default: 0 |
igds_element_modified |
The MODIFIED property of the element. Range: YES or NO Default No default |
|
igds_date_last_modified Reader only |
Version 8 |
Stores the date the element of last modified in the format YYYYMMDD hh:mm:ssAM/PM. Default No default |
igds_element_locked |
The LOCKED property of the element. Range: YES or NO Default: No default |
|
igds_element_id |
Version 8 |
The unique ID of each element in a DGN file. Range: Any positive integer Default No default |
mslink_x |
Value of mslink key of the corresponding linkage, where x is the index into the set of linkages which have an mslink key. Only some linkages, such as database and dmrs linkages, have an mslink key. Thus it may not exist at all for linkage lists which only have other types. When mslink keys do exist, x is an index value for the sequential ordered set of any such linkages, where the index starts at 0. For example: Linkage list:
Related attributes:
Default No default |
|
entity_num_x |
Value of entity_number of the corresponding linkage where x is the index into the set of linkages which have an mslink key. Entity numbers parallel the existence of mslink keys.Only some linkages, such as database and dmrs linkages, have an mslink key. Thus it may not exist at all for linkage lists which only have other types. When mslink keys do exist, x is an index value for the sequential ordered set of any such linkages, where the index starts at 0. See mslink_x for an example. Default No default |
|
link_type_x |
Value of link type of the corresponding linkage, where x is the index into the set of linkages which have an mslink key. Though every linkage has a type, link type parallels the existence of mslink keys. Only some linkages, such as database and dmrs linkages, have an mslink key. Thus it may not exist at all for linkage lists which only have other types. When mslink keys do exist, x is an index value for the sequential ordered set of any such linkages, where the index starts at 0. See mslink_x for an example. Default No default |
|
igds_element_association_id |
The tags store this ID as the element ID it is attached to. |
|
igds_z_value |
This attribute is for the writer only and should be used only when 3D is intended to be forced. (IGDS only) Default 0 |
|
igds_chain_number |
If SPLIT_COMPLEX_CHAINS is YES, then FME adds the attribute igds_chain_number which is added to each element of a chain split. Default No default |
|
igds_deleted |
When reading, this attribute is set to yes only when the element read was a deleted element. (IGDS only) Default No default |
|
igds_element_visibility |
Version 8 |
When reading, this attribute has the value yes if the level the element is on has its display property set to on; otherwise, the value is no. Default: No default |
igds_level_freeze | Version 8 |
When reading, this attribute has the value yes if the level the element is on has its freeze property set to on. Default: No default |
igds_level_lock | Version 8 |
When reading, this attribute has the value yes if the level the element is on has its lock property set to on. Default: No default |
igds_element_view_independent |
Version 8 |
When reading, this attribute has the value yes if the element is view-independent, and the element type supports being view-independent. Otherwise, the value is no. When writing, those elements which support being view-independent will be set to be view-independent, unless this attribute exists and is set to a value of no. Other values for this attribute, such as yes will do nothing for elements which do not support being view-independent. Default: yes |
igds_is_graphic_cell_relative |
Note: This attribute is for graphic cells only. It is ignored for point cells and shared cells. If this attribute is set to Yes, then the graphic cell is written as relative graphic cell. This means that the cell member with the lowest level number will be put on the current (feature's) level. All the subsequent ones are offset accordingly. For example, if a cell had members on level 4, 6 and 7 respectively and we are writing this cell feature on level 2, then the member with level 4 gets written on level 2. The members with level 6 and 7 are written on level 4 and 5, respectively. This also applies to members of nested cells. Note that all the offset levels should be provided in the seed file, otherwise the cell would be skipped. Note: When writing to Version 8 DGN files only, if the igds_level is not supplied, the level name will be used to look up the level number in the seed file. Default:No |
|
igds_xfm_name | Version 8 |
This attribute is used when reading an element with an igds_type of igds_xfmstore. It indicates the name of the XFM feature. This attribute is used when writing elements which have XFM information, and for which a new igds_xfmstore element needs to be created. Then this attribute indicates the name of that element. Default None |
igds_xfmstore_xml | Version 8 |
The UNICODE (UTF-16) encoded string for an XFM feature store XML fragment. This is typically found on a igds_xfmstore feature. However, it may be put on other features to indicate that they contain XFM data. In this case, the DGN V8 Writer automatically creates XFM data including a related XFM feature store element. See igds_xfm_name above for feature naming in this case. Range: Any valid XML String Default No default |
The following topics describe parameters specific to each of the supported element types:
- Attribute Lists – all linkages
- Example
- Attribute Lists – string linkage
- Attribute Lists – user linkage
- User linkages with a userId of 2570, 22244, 32000, 32001, or 39030 (Extended entity data linkage)
- Attribute Lists – dbase, odbc, oracle, ris, dmrs, informix linkages
- Attribute Lists – framme linkage
- Attribute Lists – incosada linkage
- Custom Line Styles
- Attribute Lists – XFM Linkages