You are here: Popular Formats > Bentley MicroStation Design Reader/Writer > Feature Representation

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:

  • igds_linkage{0}.entity_number 4
  • igds_linkage{0}.key 1001
  • igds_linkage{0}.type dbase
  • igds_linkage{1}.flags 16
  • igds_linkage{1}.string TREE
  • igds_linkage{1}.string_id 1
  • igds_linkage{0}.type dbase
  • igds_linkage{0}.entity_number 5
  • igds_linkage{0}.key 1002
  • igds_linkage{0}.type dbase

Related attributes:

  • entity_num_0 4
  • entity_num_1 5
  • mslink_0 1001
  • mslink_1 1002
  • link_type_0 dbase
  • link_type_1 dbase

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 Linkages

Arcs

Cells

Cells (Shared)

Complex Shapes/Strings

Curves

BSpline Curves

External Reference Files

Multilines

Dimensions

Ellipses

Lines

Points

Shapes

Solids

3D Solids

Tags

Multi-text Strings

Text Nodes

Text Strings

XFM Feature Stores