IGDS 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 |
106, Polygon collection | igds_polygon_collection |
107, Non-geometric collection | igds_nongeom_collection |
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 |
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_data prefix | Version 8 |
A binary encoded string value for the bytes prefixing the core data of an XFM item for an element. This is application-specific and may by used to construct XFM data for an element when writing. However, it may be calculated when writing if not supplied. Range: A valid context-specific variable length binary encoded string Default: No default |
igds_xfm_name | Version 8 |
This attribute is used when reading an XFM feature element or XFM reference element. It indicates the name of the XFM feature. This attribute is used when writing elements which have XFM information. Then this attribute indicates the name of that element. Default: No default |
igds_xfm_parent_uuid | Version 8, XFM Select Series 1 version |
A Universally Unique Identifier (UUID) for this XFM feature element, acting as an identifier for a reference to hierarchical parent XFM data. When writing, this attribute is required create an XFM UUID specific data. Range: Any UUID value in string format Default: No default |
igds_xfm_ref_elem_id | Version 8, XFM Select Series 3 version |
The identifier of an element for referencing XFM data. Range: Any positive integer Default: No default |
igds_xfm_root_uuid | Version 8, XFM Select Series 1 version |
A Universally Unique Identifier (UUID) for this XFM feature element, acting as an identifier for a reference to hierarchical root XFM data. When writing, this attribute is required create an XFM UUID specific data. Range: Any UUID value in string format Default: No default |
igds_xfm_url | Version 8, XFM Select Series 3 version |
The UNICODE (UTF-16) encoded string for an XFM feature URL fragment. This is typically found on an XFM reference feature. However, it may appear on other features that contain XFM data. Range: Any valid URL String. Default: No default |
igds_xfm_uuid | Version 8 |
A Universally Unique Identifier (UUID) for this XFM feature element, acting as an identifier for referencing XFM data. When writing, this attribute is required create an XFM UUID specific data. Range: Any UUID value in string format Default: No default |
igds_xfm_xml | Version 8, XFM Select Series 3 version |
The UNICODE (UTF-16) encoded string for an XFM feature XML fragment. This is typically found on an XFM reference feature. However, it may appear on other features to indicate that they contain XFM data. See igds_xfm_name above for feature naming in this case. Range: Any valid XML String, though for writing, it should match an XFM project schema. Default: No default |
igds_xfmstore_url | Version 8, XFM Select Series 1 version |
The UNICODE (UTF-16) encoded string for an XFM feature URL fragment. This is typically found on an XFM reference feature. However, it may appear on other features to indicate that they contain XFM data. Range: Any valid URL String. Default: No default |
igds_xfmstore_xml | Version 8, XFM Select Series 1 version |
The UNICODE (UTF-16) encoded string for an XFM feature XML fragment. This is typically found on an XFM reference feature. However, it may appear on other features to indicate that they contain XFM data. In this case, the DGN V8 Writer automatically creates XFM data including any related XFM reference element. See igds_xfm_name above for feature naming in this case. Range: Any valid XML String, though for writing, it should match an XFM project schema. 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
- XAttribute Attributes
- Attribute Lists – XFM Linkages
- Attribute Lists – XFM XAttributes