You are here: FME Readers and Writers > Bentley MicroStation Design Reader/Writer

Bentley MicroStation Design Reader/Writer

The Bentley® MicroStation Design Reader/Writer allows FME to access files used by the MicroStation and Intergraph Interactive Graphics Design System (IGDS).

Intergraph made public the specification for this file format, which they call the Intergraph Standard File Format (ISFF)1Throughout this chapter, the terms IGDS file and Design file are used interchangeably to refer to the ISFF format.. This chapter assumes familiarity with this format.

Overview

Design files consist of a header, followed by a series of elements. The header contains global information including the transformation equation from design units to user coordinates, as well as the dimension of the elements in the file. Each element contains standard display information, such as its color, level, class, and style, as well as a number of attributes specific to its element type. For example, a text element has fields for font, size, and the text string in addition to the standard display attributes.

Tip: The IGDS reader and writer modules support both two- and three-dimensional Design files and cell libraries.

Individual design file elements must be less than a system-imposed maximum number of bytes. Complex elements solve this problem by physically grouping individual elements together into an object that will be manipulated as a whole. The FME transparently handles such complex elements as single FME features. This situation occurs when text elements are grouped together into a single complex element headed up by a text node, and when linear or polygonal features have more than 101 vertices (Microstation V7) or 5000 vertices (Microstation V8). Cells are complex elements used as symbols, and are treated as atomic entities by the FME.

Each IGDS file element may have one or more attribute linkages associated with it. The IGDS reader and writer support both user data and database linkages. (Note that the DGN V8 reader supports the interpretation of FRAMME linkages, but the writer does not.) The linkage values may be used to join elements with attributes stored in relational tables through the use of the Joiner or FeatureMerger Workbench transformers. Linkages may also be used to specify fill information for fillable IGDS area geometries such as Shape elements, and other application-specific data. (Note, however, that the igds_fill_color attribute will override any solid fill color linkage specification if both are present.)

Because Design files support three interpretations of units, the IGDS reader and writer must be told how to interpret the feature coordinate units and how they will be converted to and from Units of Resolution (UORs). The feature coordinate units may be interpreted as Master Units, SubUnits, or as raw UORs, depending on the setting of IGDS_UNITS in the mapping file. These units are all relative to working coordinates. See the DGN V8 ASSUME_MATCHING_UNITS Reader Directive for further details on DGN V8 reading.

In contrast, when writing to DGN V8 files, the writer ignores these settings from the mapping file and adopts the settings as read from the seed file chosen. This means that if you want to do something special with the working units, you have to do that in the V8 seed file.

The IGDS reader and writer use symbolic names for the IGDS element types rather than the IGDS numeric values. This greatly simplifies element type specification.

The following table maps the supported IGDS element types to their corresponding FME feature igds_type attribute value that is used by the IGDS reader and writer. Subsequent subsections describe the handling of each of these element types in detail.

Note: Some element types may map to multiple igds_type values, depending on their form or simplicity. For example, a Line may map to an igds_point if it contains only one unique point.

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

Design files can store custom data as elements and linkage attributes. One such case is the XML-based Feature Modeling (XFM) data associated with the Bentley Map application. The XFM data in design files represent an instance of XFM feature and property information as a part of a Bentley Map project. The Bentley Map project defines a schema for XFM features, and the properties of those features, as well as the domains for those properties among other things. The DGN V8 Reader/Writer has been enhanced to support reading and writing of XFM data stored in Design files. Care should be taken that transformation of XFM data does not violate the overall coherency with the Bentley Map project.

Note that XFM features handled by the DGN V8 Reader/Writer represent a normalized form of XFM features. See the Bentley Map XFM Design format for an alternative object representation.

Workspace Reader Dataset

The value for the Reader Dataset is the file name of the IGDS file to be read. For example:

/usr/data/dgn/92b034.dgn

Workspace Writer Dataset

The value for the Writer Dataset is the file name of the output IGDS file.

Format Resources

Design File Quick Facts

Bentley MicroStation Design (V7) Reader Parameters

Bentley MicroStation Design (V7) Writer Parameters

Bentley MicroStation Design (V8) Reader Parameters

Bentley MicroStation Design (V8) Writer Parameters

Feature Representation