!
!  EdG Help file
!
!    $Header:   I:/mgds/utils/edg/edghelp.txv   6.5   Nov 01 1995 14:01:44   DaveRahnis  $
!
! The variable EDG_HELPLIB should be defined to point to the 
! edghelp.hlp file.  Please note that this is a full file specification 
! and not a partial path to the file.
!
!    examples:
!
!	PC	set EDG_HELPLIB=\ustation\edg\edghelp.hlp
!	UNIX	export EDG_HELPLIB=/usr/ip32/ustation/edg/edghelp.hlp
!	Mac	not-needed
!
! The MAC and PC do not require the EDG_HELPLIB environment variable
! as long as the edghelp.hlp file is in the same directory with the
! EdG application.
!
!
! Check the "release-notes" topic in HELP for information on changes to
! this version.
!
! Check the "release-notes differences" if you are an user of either 
! an earlier version of MicroStation/EDG or VAX/EDG.
!
!===
!
! Even though this file is primarily designed as a help file it can be
! used as a working document for EdG.
!
!=======================================================================
!  Help Instructuctions
!=======================================================================
#1 getting_started

EdG is a product, that offers many features to aid the user.  These 
features include:

*  An element sequence numbering system that allows the user to refer to 
elements in a manner similar to text editors.
*  A wide range of element display formats.
*  The ability to set up default element search criteria.
*  Commands to modify, delete, or even undelete elements.
*  Command files, which let you specify editing sequences or 
characteristics.
*  The ability to accumulate statistics about elements.
*  Generation of new files from the existing file.
*  A journaling capability to save the output of the session.
*  The capability of fixing files without needing to know the details of 
MicroStation or IGDS elements or file formats.


#2 sequence-numbers

EdG assigns element "sequence" numbers to each element in the design file.  
All elements are assigned sequential numbers, regardless of status, search 
criteria, etc..  These numbers may range anywhere from 1 to about 16-
million.  EdG numbers the elements, starting with 1, in increments of 1.

The sequence numbers are displayed on the far left side of the listing.

Most EdG commands use sequence numbers or sequence ranges for the mechanism 
for identifying the elements to be processed.


#3 single-element-ranges

A single element range defines the element in the design file on which you 
want a command to operate.


#3 multiple-element-ranges

Multiple element ranges define sets of consecutive elements within the 
design file.


#2 display-formats

EdG displays information about files with the SHOW command and about 
elements with the SET DISPLAY command.


#3 show

The sub-commands available for the show command are:

	display		search
	files		size
	help		verify
	mode		versions


#3 set_display

The qualifiers available for the set display command are:

	/attribute		/pdata
	/brief			/position
	/data			/properties
	/dump			/radix
	/full			/range
	/graphic		/scale_size
	/header			/symbology
	/number_of		/text
	/orientation		/working_units
	/parameters

See SET DISPLAY for information about each qualifier.


#2 search-criteria

The default search criteria may be changed with the set search command.  
Valid qualifiers are:

	/all_elements		/level
	/cellname		/linkage
	/characters		/nest
	/class			/p_bits
	/color			/status
	/element		/style
	/expand			/type
	/font			/weight
	/group

See SET SEARCH for information about each qualifier.


#2 modification-commands

Elements may be modified in two ways using the modify command.


#3 keyword

When modifying elements by keyword any of the following qualifiers may be 
specified:

	characters		style
	class			weight
	color			
	element			xhigh
	font			xlow
	group			yhigh
	level			ylow
	p_bits			zhigh
	status			zlow

See MODIFY for information about each qualifier.


#3 offset

When modifying elements by offset the word to be modified within the 
element's description is specified in the MODIFY ELEMENT( ) command.  For 
example,

	MODIFY ELEMENT(15)=0

would modify word 15 (graphic group number) of the current element.


#2 command_files

EdG has the capability of executing commands from external command  files.  
When EdG is first invoked, the user's directory is searched for a file 
named EDGINI.EDG which is treated as a startup command  file.  Commands may 
also be executed from command files by typing the name of the command file 
preceded by the @ symbol.


#2 file-statistics

Statistics about design file or cell libraries may be generated and 
displayed using the following command:

	SET SEARCH/whatever
	SUMMARY WHOLE
	SHOW SIZE

For more information, see SUMMARY



#1 Hints

Type the name of one of the categories listed below to obtain a list of 
related commands and topics.  To obtain detailed information on a topic, 
press the RETURN key until you reach the "Topic?" prompt and then type the 
name of the topic.

Topics that appear in all upper case are EdG commands or EdG keywords.


#2 Display-commands

TYPE
BRIEF
FULL
TOP
return (null)


#2 Modification-commands

DELETE
UNDELETE
MODIFY


#2 Files-usage

BACKUP
EDG
OPEN
WRITE
CLOSE
EXIT


#2 Setting-defaults

SET
SHOW


#2 Analysis-and-repair

DEMARCATE
UNDEMARCATE
EVALUATE
PATCH
REPAIR
SUMMARY
VERIFY



#1 instructions

Invoking the HELP command
-------------------------

The HELP command displays information about requested EdG topics. From the 
"EdG>" prompt you can display a list of topics for which help information 
is available by typing HELP and pressing the RETURN key.  EdG responds by 
displaying a brief description of how to use HELP, followed by a list of 
topics for which help is available, followed by the prompt "Topic?".

You can exit from the HELP command by typing a break sequence in response 
to any prompt.  The break sequence is slightly different on different 
systems:  DOS - N/A (must press return one or more times), Mac - COMMAND-
PERIOD, Unix - CTRL/C.


Specifying topic names
----------------------

To display information on a particular topic, respond to the prompt by 
typing the name of the topic and pressing the RETURN key.  You may 
abbreviate any topic name, although ambiguous abbreviations result in all 
matches being displayed.

If you are not sure of the name of the topic for which you need help, type 
the name HINTS.

To display information on all available topics, type an asterisk (*).

You can specify percent signs (%) and asterisks (*) in the keyword as wild 
card (i.e., match all) characters.  Abbreviations result in all matches 
being displayed.


Subtopic information
--------------------

The information displayed by HELP on a particular topic includes a 
description of the topic and a list of subtopics that further describe the 
topic.  To display subtopic information, type one of the subtopic names 
from the list in response to the "Subtopic?" prompt.  The general rules for 
specifying subtopics is the same as for entering topics (see above).


Special responses to prompts
----------------------------

If you press RETURN in response to the "Subtopic?" prompt instead of typing 
a subtopic name, the previous subtopics or the "Topic?" prompt reappears, 
enabling you to enter another topic name.  If you press RETURN in response 
to the "Topic?" prompt, you will exit from HELP.

You can enter a question mark (?) in response to any of the prompts to 
redisplay the most recently requested text and a list of topic or subtopic 
names.  For example, if you type ?  in response to the "Subtopic?" prompt, 
a list of subtopics is displayed followed by the "Subtopic?" prompt.


Help topic case conventions
---------------------------

The EdG help library maintains a convention concerning the help topics and 
their naming case.  All commands and keywords are listed in all upper-case 
and informational topics are listed in all lower-case or the first letter 
capitalized followed by lower-case.


!
!=======================================================================
!  EdG sequence range
!=======================================================================
#1 sequence-ranges

Sequence range specifications are used on most commands to select the exact 
elements on which the command will operate.

There are two general classes of sequence ranges;

*  Single element ranges specify a single element.

*  Multiple element ranges specify blocks of elements, such as all 
elements from the current element to the end-of-design.

Please remember that the current search criteria affects which elements 
will be returned.

A sequence range specified without a command is an implied TYPE command.


#2 AFTER

The AFTER range is a multiple element range which specifies the elements 
following, but not including the current element.

This is equivalent to entering;

	CURRENT+1 THRU END


#2 BEFORE

The BEFORE range is a multiple element range which specifies the elements 
in the file preceding, but not including, the current element.

This is equivalent to entering;

	BEGIN THRU CURRENT-1


#2 BEGIN

The BEGIN range is a single element range which specifies the first element 
in the file.  This is equivalent to entering the number one (1).

TOP is an alias for BEGIN.


#2 CURRENT

The CURRENT range is a single element range which is the current element.


#2 dot

The dot (.) is a single element range which refers to the current element.  
For many commands, dot is the default range.  See the text for a command if 
you are unsure of the default.


#3 examples

	TYPE .

types the current element.


#2 END_OF_DESIGN

The END_OF_DESIGN range specifies the IGDS/MicroStation end-of-data marker 
in the design.  This range does NOT specify the last element in the file.

    format:

	END_OF_DESIGN


#2 FIRST

The FIRST_OCCURRENCE range specifies the first element in the file that 
meets the current search criteria.

    format:

	FIRST [number]

The optional number indicates the occurrence of the element.  The default 
is one (1).


#2 FOR

The FOR range is a multiple element range which selects a specified number 
of elements starting at a specified location.

    format:

	[range] FOR n
	[range] # n

The two forms are equivalent.  Range is a single element range which 
specifies the starting position, and n is an integer number.  If range is 
omitted, the current element is the starting position.


#3 examples

	TYPE  . FOR 5

type 5 elements, starting with the current element.

	TYPE # 5

equivalent to the previous example


#2 HEADER

The HEADER range is a single element range which identifies the complex 
element header if the current element is a component of a complex group.


#2 minus

The Minus sign in ranges specifies a single element which is a specified 
number of elements before the indicated element.

    format:

	range - n
	- [n]

Range is a single element range and n is an integer.  

If the "range - n" format is used the element selected is the element which 
is n elements before the element specified by range.  

If the "- n" format is used, it is equivalent to the "PREVIOUS n" format.

If n is omitted 1 is used.


#2 NEXT

The NEXT_OCCURRENCE range is a single element range which indicates the 
next element in the file that meets the current search criteria.

    format:

	NEXT [number]
	+ [number]

The optional number indicates the occurrence of the element.  The default 
is one.


#2 number

A sequence number is a single element range which refers to the element 
having the specified sequence number.


#3 examples

	TYPE 37

type element 37

	DELETE 52

delete element 52

If the element does not match the search criteria, no action takes place.


#2 OCCURRENCE

The OCCURRENCE range is equivalent to the FIRST_OCCURRENCE range.

    format:

	OCCURRENCE [number]

The optional number indicates the occurrence of the element.  The default 
is one (1).

(see also FIRST_OCCURRENCE)


#2 plus

The plus sign is used in ranges to select a single element which is a 
specified number of elements after the indicated element.

    format:

	range + [n]
	+ [n]

Range is a single element range and n is a number.  

For the "range + n" format the element selected is the element that is 'n' 
number of elements after range. 

For the "+ n" format this is equivalent to using the "NEXT n" sequence 
range.

If the number is omitted, one (1) is used.


#2 PREVIOUS

The PREVIOUS_OCCURRENCE range specifies the element prior to the current 
that matches the current search criteria.

    format:

	PREVIOUS [n]
	- [n]

The optional number indicates the occurrence of the element.  The default 
is one (1).


#2 REST

The REST range is a multiple element range which refers to the current 
element and all elements following in the design file.

This is equivalent to entering;

	CURRENT THRU END_OF_DESIGN


#2 THRU

The THRU range is a multi-element range which specifies all elements 
between two single element ranges.

    format:

	range_1 THRU range_2
	range_1  :  range_2

Both forms are equivalent.  Starting with range_1, EdG selects the 
elements up to and including the element specified by range_2.


#3 examples

	TYPE 5:30

type all elements starting with sequence number 5 through element 30.

	TYPE 50:END

type all elements starting with sequence number 50 through the end-of-file.


#2 WHOLE

The WHOLE range refers to the entire design file.

This is equivalent to entering;

	BEGIN THRU END_OF_DESIGN

ALL is a synonym for the WHOLE sequence range.

!
!=======================================================================
!  EdG commands
!=======================================================================

#1 HELP
			EdG -- Edit Graphics

The EdG utility is provided to allow the user to display, search, modify 
and analyze MicroStation and IGDS design and cell files in a non-graphic 
environment.

To display information about an EdG command or topic.  In response to the 
"Topic?" prompt, you can:

*  Enter the name of the command or topic for which you need help.
*  Enter HINTS if you are not sure of the name of the command or topic for 
which you need help.
*  Enter INSTRUCTIONS for more detailed instructions on how to use HELP.


#2 EDG_HELPLIB

The default EdG help file is defined by the environment variable / logical 
name EDG_HELPLIB.  Please note that this is a full file specification and 
not a partial path to the file.

	examples:

		set EDG_HELPLIB=\ustation\edg\edghelp.hlp
		export EDG_HELPLIB=/usr/ip32/ustation/edg/edghelp.hlp

When looking for the HELP file, EdG looks in several locations:

*  EdG will first look for the environment variable EDG_HELPLIB.  If it 
exists it should point either directly to the help file or specify a 
directory (if it is a directory it should end with the directory separator 
character, and the file "edghelp.hlp" will be appended).

*  Next EdG will look for the environment variable MS_EDG.  If it exists it 
should specify a directory (with directory separator) or point to the EdG 
application.  The file "edghelp.hlp" will be appended.

*  Last (for the PC and the MAC only) the directory where EdG is being run 
from (the application's "home" directory) is known by EdG itself, and it 
looks for the file "edghelp.hlp" at that location.


!
!=======================================================================
!  DISPLAY commands
!=======================================================================

#1 TYPE

Outputs a formatted description of the elements specified by the optional 
range.

    format:

	TYPE [seq_range]

Display and search qualifiers may be used on the command line to 
temporarily override the default.  (see the SET SEARCH and SET DISPLAY 
commands)



#1 BRIEF

Displays the current element in brief

    format:

	BRIEF

This command is actually equivalent to:

	TYPE CURRENT /BRIEF /ALL_ELEMENTS



#1 FULL

Displays the current element in full

    format:

	FULL

This command is actually an alias for:

	TYPE CURRENT /FULL /ALL_ELEMENTS



#1 TOP

Moves to the beginning of the file, regardless of the search criteria, and 
displays the first element.

    format:

	TOP

This command is actually equivalent to:

	TYPE BEGIN /ALL_ELEMENTS



#1 implied-commands

Some qualifiers or keywords when specified without an explicit command will 
imply a command or operation.

*  the null command (pressing return without typing anything) implies the 
TYPE NEXT command.

*  any sequence-range implies the TYPE command.

*  a display qualifier without a sequence-range implies the TYPE CURRENT 
command.

*  a search qualifier without a sequence-range implies the TYPE NEXT 
command.



#1 interrupt-command

EdG provides a mechanism to abort or interrupt an operation through the use 
of a break sequence.  On most machines the break sequence is CONTROL/C (on 
the Macintosh it is command-period).  The operation may not immediately 
stop but will stop at the next logical break point.




!
!=======================================================================
!  FILE commands
!=======================================================================

#1 command-files

Command files are sequences of EdG commands that can then be executed 
later.

EdG provides two types of command files:  
	1) startup command files and 
	2) indirect (batch) files.


#2 Batch-files

Causes EdG to read the specified file as the command input.  The file name 
for an EdG command file may be any legal file-specification for the current 
operating system.  The default file suffix is ".edg".

    format:

          @filename

The EdG command file may contain a list of any legal EdG commands.  The 
user may wish to comment some sections of the command file.  An exclamation 
point is used to begin comments.  An empty line with nothing but a comment 
is also legal.

----------
>> NOTE <<
----------
The user may also specify batch (command) files from the EdG invocation 
command line.  For example: "edg file.dgn @batch.edg".


#2 Startup-file

EdG provides for a startup command file.  When EdG is first initiated it 
searches for a file named "edgini.edg".  If present, it is opened and all 
valid EdG commands (except EXIT) are executed.

    Example:

	SET VERIFY/ALL/TYPE=STANDARD
	SET SEARCH/ALL


#2 Open-command-file

EdG provides for an open design command file.  When EdG opens a design or 
cell file it searches for a file named "edgdgn.edg".  If present, it is 
opened and all valid EdG commands (except EXIT) are executed.

    Example:

	SET VERIFY/ALL/TYPE=STANDARD
	SET SEARCH/ALL
	SET PROMPT FILE



#1 BACKUP

Creates a backup of the current design/cell file.

    format:

	BACKUP [filename]

If the file name is omitted, the backup file is created with the name of 
the current design file or cell library with a suffix of ".bak".  If a 
backup command was previously issued and no file name is specified then the 
current backup is updated.



#1 EDG

Closes the current file and opens the specified design/cell file.

    format:

	EDG filename



#1 EXIT

Close all files and exit the EdG utility.

   format:

	EXIT
	XIT



#1 CLOSE

Closes the secondary file previously opened by the OPEN command.

  format:

          CLOSE

  (see OPEN)



#1 OPEN

Creates a new file based on the currently open file.  The header 
information (type 9,8,10 for design or type 5 for cell files) is copied 
into the new file.

  format:

	OPEN filename

(See also commands; WRITE and CLOSE)

----------
>> NOTE <<
----------
Only type 8,9 and 10 elements are written into the new file by default.  
If any other elements are required, (such as a second type 9 or an 
application type element) it will be necessary to include them in the list 
of elements being written to the new file.



#1 WRITE

Writes elements into the secondary file indicated by the OPEN command.

  format:

	WRITE [seq_range]

The elements written are those returned by the search criteria.
  
  (see OPEN)



!
!=======================================================================
!  MODIFICATION commands
!=======================================================================

#1 DELETE

Used to mark the element for delete.

    format:

	DELETE [seq_range]

If the optional sequence range is omitted the current element is marked for 
delete.  If the sequence range is provided, the elements within that range 
(according to the search criteria) are marked for delete

----------
>> NOTE <<
----------
If the current element is part of a complex element group or the element 
is marked as LOCKED by the properties (see MODIFY PBITS) an error is 
generated.

If a complex element header is deleted all elements within the complex 
group are deleted.

*************
** WARNING **
*************
Deleting complex headers causes all element sequence numbers that follow 
to be resequenced.



#1 MODIFY

Modifies the element's value of the specified keyword.

    format:

	MODIFY keyword = value [seq_range]

The value by default is decimal.  If octal or hex is desired simply prefix 
the value with '%O' for octal or '%X' for hex.  The 'C' syntax of prefixing 
the value with a zero indicating octal (eg., 07777) or zero followed by 'x' 
(eg., 0xFFFF) is also allowed.

If the optional sequence range is omitted the current element is modified.

Only those elements returned by the current search criteria are modified.


#2 arithmetic_operations-not

	(NOT CURRENTLY IMPLEMENTED)

MODIFY allows simple arithmetic operations on certain keywords. These 
operations arithmetically change the contents instead of replacing.  To use 
this feature the command line syntax is;

	MODIFY keyword op= value

where op may be one of; +, -, *, / for add, subtract, multiply and divide 
respectively.  This has the affect of taking the original element value 
performing the operation with the supplied value and inserting it into the 
element (eg.  keyword = keyword op value).

  The legal keywords are:

	CLASS
	COLOR
	FONT
	GROUP
	LEVEL
	STYLE
	WEIGHT


#2 ALINKAGE

Modifies any particular word within the attribute data.

  format:

	MODIFY ALINKAGE(subscript)=value

The value by default is decimal but may be overridden by using the 
following.

	%D	= decimal
	%O	= octal
	%X	= hex
	%F	= floating point (real*8)
	%R	= radix-50

      [these additional keywords are used with %D, %O, and %X only]

	(HIGH)	= modify high order byte
	(LOW)	= modify low order byte
	(SWAP)	= modify swapped (coordinate style) long word
	(LONG)	= modify (vax style) long word


#2 CHARACTERS

Modifies the character text of a text element.

    format:

	MODIFY CHARACTERS=item

The 'item' may be one of the following:


#3 LOWER-not

	(NOT YET IMPLEMENTED)

	MODIFY CHARACTERS = LOWER

This keyword causes the element's text to be converted to all lowercase 
characters.  (text enclosed within quotes (") are not affected)


#3 UPPER-not

	(NOT YET IMPLEMENTED)

	MODIFY CHARACTERS = UPPER

This keyword causes the element's text to be converted to all uppercase 
characters.  (text enclosed within quotes (") are not affected)


#3 MIX-not

	(NOT YET IMPLEMENTED)

	MODIFY CHARACTERS = MIX

This keyword causes the element's text to be converted to mixed case.  That 
is the first letter in each word is converted to uppercase, each remaining 
letter in the word is converted to lower case.


#3 quoted_string

	MODIFY CHARACTERS = "text"

A quoted text string may be used to replace the element's text with the 
contents of the quotes.

The quotes are required syntax.  Special characters may be specified in 
addition to standard printable ascii characters.  Special characters are 
specified through the backslash ("\") character:
	\000	- three octal digits to specify a byte value
	\xFF	- two hex digits to specify a byte value
	\^c	- control codes \^A through \^Z
	\wFFFF	- four hex digits to specify a WideChar value
	\"	- quote character
	\\	- backslash character
	\*	- any other character (asterisk represents character)

----------
>> NOTE <<
----------
If the number of characters entered is different from the original number, 
the element's length is adjusted accordingly.


#3 SUBSTITUTE-not

	(NOT YET IMPLEMENTED)

	MODIFY CHARACTERS = SUBSTITUTE/string-1/string-2/

This keyword allows the user to substitute "string-1" with "string-2" in 
the element's text.  All occurrences of "string-1" found will be replaced 
with "string-2".

The slash (/) delimiters are required syntax.  If a slash needs to be part 
of string-1 or string-2 prefix it with a backslash (eg. \/ ).

----------
>> NOTE <<
----------
If the number of characters entered is different from the original number, 
the element's length is adjusted accordingly.


#2 CLASS

IGDS element class

    format:

	MODIFY CLASS=value

The value is an integer representing an IGDS element class ranging from 0 
to 6.

	0 - Primary
	1 - Pattern component
	2 - Construction element
	3 - Dimensioning element
	4 - Primary rule element
	5 - Linear patterned element
	6 - Construction rule element


#2 COLOR

IGDS color value

    format:

	MODIFY COLOR=value

The value is a valid IGDS color ranging from 0 to 255.


#2 ELEMENT

Modifies any particular word within the element.

    format:

	MODIFY ELEMENT(subscript)=value

The value by default is decimal but may be overridden by using the 
following.

	%D	= decimal
	%O	= octal
	%X	= hex
	%F	= floating point (real*8)
	%R	= radix-50

      [these additional keywords are used with %D, %O, and %X only]

	(HIGH)	= modify high order byte
	(LOW)	= modify low order byte
	(SWAP)	= modify swapped (coordinate style) long word
	(LONG)	= modify (vax style) long word


#2 FONT

IGDS text or text node font number

    format:

	MODIFY FONT=value

The value is an integer ranging from 0 to 127.


#2 GROUP

IGDS graphic group

    format:

	MODIFY GROUP=value

The value is an integer ranging from 0 to 65535.


#2 LEVEL

IGDS level indicator

    format:

	MODIFY LEVEL=value

valid values for level range from 0 to 63.

----------
>> NOTE <<
----------
Library cells (type-1) and cells (type-2) may not be modified to any level 
other than zero (0).  EdG will ignore any level assignment (other than 
zero) for those types.


#2 LENGTH

Adjusts the actual length of the element.

    format:

	MODIFY LENGTH=value

the value is in the form of a words-to-follow value.  This command actually 
causes the element to shrink or grow in size.


#2 P_BITS

IGDS properties bits.

    format:

	MODIFY P_BITS=keyword[,keywords]

The value is specified with keywords as follows separated by commas.


#3 HOLE
#3 NOHOLE
#3 SNAPPABLE
#3 NOSNAPPABLE
#3 PLANAR
#3 NOPLANAR
#3 VIEW_IND
#3 NOVIEW_IND
#3 ATTRIBUTE
#3 NOATTRIBUTE
#3 MODIFIED
#3 NOMODIFIED
#3 NEW_ELEMENT
#3 NONEW_ELEMENT
#3 LOCKED
#3 NOLOCKED


#2 STATUS

IGDS status bits

  format:

	MODIFY STATUS=keyword[,keywords]

The value is specified with keywords as follows separated by commas.


#3 ACTIVE
#3 DELETED
#3 NODELETED
#3 SIMPLE
#3 COMPLEX
#3 NOCOMPLEX


#2 STYLE

IGDS line style

    format:

	MODIFY STYLE=value

Where value is one of the valid line style numbers ranging from 0 to 7.


#2 WEIGHT

IGDS weight

    format:

	MODIFY WEIGHT=value

Where value is one of the IGDS weights ranging from 0 to 31.


#2 WTF-not

	(not implemented, use PATCH WTF)


#2 XHIGH

X high range

    format:

	MODIFY XHIGH=value

Where the value is a signed longword range that will be converted to 
unsigned and swapped to be inserted into the element.


#2 XLOW

X low range

    format:

	MODIFY XLOW=value

Where the value is a signed longword range that will be converted to 
unsigned and swapped to be inserted into the element.


#2 YHIGH

Y high range

    format:

	MODIFY YHIGH=value

Where the value is a signed longword range that will be converted to 
unsigned and swapped to be inserted into the element.


#2 YLOW

Y low range

    format:

	MODIFY YLOW=value

Where the value is a signed longword range that will be converted to 
unsigned and swapped to be inserted into the element.


#2 ZHIGH

Z high range

    format:

	MODIFY ZHIGH=value

Where the value is a signed longword range that will be converted to 
unsigned and swapped to be inserted into the element.


#2 ZLOW

Z low range

    format:

	MODIFY ZLOW=value

Where the value is a signed longword range that will be converted to 
unsigned and swapped to be inserted into the element.



#1 UNDELETE

Reactivates elements that were previously marked for delete.

    format:

	UNDELETE [seq_range]

The command only undeletes non-complex elements and complex headers without 
attributes.  If a complex header that has attributes is to be undeleted, 
MODIFY ELEMENT(n) must be used.

*************
** WARNING **
*************
Undeleting complex headers causes all element sequence numbers that follow 
to be resequenced.

!
!=======================================================================
!  SET/SHOW commands
!=======================================================================

#1 SET

The various set commands are used to define or set various operational 
parameters that are used by different EdG commands.

    format:

	SET option

Some SET options require additional parameters or qualifiers.


#2 BANNER

	SET BANNER    (D)
	SET NOBANNER

This qualifier enables display of banner information when a file is opened 
via the EDG command.  The banner includes; EdG version number, file type 
(cell/design), indices (2D/3D) and expanded file specification.


#2 COMPLEX

	SET COMPLEX
	SET NOCOMPLEX    (D)

This qualifier causes EdG to modify multi-element sequence ranges if the 
range was to end within a complex element group.  The effect is to extend 
the sequence range to include all of the elements specified by the complex 
header.

----------
>> NOTE <<
----------
To override the current setting for a single command, use the /COMPLEX or 
/NOCOMPLEX qualifier when entering the command.


#2 DISPLAY

Sets the default display parameters.

    format:

	SET DISPLAY [/qualifier /qualifier ... /qualifiers]

The SET DISPLAY command provides a convenient way to display various 
element parameters.  SET DISPLAY /qualifiers instructs EdG to display on 
the user's screen only that information the user wishes to view.  By 
default EdG displays only the first word of an element, which includes the 
Element Type and Level, complex nesting/status and its active/deleted 
status, which is the same as SET DISPLAY/BRIEF.

----------
>> NOTE <<
----------
Any of the display qualifiers may be used directly in conjunction with the 
TYPE command to temporarily override the SET DISPLAY command.


#3 /ATTRIBUTES

	/ATTRIBUTES
	/NOATTRIBUTES    (D)

Displays the user attributes if any are present.


#3 /BRIEF

	/BRIEF

Causes just the information associated with the first word of the element 
header to be displayed. This includes the; element sequence number, active 
or deleted status, element type, complexed status and level.


#3 /COMMON_PARAMETERS

	/COMMON_PARAMETERS
	/NOCOMMON_PARAMETERS

Displays all common header information.

This is identical to;
  /GRAPHIC /INDEX_TO_ATTR /POSITION /PROPERTIES /RANGE /SYMBOLOGY

The /HEADER qualifier is an alias for /COMMON_PARAMETERS.


#3 /DATA

	/DATA
	/NODATA    (D)

SET DISPLAY/[NO]DATA controls the display of element-words 19 through the 
end of the base element.  This data varies in the type of data displayed 
depending on the kind of element.  Cells have Words-In-Description and cell 
names within this area;  Lines merely contain X, Y and Z coordinates;  Line 
Strings also contain contain the number of vertices present;  Connected 
Strings and Complex Shapes contain the number of elements;  Ellipses 
contain axis data and the rotation angle;  Arcs include the sweep angle; 
and Texts contain character data; etc.

This is identical to;
  /NUMBER_OF /ORIENTATION /PARAMETERS /PDATA /SCALE_SIZE /TEXT


#3 /DUMP

	/DUMP
	/NODUMP    (D)

This qualifier overrides all other display qualifiers and causes a numeric 
dump of the element to be output to the user.  The dump is displayed with 
the current /radix.  This element data is displayed as an exact disk image 
(e.g., the range words are not swapped or signed, etc.).


#3 /FULL

	/FULL

Causes all possible information available for the element to be displayed.  
The quantity and type of data displayed varies according to the element 
type and the attribute data quantity associated with it.

(See also SET DISPLAY/BRIEF)


#3 /GRAPHIC_GROUP

	/GRAPHIC_GROUP
	/NOGRAPHIC_GROUP    (D)

	    or

	/GGROUP
	/NOGGROUP    (D)

Displays the graphic group number.

A graphic group is any defined set of elements in the design which, for the 
purpose of manipulation, have been assigned a single identity so that they 
function as an individual element or set.  In MicroStation the Graphic 
Group Lock enforces the grouping of the elements involved.  When design 
elements are combined into graphic groups via the Graphic Group Add To 
command, a group number is automatically associated with each element.  All 
element bearing the same ID for a graphic group.


#3 /INDEX_TO_ATTRIBUTES

	/INDEX_TO_ATTRIBUTES
	/NOINDEX_TO_ATTRIBUTES    (D)

Displays the index to attributes.


#3 /NUMBER_OF

	/NUMBER_OF
	/NONUMBER_OF    (D)

Displays counted fields for those elements that have variable length data.  
(eg. words in description, number of characters, number of vertices, etc.)


#3 /ORIENTATION

	/ORIENTATION
	/NOORIENTATION    (D)

Displays rotations and transformation information.


#3 /PARAMETERS

	/PARAMETERS
	/NOPARAMETERS    (D)

Displays the parameter data.  Parameter data includes start and sweep angle 
values for ARCs, Font and Justification for TEXTs, Surface values for 
SURFACEs, etc..


#3 /PDATA

	/PDATA
	/NOPDATA    (D)

Displays point data.  Point data includes origins, vertices, and points.  
All PDATA is coordinate related data, i.e. those coordinate points that 
define a given element.


#3 /POSITION

	/POSITION
	/NOPOSITION    (D)

Displays the value of the 'words to follow' word and indicates the block 
and word position and the byte offset in the file.


#3 /PROPERTIES

	/PROPERTIES
	/NOPROPERTIES    (D)

Controls the display of the element's properties and class.


#3 /radix

	/ASCII
	/DECIMAL
	/HEX      (D)
	/OCTAL
	/RAD50
	/SIGNED_DECIMAL

Sets the display radix for undefined ATTRIBUTE data, TYPE/DUMP and sector 
DUMPs.


#3 /RANGE

	/RANGE
	/NORANGE    (D)

Controls the display of the elements range diagonal.


#3 /SCALE_SIZE

	/SCALE_SIZE
	/NOSCALE_SIZE    (D)

	or

	/SIZE_SCALE
	/NOSIZE_SCALE

Controls the display of element scale parameters (if applicable).


#3 /SYMBOLOGY

	/SYMBOLOGY
	/NOSYMBOLOGY    (D)

Controls the display of the symbology word.  (color, weight, style)


#3 /TEXT

	/TEXT
	/NOTEXT    (D)

Controls the display of text and description data in elements.


#3 /UNFORMATTED_TEXT

	/UNFORMATTED_TEXT
	/NOUNFORMATTED_TEXT    (D)

Causes EdG to display an unformatted character stream for text elements.  
Normally the text string is formatted such that nonprintable (or non-ascii) 
characters are turned into escaped characters (e.g., \^C for ascii-003, or 
\<DEL> for ascii-127, etc.).  This qualifier is useful for terminals that 
can handle generation of special characters (e.g., hangal, kanji).

Normally for wide character strings the characters are displayed as high 
order byte first.  To force the low order byte to display first use 
/UNFORMATTED_TEXT=SWAPPED


#3 /WORKING_UNITS

	/WORKING_UNITS [ = GLOBAL_ORIGIN ]
	/NOWORKING_UNITS    (D)

Allows coordinate values for design files to be displayed in working unit 
format.  Optionally the user may specify to apply the global origin to the 
display by specifying the GLOBAL_ORIGIN keyword after the /WORKING_UNITS 
qualifier.

----------
>> NOTE <<
----------
This qualifier has no meaning for cell libraries.


#2 LIST

	SET LIST n

Establishes the default number of elements to be displayed with the LIST 
command in the PATCH facility.


#2 LOGGING

	SET LOGGING
	SET NOLOGGING    (D)

Causes EdG to display incremental command progress.

----------
>> NOTE <<
----------
To override the current setting for a single command, use the /LOGGING or 
/NOLOGGING qualifier when entering the command.


#2 JOURNAL_FILE

Opens a journal file and enables output to the journal file.

    format:

	SET JOURNAL_FILE [file]

If the specified file exists, it will be overwritten.  If the file name is 
omitted, the file is created with the name of the current design file or 
cell library with a suffix of ".jnl".

For more information about journaling, see "SET OUTPUT".


#2 ON_BADELE

	SET ON_BADELE  (D)
	SET NOON_BADELE

This command is short hand, or an alias, for the set verify/trap mechanism 
where:

	SET ON_BADELE   ==> SET VERIFY/TRAP=WARNING
	SET NOON_BADELE ==> SET VERIFY/TRAP=NONE

	(See also SET VERIFY and SHOW VERIFY)


#2 OUTPUT

Identifies for EdG where the display (or command output) is to be directed.

    format:

	SET OUTPUT /qualifiers


#3 /COMMAND

	/COMMAND    (D)
	/NOCOMMAND

Causes each EdG command as it is entered by the user to be written to the 
journal file (if one is active).  This provides a record of the commands 
that generated the following output.


#3 /ECHO

	/ECHO
	/NOECHO    (D)

Causes each line from an EdG command file to be displayed before its 
execution.  This allows the user to know which commands are being executed.


#3 /JOURNAL

	/JOURNAL
	/NOJOURNAL

Directs output to the journal file specified with the SET JOURNAL_FILE 
command.  If a journal file has not been specified, this qualifier has no 
effect.

----------
>> NOTE <<
----------
This does not disable the screen output.


#3 /PAGE

	/PAGE    (D)
	/NOPAGE

Causes EdG to pause after one page (screen) worth of output has been 
displayed.


#3 /SCREEN

	/SCREEN    (D)
	/NOSCREEN

	    or

	/TERMINAL    (D)
	/NOTERMINAL

Causes output to be directed to the screen.


#2 PROMPT

This command allows the user of EdG to change the default command prompt.

    format:

	SET PROMPT "string"
	SET PROMPT DEFAULT
	SET PROMPT FILE

When the quoted string syntax is used the prompt is changed to be the 
character string within the quotes.  The quotes are part of the syntax.  If 
the keyword DEFAULT is used as the parameter the prompt is changed to the 
default prompt string "EdG> ".  If the keyword FILE is used the prompt is 
changed to the name of the current file surrounded by angle brackets (eg., 
if the name of the file was "sample.dgn" then the prompt would be 
"<sample.dgn> ").


#2 REPAIR

	SET REPAIR [/qualifier /qualifier ... /qualifiers]

The SET REPAIR command is used to specify certain behavioral 
characteristics of the REPAIR command.




#3 /ATTRFLAG

	/ATTRFLAG=keyword

		where keyword:

		IGNORE    (D)
		REMOVE

Enables the automatic removal of attribute data from elements if the 
attributes property is clear.


#3 /CBITNEST

	/CBITNEST=keyword

		where keyword:

		IGNORE
		ASSIGN    (D)

Enables the automatic correction of the complex-bit based on the nested / 
unested status.


#3 /CBITUNST

	/CBITUNST=keyword

		where keyword:

		IGNORE
		ASSIGN    (D)

Enables the automatic correction of the complex-bit based on the nested / 
unested status.


#3 /CELDDUP

	/CELDDUP=keyword

		where keyword:

		IGNORE
		DELETE    (D)

Enables the automatic deletion of library cells (type-1 in cell libraries) 
and shared cell definitions (type-34) that have previous definitions.


#3 /CELDVOID

	/CELDVOID=keyword

		where keyword:

		IGNORE
		DELETE    (D)

Enables the automatic deletion of library cells (type-1 in cell libraries), 
cells (type-2 in design files), and shared cell definitions (type-34) that 
have no elements.  Please note that this does not affect any cell that is 
nested within another cell.


#3 /CLSBAD

	/CLSBAD=keyword

		where keyword:

		IGNORE
		ASSIGN    (D)

Enables the automatic correction of classes that are greater than six (6).  
The ASSIGN keyword will assign the class to zero (0) if the class is 
greater than six (6)


#3 /DATAZERO

	/DATAZERO=keyword

		where keyword:

		IGNORE    (D)
		DELETE

Enables the automatic deletion of elements that result in zero display.


#3 /ELVLDSP0

	/ELVLDSP0=keyword

		where keyword:

		IGNORE
		ASSIGN    (D)

Enables the automatic correction of displayable elements on level zero (0).  
The ASSIGN keyword will cause the level to be assigned to one (1).


#3 /ERNGBAD

	/ERNGBAD=keyword

		where keyword:

		IGNORE
		ASSIGN    (D)

Enables the automatic repair of element ranges.


#3 /GGRPHIGH

	/GGRPHIGH=keyword

		where keyword:

		IGNORE
		ASSIGN    (D)

Enables the repair of the design file header GRAFIC.  The ASSIGN keyword 
will cause the GRAFIC to be assigned to one higher than the current 
element's graphic group number.


#3 /NODEHIGH

	/NODEHIGH=keyword

		where keyword:

		IGNORE
		ASSIGN    (D)

Enables the repair of the design file header CANODE.  The ASSIGN keyword 
will cause the CANODE to be assigned to one higher than the current 
element's node number.


#3 /PROPLOCK

	/PROPLOCK=keyword

		where keyword

		IGNORE    (D)
		ASSIGN

Enables the repair command to unlock the element.  The ASSIGN keyword will 
cause the lock property bit to be cleared.


#3 /RLVLSET

	/RLVLSET=keyword

		where keyword

		IGNORE    (D)
		ASSIGN

Enables the repair command to automatically set the reserved level bit of 
the element.  The ASSIGN keyword will cause the reserved level bit to be 
cleared.


#2 SEARCH

	SET SEARCH [/qualifier /qualifier ... /qualifiers]
	SET NOSEARCH

The SET SEARCH command is used to specify the default search criteria.  
Only elements that satisfy the search criteria can be displayed and 
modified, etc..


#3 lists

The term list when used with the search qualifiers indicate a list of 
numeric values.  Some examples might be:

	SET SEARCH/COLOR=5		single value of 5
	SET SEARCH/COLOR=1-7		values 1 through 7
	SET SEARCH/COLOR=5,9		values 5 and 9
	SET SEARCH/COLOR=1-7,12-32,54


#3 /ALL_ELEMENTS

	/ALL_ELEMENTS

Forces all elements to be returned. 

This qualifier means literally all elements.  This is equivalent to 
entering SET NOSEARCH.

If the modifications are only relevant to all graphic elements, then the 
correct qualifier would be /TYPE=GRAPHIC. 

	(see SET SEARCH /TYPE)


#3 /ALINKAGE

	/ALINKAGE(offset)=value
	/NOALINKAGE

Searches according to the indicated attribute data offset.  The value is 
variable according to the following;

	%D	= decimal
	%O	= octal
	%X	= hex
	%F	= floating point (real*8)
	%R	= radix-50 characters

      [these additional keywords are used %D, %O, and %X only]

	(HIGH)	= test high order byte
	(LOW)	= test low order byte
	(SWAP)	= test swapped (coordinate style) long word
	(LONG)	= test (vax style) long word

  /NOALINKAGE disables the search.


#3 /CASE_SENSITIVE

	/CASE_SENSITIVE
	/NOCASE_SENSITIVE	(D)

Controls whether or not the case (capital or small) of the letters are to 
be considered when using the /CHARACTERS search qualifier.  See also SET 
SEARCH /CHARACTERS.

Only the letter characters of the ASCII character set are affected by this 
qualifier (at this time).


#3 /CELLNAME

	/CELLNAME="celnam"
	/NOCELLNAME

For cells, shared cell instances and definitions, and library cells, 
searches for the indicated name.  The cell name must be specified with 
quotes.  The /CELLNAME qualifier ignores capitalization.

Wild card characters are supported:
	'*' match zero or more occurrences of any character.
	'?' or '%' match one occurrence of any character.

----------
>> NOTE <<
----------
This qualifier automatically restricts the search to cell, library cell, 
shared cell definition, and shared cell instance elements.


#3 /CHARACTERS

	/CHARACTERS="text"
	/NOCHARACTERS

For text elements, searches for the indicated text string.  Wild card 
characters are allowed.  For example if the user wished to search for the 
name "bilbo" anywhere in a string the search text would be "*bilbo*".

The wild card characters are:
	'*' match zero or more occurrences of any character.
	'?' or '%' match one occurrence of any character.

----------
>> NOTE <<
----------
This qualifier automatically implies searching for text elements.

(See also SET SEARCH /CASE_SENSITIVE).


#3 /CLASS

	/CLASS=list
	/NOCLASS

Enables searching according to the element CLASS.

	(See also SET SEARCH LIST for a description of the 'list')


#3 /COLOR

	/COLOR=list
	/NOCOLOR

Enables searching according to the element COLOR.  The list is a set of 
colors separated by commas.  /NOCOLOR allows all colors to be returned.


#3 /ELEMENT

	/ELEMENT(offset)=value
	/NOELEMENT

Searches according to the indicated element offset.  The value is variable 
according to the following;

	%D	= decimal
	%O	= octal
	%X	= hex
	%F	= floating point (real*8)
	%R	= radix-50 characters

      [these additional keywords are used %D, %O, and %X only]

	(HIGH)	= test high order byte
	(LOW)	= test low order byte
	(SWAP)	= test swapped (coordinate style) long word
	(LONG)	= test (vax style) long word

  /NOELEMENT disables the search.


#3 /EXPAND

	/EXPAND
	/NOEXPAND	(D)

Expands complex elements.  If the complex header is accepted all elements 
within the complex group are returned (regardless of other search 
criteria).


#3 /FONT

	/FONT=list
	/NOFONT

Searches for a particular font or set of fonts for text and text node 
elements.  The list is a set of the fonts separated by commas.  /NOFONT 
returns all text and text node fonts.

----------
>> NOTE <<
----------
This qualifier does force just text and text node elements to be 
processed.


#3 /GREP-not

	(NOT CURRENTLY IMPLEMENTED)

	/GREP
	/NOGREP		(D)

Changes how the SET SEARCH /CHARACTERS and /CELLNAME are used.


#3 /GROUP

	/GROUP=gg
	/GROUP=low-high
	/NOGROUP

Searches for a particular graphic group number or range of groups.  
/NOGROUP returns all graphic groups.


#3 /LEVEL

	/LEVEL=list
	/NOLEVEL

Searches for a particular set of levels.  The list is a set or range of 
IGDS levels separated by commas.  /NOLEVEL disables search by level.


#3 /NEST

	/NEST=list
	/NONEST

The /NEST qualifier effects complex element searching.  The list specifies 
what complex nest levels are to be processed.  This way if only primary 
elements (non-complex) are to be returned, /NEST=0 may be specified.

The nest level is in the range of 0 thru 12


#3 /P_BITS

	/P_BITS=keyword[,keywords]
	/NOP_BITS

Enables or disables searching according to the elements properties bits.

#4 [NO]HOLE
#4 [NO]SNAPPABLE
#4 [NO]PLANAR
#4 [NO]VIEW_IND
#4 [NO]RELATIVE
#4 [NO]ATTRIBUTE
#4 [NO]MODIFIED
#4 [NO]NEW_ELEMENT
#4 [NO]LOCKED


#3 /STATUS

	/STATUS=keyword[,keywords]
	/NOSTATUS

Enables or disables searching according to element status.  The keywords 
allowed are;

	ACTIVE		returns only active elements
	DELETED		returns only deleted elements
	COMPLEX		returns only complex elements
	SIMPLE		returns only simple (non-complex)

If all elements regardless of their status are to be returned use 
/NOSTATUS.


#3 /STYLE

	/STYLE=list
	/NOSTYLE

Searches for a particular set of element styles.  The list is a set of IGDS 
line styles separated by commas.  /NOSTYLE disables search according to 
style.


#3 /TYPE

	/TYPE=list
	/NOTYPE

Searches according to the indicated element types.  The list is a set of 
element types numbers separated by commas or a list of element type 
keywords (Please see HELP formats for the valid keywords) separated by 
commas.

  /NOTYPE allows all element types to be returned.

There are several special keywords that can be used to specify sets of 
types.  The keywords are:

	DATA -- all parameter data holding elements.
	DISPLAYABLE -- all displayable elements.
	GRAPHIC -- all graphic elements (DISPLAYABLE and HEADER).
	HEADER -- all complex element headers.
	STANDARD -- a combination of all of the above.


#3 /WEIGHT

	/WEIGHT=list
	/NOWEIGHT

Searches for a particular set of IGDS weights.  The list is a set or range 
of IGDS line weights separated by commas.  /NOWEIGHT disables search 
according to weight.


#2 SUMMARY

    format:

	SET SUMMARY    (D)
	SET NOSUMMARY

Causes EdG to generate command summary at the end of most commands.

----------
>> NOTE <<
----------
To override the current setting for a single command, use the /SUMMARY or 
/NOSUMMARY qualifier when entering the command.


#2 VERIFY

    format:

	SET VERIFY /qualifiers

Establishes the default verification parameters for the VERIFY command.

The default is SET VERIFY /SUMMARY=WARNING /REPORT=WARNING /TRAP=WARNING.

	(See also SHOW VERIFY)


#3 /SUMMARY

	/SUMMARY=severity
	/NOSUMMARY

Restricts the summary report of total elements found for each severity at 
the end of the VERIFY command.  The default is SET VERIFY /SUMMARY=WARNING.

See /severity for a complete list of the available severities.


#3 /REPORT

	/REPORT=severity
	/NOREPORT

Restricts the reporting of element problems to problems to at least the 
indicated severity.  The default is SET VERIFY /REPORT=WARNING.

See "/severity" for the list of legal severities.

(See also SET VERIFY/TRAP and VERIFY)


#3 /TRAP

	/TRAP=severity
	/NOTRAP

Causes EdG to stop verification processing if an element problem of the 
indicated severity or greater is encountered.
The default is SET VERIFY /TRAP=WARNING.

See "/severity" for the list of legal severities.

(See also SET VERIFY/REPORT and VERIFY)


#3 /ALL

	/ALL

Specifies that the VERIFY command should report and should stop processing 
when any problem is detected.


#3 /NONE

	/NONE

Specifies that the VERIFY command should not report and should not stop 
processing no matter what severity is encountered.

This is equivalent to SET VERIFY /REPORT=NONE /TRAP=NONE

	(See the VERIFY command)


#3 /severity

Specifies that the VERIFY command should report and should stop processing 
when the elements with the indicated severity (or greater) are encountered.

This is equivalent to SET VERIFY /REPORT=severity /TRAP=severity.

The severities are:

	ALL
	INFORMATIONAL
		INCOMPATIBLE
		INCONSISTENT
	WARNING
		USER
		IRREGULAR
		ABNORMAL
	ERROR
		BAD
		INVALID
	FATAL
	NONE


#3 /SEARCH

	/SEARCH
	/NOSEARCH    (D)

Requests EdG to honor the current search criteria during verification.  
Normally the VERIFY command ignores the current search criteria during the 
verification process.


#3 /LEVEL

	/LEVEL=list
	/NOLEVEL

Identifies that only those levels that are specified are considered to be 
good.  Any graphically displayable element that is on a level other than 
those specified is considered to have a problem.


#3 /TYPE

	/TYPE=list
	/NOTYPE

Identifies to EdG that only the listed element types are valid for the 
current file.  Any other element will be considered as unknown and having a 
problem.

A common entry would be SET VERIFY/TYPE=STANDARD, which identifies all of 
the normal elements that MicroStation deals with.



#1 SHOW

The SHOW commands allow the user to display various parameters of the 
active EdG session or of the IGDS/MicroStation design or cell file.  This 
mechanism is useful in allowing the user to keep informed of relevant data 
during the EdG session.

    format:

	SHOW option


#2 ALL

Shows all available information


#2 DISPLAY

Shows the current display options.

NOTE: see SET DISPLAY.


#2 FILES

Displays the current open and active files


#2 HELP-not

Displays the name of the current help library


#2 MODE-not

Shows the current operation modes
  (see SET MODE)


#2 OUTPUT

Shows the current output modes
  (see SET OUTPUT)


#2 REPAIR

Displays the current repair settings
  (see SET REPAIR)


#2 SEARCH

Shows the current search criteria
  (see SET SEARCH)


#2 SIZE

Displays the location of the end-of-design (if it has been found as yet), 
the number of free blocks, the current file size (system eof).


#2 VERIFY

Shows the current verification options
  (see SET VERIFY)


#2 VERSION

Displays the version identification of EdG.


!
!=======================================================================
!  ANALYSIS and REPAIR commands
!=======================================================================

#1 EVALUATE

Translates the input value to hexadecimal, decimal, and octal and displays 
it on the screen.

    format:

	EVALUATE value

The default input radix is DECIMAL.  If some other input radix is desired 
simply prefix the value with one of the following;

	%D	decimal
	%O	octal
	%X	hexadecimal
	%R	radix-50



#1 FIND

Locates the elements indicated by the sequence range.  EdG does not display 
the elements.

    format:

	FIND [seq_range]

The primary effect of this command is to locate the sequence range without 
performing any action.



#1 SUMMARY

Generates a formatted report that provides various totals and statistics 
about the specified range of elements.

    format:

	SUMMARY [seq_range]

The accumulated information includes: 
	occupied levels
	colors, weights and styles used
	element types used
	and totals for each of the element types.



#1 DEMARCATE

Sets the IGDS/MicroStation end-of-design at the location indicated.

  format:

	DEMARCATE [single-sequence]

The optional 'single-sequence' is any of the single element sequence 
ranges.  If no sequence-range is specified the current element is replaced 
with the END_OF_DESIGN.



#1 UNDEMARCATE

Removes the IGDS/MicroStation end-of-design and finds the next logical 
element beyond.

  format:

	UNDEMARCATE



#1 PATCH

The Patch command is used to correct words-to-follow and words-in-
description errors.

    format:

	PATCH WID
	PATCH WTF


#2 WID

The PATCH WID command is used to modify a complex header element's words-
in-description value.  Once the "PATCH WID" command has been invoked the 
user is prompted with "Patch WID>" to indicate that a new command set is 
now available.

PATCH WID manipulates the words-in-description by adjusting the number of 
component elements.  All commands deal with the number of component 
elements instead of dealing directly with the words-in-description value.


#3 /AUTOMATIC

    format:

	PATCH WID /AUTO

The /AUTOMATIC qualifier for PATCH WID causes the PATCH facility to modify 
the words-in-description without user intervention.  When using the 
/AUTOMATIC qualifier the user does NOT enter the "Patch>" environment.  
Instead the patch facility uses several assumptions on how to deal with the 
words-in-description.


#3 plus

    format:

	+ [n]

The plus (+) command adds a number to the total number of component 
elements.  If the optional number is omitted then one (1) is added to the 
element's number of component elements.


#3 minus

    format:

	- [n]

The minus (-) command subtracts a number from the total number of elements 
contained in the complex header.  If the optional number is omitted then 
one (1) is subtracted from the element's number of component elements.


#3 number

    format:

	n

If the user enters a simple (unsigned) number the value is treated as the 
number of elements in the complex header.


#3 AUTOMATIC

    format:

	AUTOMATIC

Automatic is used to automatically extend the number of component elements 
of the current complex header.  The method used to extend the number of 
components depends on the header type.


#3 GUESS

    format:

	GUESS

The GUESS command tries to determine the number of elements that should be 
part of the current complex header.  The way the number of elements is 
determined depends on the header type.


#3 LIST

    format:

	LIST [n]

The LIST command is used to display the elements at the end of the complex 
element and several of the elements after the complex element.  If the 
optional number is omitted then the number of elements listed is based on 
the current "SET LIST n" setting.

(See also SET LIST)


#3 SET_LIST

    format:

	SET LIST n

The SET LIST command specifies the default number of elements that will be 
listed for the LIST, "plus", "minus" and "number" commands.


#3 SAVE

    format:

	SAVE
	EXIT

The SAVE command will permanently modify the element with the current 
words-in-description value and exit the PATCH WID facility.  Please note 
that the EXIT command and the SAVE command have the same effect.


#3 QUIT

    format:

	QUIT

The QUIT command will exit the PATCH WID facility without changing the 
words-in-description of the current element.  In other words, the words-in-
description of the element will be exactly what it was at the time the 
PATCH WID facility was invoked.


#2 WTF

The PATCH WTF command is used to modify an element's words-to-follow value.  
Once the "PATCH WTF" command has been invoked the user is prompted with 
"Patch WTF>" to indicate that a new command set is now available.


#3 /AUTOMATIC

    format:

	PATCH WTF /AUTO

The /AUTOMATIC qualifier for PATCH WTF causes the PATCH facility to modify 
the words-to-follow without user intervention.  When using the /AUTOMATIC 
qualifier the user does NOT enter the "Patch>" environment.  Instead the 
patch facility uses several assumptions on how to deal with the words-to-
follow.


#3 plus

    format:

	+ [n]

The plus (+) command adds a number to the words to follow.  If the optional 
number is omitted then one (1) is added to the element's words-to-follow.  
Once the words-to-follow has been modified, PATCH WTF displays the headers 
of the next several elements based on the new words-to-follow.  Frequently 
the listed elements will show as "unknown", etc.  This is usually a sign 
that the new words-to-follow is still not correct.


#3 minus

    format:

	- [n]

The minus (-) command subtracts a number from the words to follow.  If the 
optional number is omitted then one (1) is subtracted from the element's 
words-to-follow.  Once the words-to-follow has been modified, PATCH WTF 
displays the headers of the next several elements based on the new words-
to-follow.  Frequently the listed elements will show as "unknown", etc.  
This is usually a sign that the new words-to-follow is still not correct.


#3 number

    format:

	n

If the user enters a simple (unsigned) number the value is loaded into the 
element's words-to-follow.  Once the words-to-follow has been modified, 
PATCH WTF displays the headers of the next several elements based on the 
new words-to-follow.


#3 AUTOMATIC

    format:

	AUTOMATIC [n]

Automatic is used to automatically extend the words-to-follow of the 
current element and check the following elements for validity.  If the 
optional number is supplied then that number of elements following the 
current element are checked.  If the number is omitted then the current 
"SET LIST n" value is used.

----------
>> NOTE <<
----------
When the SET VERIFY/TYPE=list or /LEVEL=list is set then the AUTOMATIC 
command will use the specified types and levels to further identify 
whether elements are to be considered as valid.


#3 GUESS

    format:

	GUESS

The GUESS command assigns the element's words-to-follow based on the 
nominal words-to-follow for the element's type and parameters.


#3 LIST

    format:

	LIST [n]

The LIST command is used to display the following elements based on the 
current element's words-to-follow.  If the optional number is omitted then 
the number of elements listed is based on the current "SET LIST n" setting.

(See also SET LIST)


#3 SET_LIST

    format:

	SET LIST n

The SET LIST command specifies the default number of elements that will be 
listed for the LIST, "plus", "minus" and "number" commands.  It also 
specifies the default number of elements checked by the AUTOMATIC and 
VERIFY commands.


#3 SAVE

    format:

	SAVE
	EXIT

The SAVE command will permanently modify the element with the current 
words-to-follow value and exit the PATCH WTF facility.  Please note that 
the EXIT command and the SAVE command have the same effect.


#3 QUIT

    format:

	QUIT

The QUIT command will exit the PATCH WTF facility without changing the 
words-to-follow of the current element.  In other words, the words-to-
follow of the element will be exactly what it was at the time the PATCH WTF 
facility was invoked.


#3 VERIFY

    format:

	VERIFY [n]

The VERIFY command is used to validate the following elements based on the 
current element's words-to-follow.  If the optional number is omitted then 
the number of elements verified is based on the current "SET LIST n" 
setting.



#1 REPAIR

Repairs some parameters of the elements in the specified sequence range.

    format:

	REPAIR [seq_range]

----------
>> NOTE <<
----------
The REPAIR command honors the current search criteria.  If an attempt to 
repair all elements then the search criteria should be canceled with SET 
NOSEARCH.

See also the SET REPAIR command.


#2 Repair-list

The parameters that the REPAIR command will correct include:

	all elements
		complex bit set for non-nested element (cbitunst=assign)
		complex bit clear for nested element (cbitnest=assign)
	design header
		GRAFIC must be greater than graphic groups
		CANODE must be greater than text node numbers
	graphic elements
		displayable element on level zero (elvldsp0=assign)
		reserved level bit is set (rlvlset=assign)
		element range [some types unimplemented] (erngbad=assign)
		index to attributes is inconsistent with element data
		attributes property set but no attributes present
		attributes present but not flagged (attrflag=remove)
		properties bits settings that are inconsistent with element
		reserved properties bits are set (some elements allowed)
		locked property is set (proplock=assign)
		class is not recognized (clsbad=assign)
	arc, connected string, curve, library cell, data elements (5 & 66)
		hole property bit set when it should be clear
	curve
		zero length vector (datazero=delete)
	complex headers
		header range does not match components' range
		words-in-description does not include whole element
		number of elements is wrong based on WID
	complex shapes, connected strings, solid, surface
		if all components have uniform parameters
			then make the headers the same.
			The parameters that are affected are:
			levels, colors, weights, styles, groups
	cells & library cells
		level not equal to zero
	cells, library cells, shared cells
		class mask inconsistent with component elements
		level mask inconsistent with component elements
		empty cell definitions (celdvoid=delete)
	library cells & shared cells
		duplicate cell definitions (celddup=delete)
	cells
		cell in library with definition is not set as orphan
		cell in design with no name is not set as orphan
	shared cell instance
		class mask does not match definition
		level mask does not match definition or override settings
		level does not agree with override settings
	text
		text string overflows the length of the element
		enter-data-fields overflow the length of the element
		unrecognized enter-data-field justification
		enter-data-fields overlap
		enter-data-field length is equal to zero
		enter-data-field position + length is greater than 255
		text string is too short for maximum enter-data-field



#1 VERIFY

Verifies all of the elements in the specified sequence range.

    format:

	VERIFY [seq_range]

Any qualifier that may be used on the SET VERIFY command may be used on the 
VERIFY command to temporarily override the default settings.


#2 examples

The verify command provides totals of each of the severities upon 
completion or problem trapping.  This capability lends itself to a summary 
form of file verification.  A typical session would be:

	VERIFY WHOLE/FATAL
		or
	V W/F

This will cause the entire file to be verified.  The /FATAL qualifier will 
cause only fatal elements to be reported or to cause verification 
processing to stop.

When the verification process terminates (either because of end-of-design 
or problem trapping) a summary is displayed.

	Total of n elements verified
		n good
		n informational (incompatible)
		n informational (inconsistent)
		n warning (user)
		n warning (irregular)
		n warning (abnormal)
		n error (bad)
		n error (invalid)
		n fatal

This provides an "at a glance" summary of the types of problems in the 
file.

If the verification terminated it can easily be resumed after the problem 
element with the following command:

	VERIFY AFTER/FATAL
		or
	V A/F

Please be aware that the summary will be only for those elements processed 
by the current verify command.


#2 Informational

Messages that indicate informational (I) during verify merely indicate 
anomalies in the parameters.  All aspects of the elements should be fully 
functional.

INCOMPATIBLE
------------
Incompatible elements indicate that elements or properties that are not 
backward compatible with earlier versions of MicroStation or IGDS.

INCONSISTENT
------------
Inconsistent elements should be fully operational and can under most 
circumstances be ignored.  These elements are flagged only because some of 
the parameters are not within standards.

!INCOMPATIBLE

#3 RLVLSET: The reserved level bit is set

The reserved level bit is set on a non-file header element.  This bit 
should always be clear.

If SET REPAIR/RLVLSET=ASSIGN has been set then the REPAIR command will 
clear the reserved level bit.


!INCONSISTENT

#3 ALNKLEN: attribute linkage has bad length

An attribute linkage must have a length that is a multiple of four (4).  
The element contains one or more attribute linkages that have a bad length.


#3 ALNKOVF: attribute linkage overflows element length

Based on the length of the last attribute linkage in the element, that 
linkage would overflow the length of the element.  In other words the 
linkage will not fit into the element.

The indicated linkage (and more than likely the one prior) is bad.


#3 ALNKUSRP: attribute linkage has other properties set in addition to User

For "User" Linkages (those attribute linkages with the U-bit set) all other 
attribute properties should be clear.


#3 ATTRFLAG: attributes present but not flagged

According to the index to attributes and the words to follow, the element 
contains attribute linkage information. However, the attributes bit in the 
properties word is not set.

If SET REPAIR/ATTRFLAG=REMOVE has been set then the REPAIR command will 
remove the attribute linkage portion of the element.


#3 ATTRVOID: attributes flagged but not present

The attribute bit in the properties word is set, but according to the index 
to attributes and the words to follow there is no attribute linkage 
information present.

The REPAIR command will clear the attributes property for this condition.


#3 GGRPHDCM: Some components do not match header graphic group

Complex shapes, connected line strings, surfaces and solids must have a 
uniform graphic group number for the header and all of the component 
elements.

If all of the components have the same graphic group number then the REPAIR 
command will change complex header's graphic group to be the same as the 
components.


#3 IXATZERO: Index to attributes is zero

A graphic element must have the index to attributes point to the end of the 
element data.

The REPAIR command will set the index-to-attributes to point to the end of 
the element data.


#3 PROPINC: Some properties bits are inconsistent with element

Some elements require specific settings of some of the properties bits.  
One of the most notable is the setting of the hole bit.

The REPAIR command will set/clear those properties that can be 
unambiguously recognized as inconsistent.


#3 PROPLOCK: Locked property bit is set

The element will not be able to be manipulated with the lock bit set.

If the element is displayable and SET REPAIR/PROPLOCK=ASSIGN is set then 
the REPAIR command will unlock the element.


#3 PROPRESV: Some reserved properties bits are set

Some elements do use the reserved properties bits.  This message will be 
generated for elements that do not define a usage for the reserved 
properties bits but have the bits set.

The REPAIR command will clear those bits that are undefined.


#3 SHAPCLOS: Shape element does not actually close

A shape element should (but is not required) to close.  In other words the 
first coordinate and the last coordinate should be the same.


#3 SWARANGE: Arc sweep angle (d) is out of range (-360 <= Angle <= 360)

An Arc's sweep angle should always be between negative 360 and positive 360 
degrees (inclusive).


#3 SYMBHDCM: Some components do not match header symbology

Complex shapes, connected line strings, surfaces and solids must have a 
uniform symbology for the header and all of the component elements.

If all of the components have a uniform symbology (color, weight, style) 
then the REPAIR command will set the complex header's symbology (color, 
weight, style) to be the same as the components'.


#2 Warning

Messages that indicate warning (W) during verify generally indicate 
problems that will still allow the file to operate with some minor 
problems.  These errors are generally easily correctable.

USER
----
User verification messages are caused by the using the /LEVEL or /TYPE 
qualifiers in the SET VERIFY command to help restrict what levels and types 
are to be considered valid.

IRREGULAR
---------
Irregular elements should display correctly, but under some circumstances 
may not operate correctly or predictably.

ABNORMAL
--------
Abnormal elements may not display or may have display anomalies.  The 
element most likely does not operate normally.

!USER

#3 ELVLUSER: element level (n) is not defined by user

The user has the ability to restrict what the legal levels are for user 
elements through the SET VERIFY/LEVEL=list command.  This message is 
displayed when a level is encountered that does not match.


#3 ETYPUSER: element type (n) is not defined by user

The user has the ability to tell EdG that only certain element types are 
valid in the file through the SET VERIFY/TYPE=list command.  This message 
is displayed when an element type is encountered that does not match.

A typical entry would be SET VERIFY/TYPE=STANDARD.  This indicates all the 
normal elements that MicroStation deals with.


!IRREGULAR

#3 ATTRPAD: Element requires attribute pad to reach minimum length

Some element's data length is less than the minimum length. No element 
should be smaller than a simple line element.

Use MODIFY LENGTH to add the attribute pad on to the element.


#3 ATTRSIZ: Attribute linkage size is incorrect

The attribute linkage size in not a multiple of 4 words.


#3 CBITNEST: Complex bit is clear on nested element

The complex header's words in description may be too large.

If SET REPAIR/CBITNEST=ASSIGN has been set then the REPAIR command will set 
the complex bit on any element that is nested in a complex header.


#3 CBITUNST: Complex bit set on non-nested element

An element that is not nested in a complex header has been marked as a 
component element. This will usually cause the element to be non-selectable 
and for some elements (such as B-Splines) will cause severe problems.

The complex header may have been deleted without correctly clearing the 
complex bits, or the complex header's words in description is too small.

If SET REPAIR/CBITUNST=ASSIGN has been set then the REPAIR command will 
clear the complex bit on any element that is outside of a complex element 
(with the exception of the first design file header).


#3 CCLMHDCM: Component classes (mask) do not match header mask (mask)

Cells and shared cells have a class mask that is supposed to indicate the 
classes of all the component elements.

Fixable through the REPAIR command.


#3 CELDDBLD: Cell (name) is defined as orphan as well as regular cell

A cell that contains component elements is nested in a library cell and a 
cell by that name also exists as a library cell.

The REPAIR command will set the nested cell to be an orphan cell.


#3 CELDORPF: Orphan cell definition without orphan flag

A cell (type-2) nested within a library cell (type-1) contains its own 
elements, but does not have the orphan (hole) property set.

Fixable through the REPAIR command.


#3 CLSHDCM: Some components do not match header class

Some complex elements require that all component elements match the class 
of the header.


#3 CLVMHDCM: Component levels (mask) do not match header mask (mask)

Some complex elements (such as cells) maintain a mask of the components' 
levels.  This message indicates that the level mask in the header does not 
match the actual levels used by the components.

Fixable through the REPAIR command.


#3 CNELHDCM: number of component elements (n) does not match header (n)

The number of elements in the complex header does not correctly reflect the 
number of elements encompassed by the words-in-description.

Typically this is a problem with the number-of-elements field in the 
header.

The REPAIR command will set the number-of-elements based on the actual 
number of elements that are enclosed by the words-in-description.


#3 CNELMAX: number of elements (n) exceeds maximum legal value (2520)

The maximum number of elements for those headers that contain the number-
of-elements record is 2520.  This is based on the length of a line element 
versus the words-in-description values (65533/26).

The REPAIR command will set the number-of-elements based on the actual 
number of elements enclosed by the words-in-description.


#3 ELVLHDCM: Some components do not match header level

Some complex elements require that all component elements match the 
header's level.  One or more component elements are on levels that are 
different from the header.

If all of the components are on a common level then the REPAIR command will 
change the complex header level to be the same as that of the components.


#3 ETYPUNK: element type (n) is unknown

The element type is unknown to EdG. This is not a problem if the indicated 
element is valid.


#3 GGRPHIGH: Graphic Group (n) is higher than design header GRAFIC (n)

All graphic groups in a design file should be less than the GRAFIC field in 
the design file header.  The GRAFIC record determines the graphic group 
number of the next graphic group that is created.  If GRAFIC is less than 
or equal to an existing graphic group number then MicroStation may 
mistakenly add element(s) to an existing group.

If SET REPAIR/GGRPHIGH=ASSIGN has been set then the REPAIR command will 
assign the GRAFIC field in the design file header to one greater than the 
current element's graphic group number..


#3 IXATENDD: Index to attributes does not point to end of element data

The index to attributes should always be aligned with the end of the valid 
element parameters and data.

The REPAIR command will set the index to attributes to point to the end of 
the element data.


#3 IXATINSD: Index to attributes point into element data

The index to attributes points into the element data based on the 
calculated length of the element using the element parameters.

The REPAIR command will set the index to attributes to point to the end of 
the element data.


#3 IXATOUT: Index to attributes point outside of element

The index to attributes indicates the linkage is outside of the element. 
This is impossible. The index to attributes should be adjusted to the end 
of the element.

The REPAIR command will set the index to attributes to point to the end of 
the element data.


#3 NODEHIGH: Node number (n) is higher than design header CANODE (n)

All text node numbers in a design file should be less than the CANODE field 
in the design file header.  CANODE determines the node number of the next 
text node created.  If CANODE is less than or equal to an existing node 
number then MicroStation may create a text node with a coincident number of 
an existing element.

If SET REPAIR/NODEHIGH=ASSIGN has been set then the REPAIR command will 
assign the CANODE field in the design file header to one greater than the 
current element's text node number..


#3 TXTZERO: The text string is zero length

A text element that has no characters (that is not part of a text node) 
cannot be accessed.  The element will not display and cannot be selected.


#3 WID: Words-in-description (n) is incorrect, calculated (n)

The words in description for the complex header does not correctly align to 
a complete element boundary, or overflows a parent's words-in-description, 
or encounters the end-of-design.

The REPAIR command will adjust the words-in-description to align on element 
boundry


#3 WIDBIG: Words-in-description is too big

This is a rather unbelievable error but, the words-in-description must be 
less than or equal to 1,073,741,803.

Use the PATCH WID command to correct the complex header's element set.


#3 WIDOVF: Nested complex element overflows header's words-in-description

A complex element that is nested within another complex element extends 
beyond the parent's indicated words-in-description.

Use the PATCH WID command to correct the element set for the complex 
header.


#3 WIDSML: Complex header does not include any elements

All complex elements (with the exception of a text node) must actually 
contain component elements.

Use the PATCH WID command to identify which elements belong to the header 
element or use the DELETE command to dispose of the element.


#3 WIDWHOLE: Words-in-description does not include whole element

The complex header's words-in-description does not end on an element 
boundary, which means that not all of the last element is included in the 
complex header.

Fixable by the REPAIR command.


#3 WIDZERO: Words-in-description is zero

All complex headers should have a value for words-in-description.


!ABNORMAL


#3 CCLMBAD: Some component classes (mask) are invalid

Some components of the indicated complex header element have classes with a 
value greater than 6.

If SET REPAIR/CLSBAD=ASSIGN has been set then the REPAIR command will 
adjust the component's class values.


#3 CCLMSHI: Shared Instance (name) class mask (m) does not match def (m)

The shared cell instance class mask does not match that of the shared cell 
definition.

Fixable by the REPAIR command.


#3 CELDDUP: Duplicate cell definition (name), first defined (n)

Two or more library cell definitions (type-1) in a cell library or shared 
cell definitions (type-34) in a design file have the same name.

If SET REPAIR/CELDDUP=DELETE has been set then the REPAIR command will 
delete the duplicate definitions.


#3 CLSBAD: Class (n) is not recognized

All graphic elements must be of a class ranging from zero (0) to six (6).  
Any other class is not recognized.

If SET REPAIR/CLSBAD=ASSIGN has been set then the REPAIR command will 
assign the class to zero (0).


#3 CLVMSHI: Shared Instance (name) level mask (m) does not match def (m)

The shared cell instance level mask does not match that of the shared cell 
definition.

Fixable by the REPAIR command.


#3 DATAOVF: Element data overflows element size

Some elements are variable length.  The length of the data is determined 
according to various element parameters (eg, number of vertices, number of 
characters, number of poles, etc.).  This message indicates that according 
to the parameters for this element, the data should logically extend beyond 
the element's length.


#3 DATAZERO: Element data produces zero output

Under some conditions some elements will loose the ability to be displayed.  
For instance a curve element that only has two user data points that are 
equal.

If SET REPAIR/DATAZERO=DELETE has been set then the REPAIR command will 
delete the bad element.


#3 DHAABAD: Design header active angle is out of range

The active angle should be between -360 and 360.


#3 DHFLBAD: Design header (name) file is bad

The "name" identifies the file type that is bad.  The file types that are 
checked include: "celfil" - cell library, "parent" - parent design file 
from separate fence, "ucxlib" - user command index, "dmrsfl" - the old dmrs 
database file.


#3 DHGGBAD: Design header graphic group parameters are bad

The GGBASE (graphic group base number) is greater than GRAFIC (next graphic 
group to create).


#3 DHLVBAD: Design header active level is out of range

The active level should be between 1 and 63 (inclusive).


#3 DHNNBAD: Design header text node number parameters are bad

The NNBASE (text node base number) is greater than CANODE (next text node 
number to create).


#3 DHWUBAD: Design header working units definition is bad

All of the working unit values must be non-zero


#3 EDFJUST: An enter-data-field has an unrecognized justification

The only recognized justifications for an enter-data-field are left (-1), 
center (0) and right (1).  Any other value is incorrect.

Fixable by the REPAIR command.


#3 EDFLNG: An enter-data-field is longer than the text string

Based on the starting position of the enter-data-field and its length, the 
EDF extends beyond the end of the text string.

This has been known to cause severe problems and even major file 
corruptions.

The REPAIR command will extend the length of the text string to match the 
longest EDF.


#3 EDFMAX: Text element should not exceed 20 enter-data-fields (n)

MicroStation will only process the first 20 enter-data-fields.  All other 
enter-data-fields will be ignored.


#3 EDFNCHR: There are more enter-data-fields than characters

Each enter-data-field must be at least one character wide.  If there are 
more enter-data-fields than characters then there are other problems.

This has been known to cause severe problems and even major file 
corruptions.

The REPAIR command will extend the length of the text string to match the 
number of enter-data-fields and their corresponding lengths.


#3 EDFOVF: One or more enter-data-fields overflow element length

According to the number of enter-data-fields section of the text element, 
as compared with the element size, there is not enough room in the element 
for all of the enter-data-field records.


#3 EDFOVLP: Some text enter-data-fields overlap others

An enter-data-fields position and length cause it to coexist with a 
neighboring enter-data-field.  Enter-data-fields are not allowed to 
overlap.

Fixable by the REPAIR command under most circumstances.


#3 EDFSORT: Some text enter-data-fields are not in order

The enter-data-field records in a text element should be ordered from 
lowest character index to highest character index.

Fixable by the REPAIR command.


#3 EDFZERO: An enter-data-field has a length of zero

It is illegal for an enter-data-field to have a length of zero.  The enter-
data-field will be unselectable and may cause other problems in 
MicroStation.

Fixable by the REPAIR command.


#3 ELVLDSP0: Displayable element on level 0

Displayable elements should always be on levels 1 through 63. Level zero is 
reserved for cells (type-2) and data elements (type-5 and type-66).

If SET REPAIR/ELVLDSP0=ASSIGN has been set then the REPAIR command will set 
the level to one (1).


#3 ELVLSHI: Shared Instance (name) level should be (n) instead of (n)

The level of the shared cell instance, placed as relative is incorrect.

Fixable by the REPAIR command.


#3 ERNGBAD: Element range does not match calculated range

The calculated range based on the element definition, parameters, vertices, 
etc., does not match the stored element range.

If SET REPAIR/ERNGBAD=ASSIGN has been set then the REPAIR command will 
modify the element's range according to the calculated value.


#3 ERNGLOHI: Low range greater than high range

An element's range should never have the low range greater than the high 
range.

If SET REPAIR ERNGBAD=ASSIGN has been set then the REPAIR command will 
modify the element's range according to the calculated value.


#3 ETYPHDCM: Some component types (list) incompatible with header type

Some complex headers are very restrictive of the types of elements that may 
be considered as component elements.  An example might be connected strings 
may NOT contain any closed element (e.g., shape, ellipse, etc.).

Use the PATCH WID to identify the component elements that belong to the 
complex header.


#3 ETYPUNSP: Element type (n) is unsupported by MicroStation

The indicated element type is unsupported by MicroStation.


#3 TXTOVF: The text string overflows the element length

Based on the number of characters in the text element, as compared to the 
length of the element, there is not enough room for all of the characters.

The REPAIR command will change the number of characters in the element to 
match what is really present.


#2 Error

Messages that indicate error (E) during verify generally indicate problems 
that have significant impact on display and operation of the file.

BAD
---
Bad elements are usually disfunctionate as well as non-displayable.

INVALID
-------
An invalid element will neither display nor operate correctly.  Invalid 
elements usually result in a file that will not even open and display in 
MicroStation.


!BAD

#3 DGNHDRLEN: Design file header length is incorrect: must be 766

The design file header is corrupted or the file is not a design file.


#3 CELHDRLEN: Cell Library header length is incorrect: must be 23

The cell library file header is corrupted or the file is not a cell 
library.


#3 CELDNFND: Definition element for cell "name" does not exist

A nested cell (type-2) in a cell library or a shared cell instance (type-
35), does not have a corresponding definition element. The definition 
element most likely has been deleted.


#3 CELDVOID: Cell has no elements

Cell definitions (Library CELL, CELL and SHared CELL DEFINITION) must have 
component elements.

The only exception to this is a CELL (type-2) nested in a Library CELL 
(type-2).

If SET REPAIR/CELDVOID=DELETE has been set then the REPAIR command will 
delete the empty cell definitions.


#3 CELINEST: Cell (type2) must be nested in cell library

A cell (type-2) must always be nested when in a cell library. The library 
cell header's words in description is most likely bad.

Use the PATCH WID command on the library cell (type-1) to extended it to 
include the cell or use the DELETE command to delete the cell (type-2).


#3 EDELCMPX: Deleted element in complex group

A deleted element in a complex group will often cause zingers and other 
display anomalies. The words in description of the header may be corrupt or 
the element has somehow been accidentally marked for delete.


#3 ELEMOFFD: Element is off design plane

An element extends beyond the limits of the design plane.  This indicates 
that some or all of the element's graphics is inaccessible.


#3 ELVLBAD: Element type (n) must not reside on level (n)

Certain element types are very restricted about what levels on which they 
can reside.

For CELLs and Library CELLs that are not on Level==0, the REPAIR command 
will handle the problem.


#3 EWTFBAD: Calculated size (n) does not match WTF (n)

The element's actual size does not correspond with the size according to 
the element's parameters (eg., number of vertices, etc.).

Check to see if the element following this one is correct. If it is then 
the parameters in this element should be corrected. Most likely there will 
be a message accompanying this message indicating a problem with the 
attribute linkage data.  If the element following this element appears to 
be garbage data, then this element's words to follow should be modified to 
be at least the calculated value. There may be additional size required 
based on the presence of attribute data.  Use the PATCH WTF command to make 
the corrections.


#3 HTYPWRONG: header is the wrong type (n) for this element type (n)

The element is a component of a complex header.  The header is incorrect 
for this element (such as a bspline knot without a bspline header).

Use the PATCH WID command on this element's complex header element to 
identify its component elements.


#3 NESTMAX: Maximum complex nest level

Components of complex headers must not be nested deeper than 12.

Use the PATCH WID command to adjust the various complex header elements.


#3 NESTNEVR: Element type (n) must never be nested in complex

The element should never be nested in a complex element (such as a group 
data [type-5] element). The words in description of the complex header is 
most likely in error.

Use the PATCH WID command to adjust the header element's component set.


#3 NESTREQD: Element must be nested in complex

The element depends on values in a complex header (such as the component 
elements of a B-Spline). Check to see if the complex header has been marked 
for delete or the words in description is incorrect.

If the previous complex header should be extended then use PATCH WID to 
make the corrections.  Otherwise use the DELETE command to dispose of the 
bogus element.


#3 VERTMAX: Number of Vertices is greater than n

All vertice based elements are limited to 101 vertices.

Most likely the middle of the element contains garbage data and should not 
be trusted.  If the following elements look reasonable then the element 
should probably be deleted.


#3 VERTMIN: Not enough vertices for element

Some vertice based elements (such as a curve) require a minimum of data 
points. For example; a curve must have at least four vertices, a line 
string must have at least two, and a shape must have at least three.



!INVALID


#3 CELRCURS: Recursive nested cell                

A nested cell has the same name as the cell that it is nested within.

In a cell library, if the nested cell (type-2) contains its own elements 
then the REPAIR command will null the nested name.


#3 CNAMNULL: Null name in cell library            

A library cell header (type-1) must have a name in a cell library.

For a cell (type-2) the REPAIR command will identify the element as an 
orphan definition.


#3 EODCMPX: End-of-design encountered in complex element

The complex header is most likely corrupted with a bad words in 
description.

Use the PATCH WID command to identify the component elements of the complex 
header.


#3 EOFCMPX: Physical end-of-file encountered in complex element

The file system end-of-file was encountered in a complex element.

This message indicates severe problems with the file.  More than likely one 
or more of the component elements are corrupt with bad words-to-follow.  
Along with the header having a bad words-in-description.

Check and repair the words-to-follow chain with the PATCH WTF command and 
then correct the header's words-in-description with the PATCH WID command.


#3 ETYPDIM: Element is inconsistent with file dimension

An element that should only appear in a three-D file is in a two-D file. 
The best cleanup is to delete the element.

Use the DELETE command to disable the element in question.


#3 ETYPFTYP: Element is inconsistent with file type

An element that should only appear in a design file (such as a type-9) is 
in a cell file, or a type-1 (library cell header) is in a design file.

Use the DELETE command to disable the element in question.


#3 FHDRMIS: Vital file header element type (n) is missing

A Header element type is not in the expected location.



#2 Fatal

Fatal elements indicate the file is corrupt.


#3 ETYP0: Element type zero (0)

There is not an element type (0) zero.  If an element indicates type zero 
then the file is considered corrupt.

Check the words-to-follow chain with PATCH WTF.  If it is correct then 
delete the type zero element with the DELETE command.


#3 WTF: words to follow out of range (15 < WTF < 767) = n

All active (non-deleted) elements must have a words to follow between 16 
and 768 words (shorts). In reality no active element should ever be shorter 
than a simple line element. That is why complex-shapes and connected-
strings always have a dummy attribute linkage appended.

Use PATCH WTF to correct the words to follow chain.  If the resulting 
words-to-follow is still out of range then mark the element as deleted with 
MODIFY STATUS=DELETED.


#3 WTFLARGE: Words to follow (n) is too large - must be less than 767

All active (non-deleted) elements must have a words to follow less than 768 
words (shorts).

Use PATCH WTF to correct the words to follow chain.  If the resulting 
words-to-follow is still too large then mark the element as deleted with 
MODIFY STATUS=DELETED.


#3 WTFSMALL: Words to follow (n) is too small - must be greater than 15

All active (non-deleted) elements must have a words to follow greater than 
15 words (shorts). In reality no active element should ever be shorter than 
a simple line element. That is why complex-shapes and connected-strings 
always have a dummy attribute linkage appended.

Use PATCH WTF to correct the words to follow chain.  If the resulting 
words-to-follow is still too small then mark the element as deleted with 
MODIFY STATUS=DELETED.



!
!=======================================================================
!  File Repair descriptions
!=======================================================================
#1 fixing-files

The user may often fix design or cell files with little or no knowledge of 
IGDS format (however it does help).  There are several file problems that 
are very easy to repair with EdG:

----------
>> NOTE <<
----------
A copy of the original file should always be used for fix type operations.  
EdG works interactively on the current file which means that the actual 
file is used for all processing.


#2 General-problems

When all is known about the problem file is "it's broken", the EdG user 
must perform a certain amount of analysis on the file.

*** More to be added later ***


#2 Phantom-elements

A phantom element is an element that will display on the screen but may not 
be manipulated in any way.  The user cannot delete it with a fence or by 
element.

Under most circumstances the REPAIR command will fully restore phantom 
elements for your file.  However, REPAIR also changes (fixes) other aspects 
of your file.  If the only changes that are desired are to correct the 
settings of the complex bits then the following sequence may be used.


This condition is caused by the complex status bit being set for an element 
that is not a component of a complex element group (ie. not nested within a 
complex element such as a cell, connected string, etc.).

The solution is to use the following set of EdG commands.

	SET SEARCH/STATUS=ACTIVE,COMPLEX

This tells EdG to search only for active elements with the complex bit set.

	SET SEARCH/TYPE=GRAPHIC

This tells EdG to search only for graphically displayable elements.  This 
is important since some non-graphic elements are supposed to have their 
complex bit set (eg., the design file header's complex bit is used to 
determine whether the file is 3D).

	SET SEARCH/NEST=0

This prevents EdG from processing any elements that are components of 
complex element groups.

	MODIFY STATUS=SIMPLE WHOLE

This will modify the status bits in the element header making it a simple 
element instead of complex.  The phantom elements may now be manipulated.  
If the user wished to delete the phantom elements, the delete command could 
be used instead of modify.

	DELETE WHOLE

This may seem to be very dangerous but remember that the current search 
criteria controls which elements are modified.


#2 Words-to-follow-corrupted

The words to follow (or element pointers) may become corrupted for multiple 
reasons, such as:

*  Disk corruption - data written across one or more blocks of the design 
file.
*  Application error - the application updated the element with a wrong 
value for the words to follow.
*  An interruption in the flow of data being written to disk, such as a 
momentary loss of power or rebooting a computer during a compress operation 
on a design file or cell library.

A solution for this condition may be to find the location in the file where 
the corrupted data begins and write an end_of_design. This is NOT the 
desired solution since great quantities of design data may have been lost.  
The following is a suggested approach with some hints.  Good luck!!

First make a copy of the corrupted file.  This will allow you to return to 
the original data in case your attempt to save the file fails.

	SET ON_BADELE

This command tells EdG to stop processing when a bad element is 
encountered.  The current file pointer will be positioned on the bad 
element.  SET ON_BADELE is the default.

	VERIFY WHOLE

This VERIFY command will start at the beginning of the file and verify 
every element in the file.  When a bad element is encountered processing 
will stop and the current file pointer will be positioned at the bad 
element.

Remember (or write down) the sequence number of the bad element.  This will 
be used to reposition to this location during a later step.

	VERIFY AFTER

Check to see if the data following the bad element appears to be valid.  If 
the data following the bad element appears to be corrupted then return to 
the bad element by typing its sequence number.

	PATCH WTF

This invokes the PATCH facility on the current element so that we can 
(hopefully) correct the words to follow to point to a valid element.

	Patch> GUESS

The first thing that should probably be attempted is to use the GUESS 
command.  This will try to load the words-to-follow based on the nominal 
value for the element type at hand.  A list of several elements will be 
displayed based on the words-to-follow that GUESS generated.  If these 
elements appear to be reasonable then all is well and the user can SAVE the 
value and continue file verification.  However if there still appears to be 
a problem then we need to search further.

	Patch> 0

Enter a zero.  This will load the zero into the current element's words-to-
follow.

	Patch> AUTOMATIC 5

The AUTOMATIC command instructs the PATCH facility to automatically adjust 
the words-to-follow of the current element and then check to following 
elements to see if they may be valid.  The five (5) in our example tells 
the PATCH facility that five valid elements must be found before 
considering the words-to-follow as valid.  When a potentially good element 
is found the PATCH facility will list several element headers.  If the 
listed elements are not considered valid or correct, repeat this command 
until one is found or until the operating system end of file is reached.

	Patch> SAVE

The SAVE command will take the current words-to-follow and permanently load 
it into the element.  The save command also exits the PATCH facility to the 
standard EdG prompt.

	MODIFY STATUS=DELETED

The bad element is probably corrupted and should be marked for delete.

----------
>> NOTE <<
----------
If the original corruption was encountered within a complex element  
header (eg. cell, text node, connected string, etc.) the entire complex 
element should be deleted.


#2 Elements-beyond-end-of-design

Finding elements beyond the end-of-design is typically necessary when the 
user has entered a design file that has lost its end-of-design, and the 
user answered yes to have MicroStation "repair" the file.  This repair is 
accomplished by writing an end-of-design after the last recognizable 
element in the file.  This can result in a large amount of lost data.

*************
** WARNING **
*************
If the user compresses the file or places or manipulates any elements the 
file is truncated and there is no hope of recovering any data following 
the end-of-design.


To find elements past the end-of-design we first locate the existing end-
of-design.

	FIND END

This command locates and positions EdG to the end-of-design marker.

	SHOW SIZE

The "show size" command will display the position (in bytes) of the end-of-
design and the size of the physical file.

		End-of-file   = 740352
		End-of-design = 52136

In this example the difference between the end-of-file and the end-of-
design is significant, and indicates that there is probably data past the 
end-of-design marker.  If the difference is less than 768 then there is 
probably not enough data (if any) past the end-of-design marker to worry 
about recovery.

	UNDEMARCATE

This command will overwrite the end-of-design marker with a dummy deleted 
element header.  It is not really important what element type, just as long 
as the end-of-design word is no longer the hexadecimal value 0xffff (-1).  
This command also adjusts the words-to-follow of the deleted element to 
point to the next available element (if any can be located).


#2 Design-header-lost

There are various and sometimes unknown reasons why a design or cell file 
loses its design header (type 9 or 5).

The following sequence may be used to restore or create a design header for 
the file.  For the purpose of this discussion we will say that the name of 
the file that has lost it's header is "BAD.DGN" and a file that has a 
design header that is similar to the lost header is named "GOOD.DGN".  This 
procedure will create a third file named "NEW.DGN".

	EDG good.dgn

Opens the "good" file.

	OPEN new.dgn

This command creates a new file with the same header information as the 
current file, which is good.dgn.

	EDG bad.dgn

This will open the file called bad.dgn.  Please take note that EdG may 
complain about the file and report the file as not being a design file.

	PATCH WTF

This invokes the PATCH facility on the current (bad header) element so that 
we can (hopefully) correct the words to follow to point to a valid element.

	Patch> 0

Enter a zero.  This will load the zero into the element's words-to-follow.

	Patch> AUTOMATIC 5

The AUTOMATIC command instructs the PATCH facility to automatically adjust 
the words-to-follow of the current element and then check to following 
elements to see if they may be valid.  The five (5) in our example tells 
the PATCH facility that five valid elements must be found before 
considering the words-to-follow as valid.  When a potentially good element 
is found the PATCH facility will list several element headers.  If the 
listed elements are not considered valid or correct, repeat this command 
until one is found or until the operating system end of file is reached.

	Patch> SAVE

The SAVE command will take the current words-to-follow and permanently load 
it into the element.  The save command also exits the PATCH facility to the 
standard EdG prompt.

	TYPE NEXT

This will move beyond the header element to the first good element found 
through the PATCH facility.

	WRITE REST

When the first valid element in the file has been found, this will write 
all of the elements in the remainder of the bad file into the file called 
new.dgn.
 
	CLOSE

This closes the output file.

	EXIT


#2 Dropping-complex-status

Dropping complex status through the following commands will only work for 
the following complex element types: CELL, TNODE (text node), CSTRING 
(connected string), CSHAPE (complex shape), SURFACE and SOLID.  All other 
complex headers (eg., B-Splines, Shared Cells, etc.) should not be dropped 
through this procedure.

The elements to be dropped should be found.  For example:

	SET SEARCH/TYPE=CELL/CELLNAME="abc*"

Then mark the header elements for delete.  It should be noted that we are 
not using the delete command since it will also delete the components of 
the header.

	MODIFY STATUS=DELETE WHOLE

Please note that the "WHOLE" sequence range is used here as an example.  
The user may really only want to drop the current header element.

The remaining steps are the same as if the user had phantom elements (which 
at this stage you do).

	SET SEARCH/ALL

Don't forget to cancel whatever search criteria that had been established 
earlier.

	SET SEARCH/STATUS=ACTIVE,COMPLEX

This tells EdG to search only for active elements with the complex bit set.

	SET SEARCH/TYPE=GRAPHIC

This tells EdG to search only for graphically displayable elements.  This 
is important since some non-graphic elements are supposed to have their 
complex bit set (eg., the design file headers complex bit is used to 
determine whether the file is 3D).

	SET SEARCH/NEST=0

This prevents EdG from processing any elements that are components of 
complex element groups.

	MODIFY STATUS=SIMPLE WHOLE

This will modify the status bits in the elements making them simple 
elements instead of complex.


!
!=======================================================================
!  EdG release notes
!=======================================================================
!
!
#1 release-notes

This is an all new version of EdG for MicroStation.  This version differs 
from previous versions in several important ways (see differences).

#2 Differences

This section attempts to help the transition from earlier implementations 
of EDG.  Please take note of the new way verification and element repair is 
accomplished.


#3 All-users

Several commands and operations are different from all earlier 
implementations of EDG.


#4 Sequence-ranges


#5 AFTER

The AFTER sequence range is new.  AFTER specifies all elements following 
the current element.  AFTER is equivalent to CURRENT+1 THRU END


#5 minus

    format:

	- [n]

A simple minus sign or a minus followed by a number is now equivalent to 
the PREVIOUS_OCCURRENCE [n] sequence range.


#5 plus

    format:

	+ [n]

A simple plus sign or a plus followed by a number is now equivalent to the 
NEXT_OCCURRENCE [n] sequence range.


#5 PREVIOUS

PREVIOUS is a new sequence range that specifies a number of occurrences 
prior to the current element that match the current search criteria.


#5 LAST

The LAST sequence range specifies the element that matches the current 
search criteria that is prior the the end-of-design marker.


#4 FIND

In previous implementations of EDG the FIND command had been overloaded to 
do find operations, element verification, and accumulating statistics. This 
implementation of EDG has moved the element verification into the VERIFY 
command and the statistic accumulation into the SUMMARY command.

	(See SUMMARY command)
	(See VERIFY command)


#4 MODIFY

#5 ALINKAGE

The user may modify element attribute data with the MODIFY ALINKAGE 
command.  It uses the same basic syntax as the MODIFY ELEMENT command.


#5 LENGTH

The user may adjust an element's length by using the MODIFY LENGTH command.


#4 PATCH

The PATCH facility is how the user modifies the words-to-follow or words-
in-description.  The old mechanism of using SET POINTER and MODIFY WTF is 
no longer necessary or available.


#4 SET


#5 END_OF_DESIGN

The SET END_OF_DESIGN command has been replaced with the DEMARCATE command.

	(See DEMARCATE)


#5 LOG_FILE

The SET LOG_FILE command has been replaced by the SET JOURNAL command.  
This removes the ambiguity with the SET LOGGING command.


#5 ON_BADELE

The SET ON_BADELE mode is now an alias that sets some of the verification 
(SET VERIFY) trapping and reporting mechanisms.

	(See SET VERIFY and SET ON_BADELE)


#5 POINTER

The SET POINTER command is no longer implemented.  It is replaced with the 
PATCH facility.


#5 SEARCH

#6 /ALINKAGE

The new /ALINKAGE qualifier is used to search in the element's attribute 
data.  It is similar to the /ELEMENT search qualifier.


#6 /CASE_SENSITIVE

The new /CASE_SENSITIVE qualifier is used to affect the comparisons of text 
strings.


#6 /GROUP

The /GROUP qualifier now accepts a low and high range for group numbers.

	(See SET SEARCH /GROUP)


#5 TRACE_COMPLEX

The SET TRACE_COMPLEX mode is no longer needed.


#5 VERIFY

In older implementations of EDG, SET VERIFY was used to enable element 
verification, as well as specifying some operating parameters.  As the user 
moved through the file with the FIND or TYPE commands the elements were 
verified.

The SET VERIFY command now simply specifies operating parameters for the 
new VERIFY command.


#4 Verification

In previous versions of EDG the user would verify a file through a sequence 
similar to:

	SET VERIFY/LENGTH/RANGE
	END

There is a new command that is to be used to verify files.  It is the 
'VERIFY' command.  Like the 'FIND' or 'TYPE' command the user specifies a 
range of elements for verification.

    example:

	VERIFY WHOLE

	(See VERIFY command)


#4 REPAIR

There is a new automated repair facility that handles many common problems 
without user intervention.

	(see REPAIR command)


#3 Old-ms-edg-users

Please make sure that you carefully review the "all-users" section.


#4 Sequence-ranges

Sequence ranges specified without a command is an implied TYPE command.


#5 LAST

In earlier versions of EDG (1.x) the LAST sequence range selected the 
element before the current element that satisfied the search criteria.  In 
this version the capability is implemented with the PREVIOUS sequence 
range.  The LAST sequence range indicates elements starting at the end of 
the file.


#5 PREVIOUS

The new PREVIOUS range is a replacement for the old LAST sequence range.


#4 SET


#5 SEARCH

#6 /NEST

There is not a separate "mode" for nested search.  The /NEST qualifier 
accepts a mask of the nested "levels" that are to be included in the search 
criteria.

	(See SET SEARCH /NEST)


#6 /TYPE

The user may now specify names for the type, instead of just type numbers.

	(See SET SEARCH /TYPE and FORMATS TYPES)


#6 wild-card-search

This implementation supports using wild cards as part of the search 
criteria for cellnames and character strings.

	(See SET SEARCH /CELLNAME or SET SEARCH /CHARACTERS)


#5 VERIFY

Please see "verification" under "release-notes differences all-users" 
section.


#3 Vax-users

Several commands and operations are different in this implementation of EdG 
from the older VAX/EDG.

Please make sure that you carefully review the "all-users" section.


#4 TOP

Moves to the beginning of the file, regardless of the search criteria, and 
displays the first element.

    format:

	TOP

This command is actually an alias for:

	TYPE BEGIN /ALL_ELEMENTS


#4 FULL

Displays the current element in full

    format:

	FULL

This command is actually an alias for:

	TYPE CURRENT /FULL /ALL_ELEMENTS


#4 BRIEF

Displays the current element in brief

    format:

	BRIEF

This command is actually an alias for:

	TYPE CURRENT /BRIEF /ALL_ELEMENTS


#4 SET

#5 ACCUMULATE_STATISTICS

The procedure for accumulating statistics about a file or range of elements 
used to be:

	SET SEARCH/yada/yada
	SET ACCUMULATE_STATISTICS
	FIND [seq_range]
	SHOW STATISTICS

There is now a new command SUMMARY that replaces this with:

	SET SEARCH/yada/yada
	SUMMARY [seq_range]

		or just

	SUMMARY [seq_range] /yada/yada


#5 LOG_FILE

The SET LOG_FILE command has been replaced by the SET JOURNAL_FILE command.  
This removes the ambiguity with the SET LOGGING command.


#5 OUTPUT

The /TERMINAL qualifier on the SET OUTPUT command has been renamed to 
/SCREEN.


#4 QUIT

The quit command is equivalent to the EXIT command.

!
#2 Feature-lists

The following are simple lists that show which features have been 
implemented and which features are not yet implemented.


#3 Implemented

Automatic suffixing of ".dgn" or ".cel"

Element Ranges
--------------
    Single Elements
	single {+|-} offset
	BEGIN  or  TOP
	CURRENT  or  .
	END_OF_DESIGN
	FIRST_OCCURRENCE [n]  or  OCCURRENCE [n]
	HEADER
	minus	( -[n] )
	NEXT_OCCURRENCE [n]  or  +[n]
	plus	( +[n] )
	PREVIOUS_OCCURRENCE [n]  or  -[n]	(used to be LAST)
    Multiple Elements
	AFTER
	BEFORE
	[single] {#|FOR} n  (changed to be same as "[single] : next {n-1}")
	REST
	[single] {:|THRU|TO} [single]
	WHOLE

BACKUP
BRIEF				(alias for "type/brief current")
CLOSE
@command_files			(vax)
DELETE
DEMARCATE			(NEW: used to be "set end_of_design")
EDG filename
EVALUATE
EXIT
FIND
FULL				(alias for "type/full current")
HELP
MODIFY ALINKAGE			(NEW)
MODIFY CHARACTERS="string"
MODIFY CLASS
MODIFY COLOR
MODIFY ELEMENT
MODIFY FONT
MODIFY GROUP
MODIFY LENGTH			(NEW)
MODIFY LEVEL
MODIFY P_BITS
MODIFY STATUS
MODIFY STYLE
MODIFY WEIGHT
MODIFY {XHIGH/YHIGH/ZHIGH/XLOW/YLOW/ZLOW}
OPEN filename
PATCH WID			(NEW)
	/AUTOMATIC
	AUTOMATIC
	GUESS
	LIST
	minus
	number
	plus
	QUIT
	SAVE
	SET_LIST
PATCH WTF			(NEW: replaces MODIFY WTF & SET POINTER)
	/AUTOMATIC
	AUTOMATIC
	GUESS
	LIST
	minus
	number
	plus
	QUIT
	SAVE
	SET_LIST
	VERIFY
REMOVE				(NEW)
REPAIR				(NEW)
{return}			(alias for TYPE NEXT)
SET BANNER			(vax)
SET COMPLEX
SET DISPLAY
	/ATTRIBUTES
	/BINARY={ASCII,DECIMAL,HEX,OCTAL,RAD50,SIGNED_DECIMAL}
	/BRIEF
	/COMMON_PARAMETERS
	/DATA
	/DUMP
	/FULL	(some elements not completed)
	/GRAPHIC or /GGROUP
	/INDEX_TO_ATTRIBUTES
	/NUMBER_OF
	/ORIENTATION
	/PARAMETERS
	/PDATA
	/POSITION
	/PROPERTIES
	/{radix}
	/RANGE
	/SCALE_SIZE or /SIZE_SCALE
	/SYMBOLOGY
	/TEXT
	/UNFORMATTED_TEXT [= {NORMAL | SWAPPED} ]	(NEW)
	/WORKING_UNITS [ =GLOBAL_ORIGIN ]		(vax)
SET FIX
SET JOURNAL_FILE [filename]	(NEW)
SET LIST n			(NEW)
SET LOGGING			(vax)
SET MODE
SET ON_BADELE			(alias for new SET VERIFY/TRAP)
SET OUTPUT			(vax)
	/COMMAND		...
	/ECHO			...
	/JOURNAL		...
	/PAGE			(NEW)
	/SCREEN			...
SET PROMPT "string"		(vax)
SET PROMPT DEFAULT		(vax)
SET PROMPT FILE			(NEW)
SET REPAIR			(NEW)
	/ATTRFLAG
	/CBITNEST
	/CBITUNST
	/CELDDUP
	/CELDVOID
	/CLSBAD
	/DATAZERO
	/ELVLDSP0
	/ERNGBAD
	/GGRPHIGH
	/NODEHIGH
	/RLVLSET
	/PROPLOCK
SET SEARCH
	/ALINKAGE		(NEW)
	/ALL_ELEMENTS
	/CASE_SENSITIVE		(NEW)
	/CELLNAME
	/CHARACTERS
	/CLASS
	/COLOR
	/ELEMENT
	/EXPAND
	/FONT
	/GROUP
	/LEVEL
	/NEST
	/P_BITS or /PBITS
	/STATUS
	/STYLE
	/TYPE
	/WEIGHT
SET SUMMARY			(NEW)
SET VERIFY			(NEW: but same name)
	/REPORT={ALL/INFORMATIONAL/WARNING/ERROR/FATAL/NONE}
	   {INCOMPATIBLE/INCONSISTENT/IRREGULAR/ABNORMAL/BAD/INVALID/FATAL}
	/TRAP={ALL/INFORMATIONAL/WARNING/ERROR/FATAL/NONE}
	   {INCOMPATIBLE/INCONSISTENT/IRREGULAR/ABNORMAL/BAD/INVALID/FATAL}
	/{severity}
	/SUMMARY={severity}
	/LEVEL=list
	/TYPE=list
	/SEARCH
SHOW ALL
SHOW DISPLAY
SHOW FILES
SHOW OUTPUT
SHOW SEARCH
SHOW SIZE			(vax)
SHOW REPAIR			(NEW)
SHOW VERIFY			(NEW)
SHOW VERSION
SUMMARY				(NEW: replaces SET ACCUMULATE_STATISTICS)
TOP				(alias for "TYPE BEGIN/ALL_ELEMENTS")
TYPE
UNDELETE
UNDEMARCATE			(NEW)
VERIFY				(NEW)
WRITE

EDG USER SURVEY RESULTS
-----------------------
	Support fully automated file repair
	Upgrade EDG to the capabilities of the VAX-based EDG, including:
		accumulate statistics (new SUMMARY command)
		Halting output without terminating EDG
		Command file support and edgini support
		SET LOG command (implemented as SET JOURNAL)


#3 Non-Implemented

File searching on open

Command line editing (including command recall)

Element Ranges
--------------
	LAST_OCCURRENCE [n]	(NEW: from bottom of file)
	POINTER
	POSITION
	SAVE_POINTER
	SELECT

CHECKSUM
DROP /CNEST=n			(NEW)
DUMP				(vax)
MODIFY CHARACTERS=SUBSTITUTE/string1/string2/
MODIFY CHARACTERS={UPPER/LOWER/MIXED}
REVERT				(NEW)
SET HELP			(vax)
SET READ_ONLY			(vax)
SET SAVE_POINTER		(vax)
SET SEARCH
	/GREP			(NEW)
	/LINKAGE		(NEW)
SET TRACE_COMPLEX  		(this may no longer be needed)
SHOW HELP
SHOW MODE
SHOW SAVE_POINTER

EDG USER SURVEY RESULTS
-----------------------
	Upgrade EDG to the capabilities of the VAX-based EDG, including:
		Support for review of all type 5 element formats
		Full MODIFY CHARACTERS support
		Listing of all element parameters
	Provide a graphical user interface for EDG
	Enhance the MODIFY command to include:
		Modifying reference file attachments
		SED- or GREP-style replacement for MODIFY CHARACTERS
	Add calculated fields to element display, such as:
		the X,Y coordinates for the end points of an arc
		The length of arcs and the circumference of a circle

#3 Obsolete

MODIFY WID			(replaced by new PATCH WID facility)
MODIFY WTF OR WORDS_TO_FOLLOW	(replaced by new PATCH WTF facility)
SET ACCUMULATE_STATISTICS	(vax: replaced by SUMMARY)
SET END_OF_DESIGN		(replaced by DEMARCATE)
SET LOG_FILE {filename}		(vax: replaced by SET JOURNAL)
SET POINTER			(replaced by new PATCH WTF facility)
SET VERIFY
	/LENGTH			(obsolete, always done by VERIFY)
	/RANGE			(obsolete, always done by VERIFY)
SHOW STATISTICS			(vax: replaced by SUMMARY)
!
#2 This-version

>> Version 5.5 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

*  Added command line switches (/? to review)
*  Added MicroStation Window, Icon, & help file for 
   Windows Version (Windows NT, Windows 95, & Windows 3.1).


#2 Version-history


!
!
!
!=======================================================================
!  MicroStation element format descriptions
!=======================================================================
#1 formats

These are descriptions of IGDS/MicroStation element formats.  Included are 
the Intergraph Standard File Formats (ISFF).


#2 header

The first 18 words (19 in a complex element) of IGDS/MicroStation elements 
contain parameters that are used by the file scanner logic for element 
selection.  These parameters are common to all elements found within a 
design file and occupy the same locations in all element definitions.

        +--------+--------+
        |U  type |CR  lvl |   (1)  level and type of element
        +--------+--------+
        | words to follow |   (2)  indicates length of element
        +-----------------+
        +--    X low    --+   (3-4)     range low
        +-----------------+
        +--    Y low    --+   (5-6)
        +-----------------+
        +--    Z low    --+   (7-8)
        +-----------------+
        +--    X high   --+   (9-10)    range high
        +-----------------+
        +--    Y high   --+   (11-12)
        +-----------------+
        +--    Z high   --+   (13-14)
        +-----------------+
        | graphic group # |   (15)
        +-----------------+
        |  index to attr. |   (16)
        +-----------------+
        |    properties   |   (17)
        +-----------------+
        |    symbology    |   (18)
        +-----------------+


#3 U-bit

The Use-bit, when clear indicates that the element is active. When the bit 
is set the element is MARKED for delete. Elements are not actually removed 
from the file until a compress operation is performed.


#3 type

The element type is a value between 1 and 126 denoting the type of element 
(line, shape, etc.).  Element types 1 through 48 and 66 are reserved for 
IGDS/MicroStation usage.  A value of zero is not valid. For that matter if 
an element has a type of zero then the file is considered corrupt. See 
FORMATS TYPES for more information.


#3 C-bit(complex_bit)

The complex bit, when clear indicates that the element is a simple (non-
complex) element.  When set the element is considered a component of a 
complex element.  The only exception to this is the file header element 
(the first type-9 element in a design file or type-5 element in a cell 
library). The complex bit for the file header element indicates that the 
file is a 3D file.


#3 R-bit(reserved_bit)

The reserved bit is not used and should be equal to zero.


#3 levels

The levels range between 0 and 63 in value. Levels 1 through 63 are fully 
accessible to the user. Level (0) zero is used for cell headers and some 
type-5 and type-66 elements. No other element should have a level value of 
zero.


#3 words-to-follow

All active (non-deleted) elements must have a words to follow of at least 
16, which will encompass the standard element header, and not greater than 
766. In reality no active element should ever have a words-to-follow of 
less than 22. That is why complex-shapes and connected-strings always have 
a dummy attribute linkage appended.


#3 range

Words 3 through 14 define the absolute UOR range of the elements.  These 
values are unsigned double precision integers.


#3 graphic_group

Word 15 contains the graphic group number which is used to locate all 
elements when performing a group manipulation.


#3 index_to_attr

Word 16 defines the number of words existing between (and excluding) itself 
and the first word of the attribute linkage data.  The attribute linkage is 
optional and may or may not be present, but the index must point to the 
location for the first word of the data whether or not it exists.  This 
word essentially describes the numbers of words of element-type data 
following word 16.


#3 properties

	+---------------+-------+-------+
	|H|S|P|V|A|M|N|L|       |       |
	+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	     p_bits     reserved   class

Word 17 is used to describe various properties of each element.


#4 class

Number identifying the class of the element.

	0 - Primary
	1 - Pattern component
	2 - Construction element
	3 - Dimensioning element
	4 - Primary rule element
	5 - Linear patterned element
	6 - Construction rule element


#4 p_bits

#5 Hole

For closed element types (shape (6), complex shape (14), ellipse (15), cone 
(23), b-spline surface header (24), and closed B-Spline curve header (27)) 
the Hole-bit indicates whether the element is a solid or a hole.

	0 = solid, 1 = hole.

For a cell header (type 2) if the Hole-bit is:
	0 = regular cell
	1 = orphan cell (created by "group selection" or application)

For a line (type 3), if the Hole-bit is:
	0 = regular line segment
	1 = infinite-length line

For a point string (type 22), if the Hole-bit is:
	0 = continuous
	1 = disjointed

The Hole-bit has no meaning in other element types and should always be 
clear (0).


#5 Snappable

Indicates Snappable or non-snappable status:
	0 = snappable, 1 = non-snappable


#5 Planar

Indicates whether or not element is planar:
	0 = planar, 1 = non-planar


#5 View_ind

Indicates whether element is oriented relative to the screen or relative to 
the data base:
	0 = relative to data base (view dependent)
	1 = relative to screen (view independent)


#5 Attributes

Indicates whether attribute data is present:
0 = not present, 1 = present


#5 Modified

Set to indicate an element has been graphically modified.


#5 New

Set to indicate an element is a new element.


#5 Locked

Set to indicate an element is locked.


#3 symbology

	+---------------+---------+-----+
	|               |         |     |
	+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	     color        weight   style


	Color		Indicates color of the element

	Weight		Indicates thickness of element

	Style		Indicates type of vectors

			0 = Solid
			1 = Dotted
			2 = Medium dash
			3 = Long dash
			4 = Dash, Dot
			5 = Short dash
			6 = Dash, Dot, Dot
			7 = Long dash, Dash


#2 types

The following is a list of the element type numbers and their corresponding 
names.

	1	LIBRARY_CELL or LCELL
	2	CELL
	3	LINE
	4	LIN_STRING or LSTRING
	5	GROUP_DATA
	6	SHAPE
	7	TNODE or NODE	(text node)
	8	DIGITIZER
	9	DESIGN_FILE	(header)
	10	LEVEL_SYMB
	11	CURVE
	12	CONNECTED_STRING or CSTRING
	13	CONIC		(not supported)
	14	COMPLEX_SHAPE or CSHAPE
	15	ELLIPSE
	16	ARC
	17	TEXT
	18	SURFACE
	19	SOLID or CAPPED_SURFACE
	20	SUBFIGURE	(not supported)
	21	BPOLE		(b-spline pole)
	22	POINT_STRING or PSTRING
	23	TRUNCATED_CONE or TCONE
	24	BSURFACE_HEADER
	25	BBOUNDARY	(b-spline surface boundary)
	26	BKNOT		(b-spline knot)
	27	BCURVE_HEADER
	28	BWEIGHT		(b-spline weight factor)
	29-32	reserved
	33	DIMENSION
	34	SHCELL		(shared cell definition)
	35	SHINSTANCE	(shared cell instance)
	36	MULTILINE or MLINE
	37	TAG_DATA
	38-48	reserved
	49-65	application elements
	66	MS		(microstation)
	67-86	application elements
	87	RASTER_HEADER
	88	RDATA		(raster data)
	89-125	application elements
	126	user defined
	127	reserved


#2 Application

Element types 49 through 127 (with the exception of type 126) are  reserved 
for use by Intergraph applications products.  Element type 126 is reserved 
for use by Intergraph customers. 

            51   ARCH
            54   SDS
            56   IEDS, WMS
            57   ICS, SDI
            58   Text ARRAY
            59	 Text STACK
            60   SIS
            61   EWS SCHEMATIC
            62   EWS PANEL
            63   EWS, PDS
            89   RASTER DATA
            90   RASTER HEADER
           100   SDC


#3 ARCH

	element type 51


#3 EWS

	element types 61 and 62

Application header for saving parameters between design sessions. for the 
EWS Schematic Design product (type 61) and the EWS Panel Design product 
(type 62).


#3 ICS, SDI

	element type 57

Storage of setup parameters for stereoplotters.


#3 MICROSTATION_AUXILIARY_TCB

	element type 66

Storage of some parameters which were active during a design session with 
Microstation.


#3 RASTER_HEADER_ELEMENT

    	element type 87

    	+--------------------------------+
    	|                                |
    	|             header             |
    	|                                |
    	+--------------------------------+
    	|                                |  (19)
    	+---   words in description   ---+
    	|                                |  (20)
    	+--------------------------------+
    	|  Raster Flags  | Format| Just  |  (21)
    	+--------------------------------+
    	|  F/G colour    |   B/G colour  |  (22)
    	+--------------------------------+
    	|         x pixel extent         |  (23)
    	+--------------------------------+
    	|         y pixel extent         |  (24)
    	+--------------------------------+
    	|                                |  (25)
    	+---          Reserved        ---+
    	|                                |
    	+--------------------------------+
    	|                                |
    	+---                          ---+
    	|                                |
    	+---     Device Resolution    ---+
    	|              (DFPF)            |
    	+---                          ---+
    	|                                |
    	+--------------------------------+
    	|                                |
    	+---                          ---+
    	|                                |
    	+---  pix to UOR conv factor  ---+
    	|              (DFPF)            |
    	+---                          ---+
    	|                                |
    	+--------------------------------+
    	|                                |
    	+---       X UOR Origin       ---+
    	|                                |
    	+--------------------------------+
    	|                                |
    	+---       Y UOR Origin       ---+
    	|                                |
    	+--------------------------------+
    	|                                |
    	+---       Z UOR Origin       ---+
    	|                                |
    	+--------------------------------+
    	|    # vertices in clip shape    |
    	+--------------------------------+
    	|                                |
    	+---            X1            ---+
    	|                                |
    	+--------------------------------+
    	|                                |
    	+---            Y1            ---+
    	|                                |
    	+--------------------------------+
    	|                                |
    	|                                |
    	|               etc.             |
    	|                                |
    	|                                |
    	+--------------------------------+


#3 RASTER_DATA_ELEMENT

    	element type 88

    	+--------------------------------+
    	|                                |
    	|             header             |
    	|                                |
    	+--------------------------------+
    	|  Raster Flags  | Format| Just  |  (19)
    	+--------------------------------+
    	|  F/G colour    |   B/G colour  |  (20)
    	+--------------------------------+
    	|         x pixel extent         |  (21)
    	+--------------------------------+
    	|         y pixel extent         |  (22)
    	+--------------------------------+
    	|        # pixels in data        |  (23)
    	+--------------------------------+
    	|              Data              |  (24)
    	|                .               |
    	|                .               |
    	|                .               |
    	|                                |
    	+--------------------------------+


#3 SDC

	element type 100

Used to store file names, program parameters, and user command information 
for the various programs within the SDC product.


#3 SDS

	element type 54

Seismic Trace Management and Design Scale.


#3 SIS

	element type 60

Seismic Trace Management and Design Scale.


#3 USERS

	element type 126

Element type 126 is reserved for use by Intergraph customers. 


#3 WMS

	element type 56

Storage of WMS projection parameters.


#2 ARC

	element type 16
           2D                                3D
    +-----------------+                +-----------------+
    |      header     |                |      header     |
    |                 |                |                 |
    +-----------------+                +-----------------+
    +-- start angle --+   (19)         +-- start angle --+
    +-----------------+                +-----------------+
    +-- sweep angle --+   (21)         +-- sweep angle --+
    +-----------------+                +-----------------+
    +--   primary   --+   (23)         +--   primary   --+
    +--             --+                +--             --+
    +--    axis     --+                +--    axis     --+
    +-----------------+                +-----------------+
    +--  secondary  --+   (27)         +--  secondary  --+
    +--             --+                +--             --+
    +--    axis     --+                +--    axis     --+
    +-----------------+                +-----------------+
    |     rotation    |   (31)         +--     Q 4     --+
    +--             --+                +-----------------+
    |      angle      |                +--     Q 1     --+
    +-----------------+                +-----------------+
    +--             --+   (33)         +--     Q 2     --+
    +--   X origin  --+                +-----------------+
    +--             --+                +--     Q 3     --+
    +-----------------+                +-----------------+
    +--             --+                +--             --+  (39)
    +--   origin    --+                +--   X origin  --+
    +--             --+                +--             --+
    +-----------------+                +-----------------+
    |    attribute    |                +--             --+
    |     linkage     |                +--   Y origin  --+
    +- - - - - - - - -+                +--             --+
                                       +-----------------+
                                       +--             --+
                                       +--   Z origin  --+
                                       +--             --+
                                       +-----------------+
                                       |    attribute    |
                                       |     linkage     |
                                       +- - - - - - - - -+


#2 B_CURVE_HEADER

	element type 27

	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|              words             |  (19)
	+--             in             --+
	|           description          |
	+----------------+---------------+
	|  curve type    | crps | order  |  (21)
	+--------------------------------+
	|            # of poles          |  (22)
	+--------------------------------+
	|            # of knots          |  (23)
	+--------------------------------+
	|           attribute            |
	|            linkage             |
	+--------------------------------+


#2 B_KNOT

	element type 26

	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	+--            U 1             --+  (19)
	+--------------------------------+
	|               .                |
	|               .                |
	|               .                |
	|                                |
	+--------------------------------+
	+--            U n             --+
	+--------------------------------+
	+--            V 1             --+  (surface only)
	+--------------------------------+
	|               .                |
	|               .                |
	|               .                |
	|                                |
	+--------------------------------+
	+--            V n             --+
	+--------------------------------+


#2 B_POLE

	element type 21

              2D                               3D
     +-----------------+               +-----------------+
     |                 |               |                 |
     |      header     |               |      header     |
     |                 |               |                 |
     +-----------------+               +-----------------+
     |   # of poles    |  (19)         |   # of poles    |   (19)
     +-----------------+               +-----------------+
     +--     X 1     --+               +--     X 1     --+
     +-----------------+               +-----------------+
     +--     Y 1     --+               +--     Y 1     --+
     +-----------------+               +-----------------+
     +--     X 2     --+               +--     Z 1     --+
     +-----------------+               +-----------------+
     +--     Y 2     --+               +--     X 2     --+
     +-----------------+               +-----------------+
     |        .        |               +--     Y 2     --+
     |        .        |               +-----------------+
     |        .        |               +--     Z 2     --+
     |                 |               +-----------------+
     +-----------------+               |        .        |
     +--     X n     --+               |        .        |
     +-----------------+               |        .        |
     +--     Y n     --+               |                 |
     +-----------------+               +-----------------+
                                       +--     X n     --+
                                       +-----------------+
                                       +--     Y n     --+
                                       +-----------------+
                                       +--     Z n     --+
                                       +-----------------+


#2 B_BOUNDARY

	element type 25

		     (3D only)
	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|           boundary #           |  (19)
	+--------------------------------+
	|          # of points           |  (20)
	+--------------------------------+
	+--             U 1            --+  (21)
	+--------------------------------+
	+--             V 1            --+
	+--------------------------------+
	|                .               |
	|                .               |
	|                .               |
	|                                |
	+--------------------------------+
	+--             U n            --+
	+--------------------------------+
	+--             V n            --+
	+--------------------------------+


#2 B_SURFACE_HEADER

	element type 24

		     (3D only)
	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	+--    words in description    --+  (19)
	+----------------+---------------+
	| surface type   | crps  | order |  (21)
	+--------------------------------+
	|            # of poles U        |  (22)
	+--------------------------------+
	|            # of knots U        |  (23)
	+--------------------------------+
	|           # rule lines U       |  (24)
	+--------------------------------+
	|   reserved     |    |  order   |  (25)
	+--------------------------------+
	|            # of poles V        |  (26)
	+--------------------------------+
	|            # of knots V        |  (27)
	+--------------------------------+
	|           # rule lines V       |  (28)
	+--------------------------------+
	|            # boundaries        |  (29)
	+--------------------------------+
	|           attribute            |
	|            linkage             |
	+--------------------------------+


#2 B_WEIGHT_FACTOR

	element type 28

	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	+--             H 1            --+  (19)
	+--------------------------------+
	|                .               |
	|                .               |
	|                .               |
	|                                |
	+--------------------------------+
	+--             H n            --+
	+--------------------------------+


#2 CAPPED_SURFACE

	element type 19

		     (3D only)
	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|       words in description     |  (19)
	+--------------------------------+
	|           # of elements        |  (20)
	+---------------+----------------+
	|  # bound - 1  |     type       |  (21)
	+---------------+----------------+
	|           attribute            |
	|            linkage             |
	+--------------------------------+

	solid types:

		0 = Volume of projection
		1 = Volume of revolution
		2 = Volume defined by boundary elements


#2 CELL

	element type 2

              2D                                 3D
        +-----------------+              +-----------------+
        |      header     |              |      header     |
        |                 |              |                 |
        +-----------------+              +-----------------+
        | words in descr. |  (19)        | words in descr. |  (19)
        +-----------------+              +-----------------+
        +--  cell name  --+  (20)        +--  cell name  --+  (20)
        +-----------------+              +-----------------+
        | class bit mask  |  (22)        | class bit mask  |  (22)
        +-----------------+              +-----------------+
        +--   level     --+  (23)        +--   level     --+  (23)
        +--    bit      --+              +--    bit      --+
        +--    mask     --+              +--    mask     --+
        +-----------------+              +-----------------+
        +--    X low    --+  (27)        +--    X low    --+  (27)
        +-----------------+  range       +-----------------+  range
        +--    Y low    --+  block       +--    Y low    --+  cube
        +-----------------+  diagonal    +-----------------+
        +--    X high   --+              +--    Z low    --+
        +-----------------+              +-----------------+
        +--    Y high   --+              +--    X high   --+
        +-----------------+              +-----------------+
        +--     T 11    --+  (35)        +--    Y high   --+
        +-----------------+  transform-  +-----------------+
        +--     T 12    --+    ation     +--    Z high   --+
        +-----------------+  matrix      +-----------------+
        +--     T 21    --+              +--    T 11     --+ (39)
        +-----------------+              +-----------------+
        +--     T 22    --+              +--    T 12     --+
        +-----------------+              +-----------------+
        +--   X origin  --+  (43)        +--    T 13     --+
        +-----------------+              +-----------------+
        +--   Y origin  --+              +--    T 21     --+
        +-----------------+              +-----------------+
        |    attribute    |              +--    T 22     --+
        |     linkage     |              +-----------------+
        +- - - - - - - - -+              +--    T 23     --+
                                         +-----------------+
                                         +--    T 31     --+
                                         +-----------------+
                                         +--    T 32     --+
                                         +-----------------+
                                         +--    T 33     --+
                                         +-----------------+
                                         +--   X origin  --+  (57)
                                         +-----------------+
                                         +--   Y origin  --+
                                         +-----------------+
                                         +--   Z origin  --+
                                         +-----------------+
                                         |    attribute    |
                                         |     linkage     |
                                         +- - - - - - - - -+


#2 COMPLEX_SHAPE

	element type 14

	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|       words in description     |  (19)
	+--------------------------------+
	|          # of elements         |  (20)
	+--------------------------------+
	|           attribute            |  (21) 4 word dummy attribute
	|            linkage             |
	+--------------------------------+


#2 CONIC

	(NOT SUPPORTED by MicroStation)

	element type 13

                  2D                            3D
         +-----------------+            +-----------------+
         |                 |            |                 |
         |      header     |            |      header     |
         |                 |            |                 |
         +-----------------+            +-----------------+
         |   # vertices    |  (19)      |   # vertices    |  (19)
         +-----------------+            +-----------------+
         +--    X 1      --+  (20)      +--     X 1     --+  (20)
         +-----------------+            +-----------------+
         +--    Y 1      --+            +--     Y 1     --+
         +-----------------+            +-----------------+
         +--    X 2      --+            +--     Z 1     --+
         +-----------------+            +-----------------+
         +--    Y 2      --+            +--     X 2     --+
         +-----------------+            +-----------------+
         |        .        |            +--     Y 2     --+
         |        .        |            +-----------------+
         |        .        |            +--     Z 2     --+
         |                 |            +-----------------+
         +-----------------+            |        .        |
         +--     X n     --+            |        .        |
         +-----------------+            |        .        |
         +--     Y n     --+            |                 |
         +-----------------+            +-----------------+
         |   attribute     |            +--     X n     --+
         |    linkage      |            +-----------------+
         +- - - - - - - - -+            +--     Y n     --+
                                        +-----------------+
                                        +--     Z n     --+
                                        +-----------------+
                                        |    attribute    |
                                        |     linkage     |
                                        +- - - - - - - - -+


#2 CONNECTED_STRING

	element type 12

	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|       words in description     |  (19)
	+--------------------------------+
	|           # of elements        |  (20)
	+--------------------------------+
	|           attribute            |  (21) 4 word dummy attribute
	|            linkage             |
	+--------------------------------+


#2 CURVE

	element type 11

                  2D                            3D
         +-----------------+            +-----------------+
         |                 |            |                 |
         |      header     |            |      header     |
         |                 |            |                 |
         +-----------------+            +-----------------+
         |   # vertices    |  (19)      |   # vertices    |  (19)
         +-----------------+            +-----------------+
         +--    X 1      --+  (20)      +--     X 1     --+  (20)
         +-----------------+            +-----------------+
         +--    Y 1      --+            +--     Y 1     --+
         +-----------------+            +-----------------+
         +--    X 2      --+            +--     Z 1     --+
         +-----------------+            +-----------------+
         +--    Y 2      --+            +--     X 2     --+
         +-----------------+            +-----------------+
         |        .        |            +--     Y 2     --+
         |        .        |            +-----------------+
         |        .        |            +--     Z 2     --+
         |                 |            +-----------------+
         +-----------------+            |        .        |
         +--     X n     --+            |        .        |
         +-----------------+            |        .        |
         +--     Y n     --+            |                 |
         +-----------------+            +-----------------+
         |   attribute     |            +--     X n     --+
         |    linkage      |            +-----------------+
         +- - - - - - - - -+            +--     Y n     --+
                                        +-----------------+
                                        +--     Z n     --+
                                        +-----------------+
                                        |    attribute    |
                                        |     linkage     |
                                        +- - - - - - - - -+


#2 DESIGN_HEADER

	element type 9

	+----------------+---------------+
	|     type 9     |  3D |   ver   |  (1)
	+----------------+---------------+
	|          words to follow       |  (2)
	+--------------------------------+
	+--             X low          --+  (3)	dummy range = 0
	+--------------------------------+
	+--             Y low          --+
	+--------------------------------+
	+--             Z low          --+
	+--------------------------------+
	+--             X high         --+
	+--------------------------------+
	+--             Y high         --+
	+--------------------------------+
	+--             Z high         --+
	+--------------------------------+
	|              contrl            |  (15)
	+--------------------------------+
	|               ...              |
	|                                |
	|              design            |
	|                                |
	|            parameters          |
	|                                |
	|               ...              |
	|                                |
	+--------------------------------+
	|              grafic            |  (595)
	+--------------------------------+
	|               ...              |
	+--------------------------------+
	|              ggbase            |  (642)
	+--------------------------------+
	|              nnbase            |  (643)
	+--------------------------------+
	|              canode            |  (644)
	+--------------------------------+
	|                                |
	|              ...               |
	|                                |
	+--------------------------------+


#2 DIGITIZER

	element type 8

	+----------------+---------------+
	|     type 8     |    not used   |  (1)
	+----------------+---------------+
	|          words to follow       |  (2)
	+--------------------------------+
	+--             X low          --+  (3)	dummy range = 0
	+--------------------------------+
	+--             Y low          --+
	+--------------------------------+
	+--             Z low          --+
	+--------------------------------+
	+--             X high         --+
	+--------------------------------+
	+--             Y high         --+
	+--------------------------------+
	+--             Z high         --+
	+--------------------------------+
	|                                |  (15)
	|                                |
	|                                |
	|             digitizer          |
	|                                |
	|             parameters         |
	|                                |
	|                                |
	|                                |
	|                                |
	+--------------------------------+


#2 ELLIPSE

	element type 15

                2D                           3D
        +-----------------+          +-----------------+
        |      header     |          |      header     |
        |                 |          |                 |
        +-----------------+          +-----------------+
        +--   primary   --+  (19)    +--   primary   --+  (19)
        +--             --+          +--             --+
        +--    axis     --+          +--    axis     --+
        +-----------------+          +-----------------+
        +--  secondary  --+  (23)    +--  secondary  --+  (23)
        +--             --+          +--             --+
        +--    axis     --+          +--    axis     --+
        +-----------------+          +-----------------+
        |     rotation    |  (27)    +--     Q 4     --+  (27)
        +--             --+          +-----------------+ quaternion
        |      angle      |          +--     Q 1     --+  orien-
        +-----------------+          +-----------------+  tation
        +--             --+  (29)    +--     Q 2     --+
        +--   X origin  --+          +-----------------+
        +--             --+          +--     Q 3     --+
        +-----------------+          +-----------------+
        +--             --+          +--             --+  (35)
        +--   Y origin  --+          +--   X origin  --+
        +--             --+          +--             --+
        +-----------------+          +-----------------+
        |    attribute    |          +--             --+
        |     linkage     |          +--   Y origin  --+
        +- - - - - - - - -+          +--             --+
                                     +-----------------+
                                     +--             --+
                                     +--   Z origin  --+
                                     +--             --+
                                     +-----------------+
                                     |    attribute    |
                                     |     linkage     |
                                     +- - - - - - - - -+


#2 GROUP_DATA

	element type 5

	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|                                |  (19)
	|              group             |
	|           description          |
	|                                |	variable length,
	|                                |	variable format
	|                                |
	+--------------------------------+


#3 auxiliary_coordinate_system

	(same as construction plane)
	level = 3, class = 0

	+--------------------------------+
	|    type = 5    |   level = 3   |
	+--------------------------------+
	|        # words to follow       |
	+--------------------------------+
	|    coordinate system origin    |
	+--------------------------------+
	|       graphic group = 0        |
	+--------------------------------+
	|       index to attributes      |
	+--------------------------------+
	|           properties           |
	+--------------------------------+
	|    reserved           | type   | -------->  indicates coordinate
	+--------------------------------+              system type
	|        coordinate system       |		=1, rectangular
	|          description           |		=2, cylindrical 
	|      (27 character rad50)      |		=3, spherical 
	+--------------------------------+
	|       coordinate system        |
	|          orientation           |
	|         (dfpi matrix)          |
	+--------------------------------+
	|                                |
	+--------------------------------+
	|           user id = 22         |
	+--------------------------------+
	+--   coordinate system name   --+
	+--------------------------------+


#3 cell_library_header

	level = 8

	+--------------------------------+
	| u | type = 5   | c| r| unused  |
	+--------------------------------+
	|        # words to follow       |
	+--------------------------------+
	+--             0              --+
	+--------------------------------+
	+--             0              --+
	+--------------------------------+
	+--             0              --+
	+--------------------------------+
	+--             0              --+
	+--------------------------------+
	+--             0              --+
	+--------------------------------+
	+--             0              --+
	+--------------------------------+
	|       graphic group = 0        |
	+--------------------------------+
	|       index to attributes      |
	+--------------------------------+
	|    properties indicator = 0    |
	+--------------------------------+
	|     display symbology = 0      |
	+--------------------------------+
	+--                            --+
	+--           7-Word           --+
	+--         Cell Index         --+
	+--          File Name         --+
	+--          (LKTRAN)          --+
	+--                            --+
	+--------------------------------+


#3 color_table

	level = 1
	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	| s  |         reserved          |  (19)
	+--------------------------------+
	|                                |
	|         color table data       |
	~            (384 words)         ~
	~                                ~
	~                                ~
	|                                |
	|                                |
	+--------------------------------+
	|  # of characters in file name  |
	+--------------------------------+
	|                                |
	|       ascii color table        |
	|            file name           |
	~           (64 bytes)	         ~
	~                                ~
	~                                ~
	|                                |
	|                                |
	+--------------------------------+


#3 construction_planes

	(same as auxiliary coordinate system)
	level = 3, class = 0

	+--------------------------------+
	|    type = 5    |   level = 3   |
	+--------------------------------+
	|        # words to follow       |
	+--------------------------------+
	|    coordinate system origin    |
	+--------------------------------+
	|       graphic group = 0        |
	+--------------------------------+
	|       index to attributes      |
	+--------------------------------+
	|           properties           |
	+--------------------------------+
	|    reserved           | type   | -------->  indicates coordinate
	+--------------------------------+              system type
	|         coordinate system      |		=1, rectangular
	|          description           |		=2, cylindrical 
	|      (27 character rad50)      |		=3, spherical 
	+--------------------------------+
	|        coordinate system       |
	|          orientation           |
	|         (dfpi matrix)          |
	+--------------------------------+
	|                                |
	+--------------------------------+
	|           user id = 22         |
	+--------------------------------+
	+--   coordinate system name   --+
	+--------------------------------+


#3 dgs

	(Distributed Graphics System)

	level = 5
	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|                                |  (19)
	|           extraction           |
	|             request            |
	|               name             |
	|                                |
	+--------------------------------+
	|              post              |  (24)
	|             process            |
	|             request            |
	|              name              |
	+--------------------------------+
	|             graset             |
	+--------------------------------+
	+-- graphic extraction set no. --+
	+--------------------------------+
	|     dmrs extraction set no.    |
	+--------------------------------+
	|       graphic serial           |
	+--------------------------------+
	|         last post mode         |
	+--------------------------------+
	|     last access date mo/day    |  (35)
	+--------------------------------+
	|        time (seconds/3)        |
	+--------------------------------+
	|     highest ext. gra group     |
	+--------------------------------+
	|       highest test node        |
	+--------------------------------+
	|            delta gg            |
	+--------------------------------+
	|        delta tn in ext.        |  
	+--------------------------------+
	|    pointer to master schema    |  (41)
	+--------------------------------+
	|    pointer to master index     |  (42)
	+--------------------------------+
	|  start of master design or 0   |  (43)
	+--------------------------------+


#3 file_fence

	level = 0, class = 0
	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|      rad50 name = blank        |
	+--------------------------------+


#3 font_data 

	level = 2
	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|                                |  (19)
	|          64 character          |
	|          fontlib name          |
	|                                |
	+--------------------------------+
	|                                |  (51)
	|            123 byte            |
	|            font map            |
	|                                |
	|                                |
	+--------------------------------+


#3 interpro_window

	level = 11, class = 0

	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|   reserved     |   subcode     |
	+--------------------------------+
	|  words to follow for subcode   |
	+--------------------------------+
	|  words to follow for screen 0  |
	+--------------------------------+
	|   reserved     |   view #      |
	+--------------------------------+
	|         window x origin        |
	+--                            --+
	|         dit coordinates        |
	+--------------------------------+
	|         window y origin        |
	+--                            --+
	|         dit coordinates        |
	+--------------------------------+
	|         window  x max          |
	+--                            --+
	|         dit coordinates        |
	+--------------------------------+
	|         window  y max          |
	+--                            --+
	|         dit coordinates        |
	+--------------------------------+
	|   byte 1       | # of bytes    |
	+--------------------------------+
	|   byte 3       |  bytes 2      |
	+--------------------------------+
	~                                ~
	~                                ~
	+--------------------------------+
	|   byte n       |  bytes n-1    |
	+--------------------------------+
	~                                ~
	~       continue for every       ~
	~        view of screen 0        ~
	~                                ~
	+--------------------------------+
	| words to follow for screen 1   |
	+--------------------------------+
	|   reserved     |   view #      |
	+--------------------------------+
	~                                ~
	~                                ~
	~                                ~
	~                                ~
	+--------------------------------+


#3 levels

For quick reference, the different levels and classes for each type 5 
element are listed below.

  element type                level  class

  auxiliary coordinate system   3      0
  cell library header           8      0
  color table                   1      0
  construction plane            3      0
  dgs                           5      0
  file fence                    0      0
  font data                     2      0
  iges			       10      0
  interpro window              11      0
  mechanical design             7      0
  named views                   3      1
  pattern data                  0      1
  plotting                      4      0
  reference file                9      0
  sdi (stereoplotter)           6      0
  standard interchange format  14      0


#3 mechanical_design

	level = 7
	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+


#3 named_views

	level = 3, class = 1
	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|  reserved      |    # views    |
	+--------------------------------+
	|         view definition        |
	+--                            --+
	|           description          |
	+--------------------------------+
	| view full scr 2 view full scr 1|
	+--------------------------------+
	|       view descriptor 1        |
	+--------------------------------+
	|       view descriptor 2        |
	+--------------------------------+
	|                                |
	+--------------------------------+
	|       view descriptor 4        |
	+--------------------------------+
	|  terminal data set descriptor  |
	+--------------------------------+
	|       view descriptor 5        |
	+--------------------------------+
	|                                |
	+--------------------------------+
	|       view descriptor 6        |
	+--------------------------------+
	|                                |
	+--------------------------------+
	|           user id = 22         |
	+--------------------------------+
	|       view definition name     |
	|       (6 character rad50)      |
	|                                |
	+--------------------------------+


#3 pattern_data

	level = 0, class = 1


#4 2D 

	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|      patterning indicator      |
	+--------------------------------+
	+--     rad50 pattern name     --+
	+--------------------------------+
	+--           x and y          --+
	+--                            --+
	+--         scale value        --+
	+--------------------------------+
	+--                            --+
	+--        pattern angle       --+
	+--                            --+
	+--------------------------------+
	+--         row spacing        --+
	+--------------------------------+
	+--       column spacing       --+
	+--------------------------------+
	+--                            --+
	+--                            --+
	+--      cell file name        --+
	+--                            --+
	+--                            --+
	+--                            --+
	+--------------------------------+
	|          symbology word        |
	+--------------------------------+
	|              fbfdcn            |
	+--------------------------------+
	|   master type   request type   |
	+--------------------------------+
	+--     x identify point       --+
	+--                            --+
	+--     y identify point       --+
	+--------------------------------+
	+--       x accept point       --+
	+--                            --+
	+--       y accept point       --+
	+--------------------------------+


#4 3D

	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|      patterning indicator      |
	+--------------------------------+
	+--     rad50 pattern name     --+
	+--------------------------------+
	+--           x and y          --+
	+--                            --+
	+--         scale value        --+
	+--------------------------------+
	+--                            --+
	+--        pattern angle       --+
	+--                            --+
	+--------------------------------+
	+--         row spacing        --+
	+--------------------------------+
	+--       column spacing       --+
	+--------------------------------+
	+--                            --+
	+--                            --+
	+--      cell file name        --+
	+--                            --+
	+--                            --+
	+--                            --+
	+--------------------------------+
	|         symbology word         |
	+--------------------------------+
	|             fbfdcn             |
	+--------------------------------+
	|   master type   request type   |
	+--------------------------------+
	+--     x identify point       --+
	+--                            --+
	+--     y identify point       --+
	+--                            --+
	+--     z identify point       --+
	+--------------------------------+
	+--       x accept point       --+
	+--                            --+
	+--       y accept point       --+
	+--                            --+
	+--       z accept point       --+
	+--------------------------------+


#3 plotting

	8.8 plotting system stroke file header

	level = 4

	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	+--        IPS version         --+  (20)
	+--------------------------------+
	+--           unique           --+  (22)
	+--            plot            --+
	+--           ident            --+
	+--------------------------------+
	+--                            --+  (26)
	+--          reserved          --+
	+--                            --+
	+--------------------------------+
	+--         uors per cm        --+  (30)	macro_steps
	+--------------------------------+
	+--            steps           --+  (32)
	+--             per            --+
	+--          centimeter        --+
	+--------------------------------+
	+--                            --+  (36)
	+--        level bit mask      --+
	+--                            --+
	+--------------------------------+
	+--                            --+  (40)
	+--        type bit mask       --+
	+--                            --+
	+--------------------------------+
	|          class bit mask        |  (44)
	+--------------------------------+
	|              weight            |  (45)
	+--                            --+
	|             bit mask           |
	+--------------------------------+
	|          style bit mask        |  (47)
	+--------------------------------+
	|          properties sum        |  (48)
	+--------------------------------+
	|           pen criteria         |  (49)
	+--------------------------------+
	|              color             |  (50)
	|             bit mask           |
	|                                |
	|            (16 words)          |
	+--------------------------------+
	|               pen              |  (66)
	|             bit mask           |
	|                                |
	|            (16 words)          | 
	+--------------------------------+
	|              banner            |  (82)
	|               info             |
	|                                |
	|            (40 words)          |
	+--------------------------------+
	+--            X low           --+  (122)	plot range
	+--------------------------------+
	+--            Y low           --+
	+--------------------------------+
	+--            Z low           --+
	+--------------------------------+
	+--            X high          --+
	+--------------------------------+
	+--            Y high          --+
	+--------------------------------+
	+--            Z high          --+
	+--------------------------------+
	|             reserved           |  (134)
	|                                |
	|                                |
	|           (128 words)          |
	+--------------------------------+
	|           logical pen          |  (262)
	|              flags             |
	|                                |
	|            (16 words)          |
	+--------------------------------+


#3 reference_file_data

	level = 9
	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|         no of characters       |  (19)
	+--------------------------------+
	|                                |
	|           65 character         |  (20)
	|          unexpanded file       |
	|           specification        |
	|                                |
	|--------------+                 |
	| attachment # |                 |
	+--------------------------------+
	|              fbopt             |  (53)
	+--------------------------------+
	|              fdopt             |  (54)
	+--------------------------------+
	|                                |
	|          display flags         |  (55)
	|                                |
	+--------------------------------+
	|                                |
	|    64 byte level on/off mask   |  (63)
	|                                |
	+--------------------------------+
	|                                |
	|   origin reference file uors   |  (95)
	|                                |
	+--------------------------------+
	|                                |
	|   72 byte 3X3 transformation   |  (101)
	|  matrix from reference file to |  
	|           design file          | 
	|                                |
	+--------------------------------+
	+--                            --+  (137)
	+--     conversion factor      --+
	+--                            --+
	+--------------------------------+
	+--                            --+  (141)
	+--  origin master design file --+
	+--                            --+
	+--                            --+
	+--                            --+
	+--------------------------------+
	|     of char in logical name    |  (147)
	+--------------------------------+
	|                                |  
	|       21 byte logical name     |  (148)
	|                                |  
	+--------------------------------+
	| no of characters in description|  (159)
	+--------------------------------+
	|                                |  
	|      41 byte description       |  (160)
	|                                |  
	+--------------------------------+
	|  level symbology enable mask   |  (181)
	+--------------------------------+
	|                                |  
	|  63 word level symbology table |  (182)
	|                                |  
	+--------------------------------+
	+--          z delta           --+  (245)
	+--------------------------------+
	| # of points in clipping polygon|  (247)
	+--------------------------------+
	|                                |  
	|        clipping polygon        |  (248)
	|            256 bytes           |
	|                                |  
	+--------------------------------+


#3 sdi

	level = 6
	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+


#3 standard_interchange

	level = 14
	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+


#2 LEVEL_SYMBOLOGY

	element type 10

	+----------------+---------------+
	| U   type = 10  |  C R    level |  (1)
	+----------------+---------------+
	|          words to follow       |  (2)
	+--------------------------------+
	+--            X low           --+  (3)	dummy range = 0
	+--------------------------------+
	+--            Y low           --+
	+--------------------------------+
	+--            Z low           --+
	+--------------------------------+
	+--            X high          --+
	+--------------------------------+
	+--            Y high          --+
	+--------------------------------+
	+--            Z high          --+
	+--------------------------------+
	|             level 01           |  (15)	symbology
	+--------------------------------+
	|             level 02           |
	+--------------------------------+
	|             level 03           |
	+--------------------------------+
	|             level 04           |
	+--------------------------------+
	|                .               |
	|                .               |
	|                .               |
	|                                |
	+--------------------------------+
	|             level 61           |
	+--------------------------------+
	|             level 62           |
	+--------------------------------+
	|             level 63           |  (77)
	+--------------------------------+


#2 LIBRARY_CELL

	element type 1

	+----------------+---------------+
	| U   type = 1   |  C R   unused |  (1)
	+--------------------------------+
	|          words to follow       |  (2)
	+--------------------------------+
	+--            X low           --+  (3)
	+--------------------------------+
	+--            Y low           --+
	+--------------------------------+
	+--            Z low           --+
	+--------------------------------+
	+--            X high          --+
	+--------------------------------+
	+--            Y high          --+
	+--------------------------------+
	+--            Z high          --+
	+--------------------------------+
	|             cell type          |  (15)
	+--------------------------------+
	|        index to attributes     |  (16)
	+--------------------------------+
	+--           cell name        --+  (17)
	+--------------------------------+
	|       words in description     |  (19)
	+--------------------------------+
	|            properties          |  (20)
	+--------------------------------+
	|            symbology           |  (21)
	+--------------------------------+
	|                 0              |  (22)
	+--------------------------------+
	+--                            --+  (23)
	+--        level bit mask      --+
	+--                            --+
	+--------------------------------+
	+--                            --+  (27)
	+--                            --+
	+--             cell           --+
	+--          description       --+
	+--            (RAD50)         --+
	+--                            --+
	+--                            --+
	+--                            --+
	+--------------------------------+
	|           attribute            |
	|            linkage             |
	+--------------------------------+


#2 LINE

	element type 3

                   2D                           3D
           +-----------------+          +-----------------+
           |                 |          |                 |
           |      header     |          |     header      |
           |                 |          |                 |
           +-----------------+          +-----------------+
           +--     X 1     --+  (19)    +--      X 1    --+  (19)
           +-----------------+          +-----------------+
           +--     Y 1     --+          +--      Y 1    --+
           +-----------------+          +-----------------+
           +--     X 2     --+          +--      Z 1    --+
           +-----------------+          +-----------------+
           +--     Y 2     --+          +--      X 2    --+
           +-----------------+          +-----------------+
           |    attribute    |          +--      Y 2    --+
           |     linkage     |          +-----------------+
           +- - - - - - - - -+          +--      Z 2    --+
                                        +-----------------+
                                        |    attribute    |
                                        |     linkage     |
                                        +- - - - - - - - -+


#2 Line_STRING

	element type 4

                  2D                            3D
         +-----------------+            +-----------------+
         |                 |            |                 |
         |      header     |            |      header     |
         |                 |            |                 |
         +-----------------+            +-----------------+
         |   # vertices    |  (19)      |   # vertices    |  (19)
         +-----------------+            +-----------------+
         +--    X 1      --+  (20)      +--     X 1     --+  (20)
         +-----------------+            +-----------------+
         +--    Y 1      --+            +--     Y 1     --+
         +-----------------+            +-----------------+
         +--    X 2      --+            +--     Z 1     --+
         +-----------------+            +-----------------+
         +--    Y 2      --+            +--     X 2     --+
         +-----------------+            +-----------------+
         |        .        |            +--     Y 2     --+
         |        .        |            +-----------------+
         |        .        |            +--     Z 2     --+
         |                 |            +-----------------+
         +-----------------+            |        .        |
         +--     X n     --+            |        .        |
         +-----------------+            |        .        |
         +--     Y n     --+            |                 |
         +-----------------+            +-----------------+
         |   attribute     |            +--     X n     --+
         |    linkage      |            +-----------------+
         +- - - - - - - - -+            +--     Y n     --+
                                        +-----------------+
                                        +--     Z n     --+
                                        +-----------------+
                                        |    attribute    |
                                        |     linkage     |
                                        +- - - - - - - - -+


#2 MicroStation

	element type 66


#2 TNODE

	element type 7

               2D                           3D
        +-----------------+          +-----------------+
        |                 |          |                 |
        |      header     |          |      header     |
        |                 |          |                 |
        +-----------------+          +-----------------+
        | words in descr. |  (19)    | words in descr. |  (19)
        +-----------------+          +-----------------+
        |  # text strings |  (20)    |  # text strings |  (20)
        +-----------------+          +-----------------+
        |   text node #   |  (21)    |   text node #   |  (21)
        +-----------------+          +-----------------+
        |max used|max allw|  (22)    |max used|max allw|  line length
        +-----------------+          +-----------------+
        |  just. |  font  |  (23)    |  just. |  font  |  (23)
        +-----------------+          +-----------------+
        |       line      |  (24)    |       line      |  (24)
        +--             --+          +--             --+
        |      spacing    |          |      spacing    |
        +-----------------+          +-----------------+
        |      length     |  (26)    |      length     |  (26)
        +--             --+          +--             --+
        |    multiplier   |          |    multiplier   |
        +-----------------+          +-----------------+
        |      height     |  (28)    |      height     |  (28)
        +--             --+          +--             --+
        |    multiplier   |          |    multiplier   |
        +-----------------+          +-----------------+
        |     rotation    |  (30)    +--     Q 4     --+  (30)
        +--             --+          +-----------------+
        |      angle      |          +--     Q 1     --+
        +-----------------+          +-----------------+
        +--   X origin  --+  (32)    +--     Q 2     --+
        +-----------------+          +-----------------+
        +--   Y origin  --+  (34)    +--     Q 3     --+
        +-----------------+          +-----------------+
        |    attribute    |          +--   X origin  --+  (38)
        |     linkage     |          +-----------------+
        +- - - - - - - - -+          +--   Y origin  --+
                                     +-----------------+
                                     +--   Z origin  --+
                                     +-----------------+
                                     |    attribute    |
                                     |     linkage     |
                                     +- - - - - - - - -+


#2 Point_STRING

	element type 22

                2D                                 3D
        +-----------------+          +-----------------+
        |                 |          |                 |
        |      header     |          |       header    |
        |                 |          |                 |
        +-----------------+          +-----------------+
        |    # points     |  (19)    |    # points     |  (19)
        +-----------------+          +-----------------+
        +--     X 1     --+  (20)    +--      X 1    --+  (20)
        +-----------------+          +-----------------+
        +--     Y 1     --+          +--      Y 1    --+
        +-----------------+          +-----------------+
        |        .        |          +--      Z 1    --+
        |        .        |          +-----------------+
        |        .        |          |        .        |
        +-----------------+          |        .        |
        +--     X n     --+          |        .        |
        +-----------------+          +-----------------+
        +--     Y n     --+          +--     X n     --+
        +-----------------+          +-----------------+
        +       R 1       +          +--     Y n     --+
        +-----------------+          +-----------------+
        |        .        |          +--     Z n     --+
        |        .        |          +-----------------+
        |        .        |          +       Q 1       +
        |                 |          +-----------------+
        +-----------------+          |        .        |
        +        R n      +          |        .        |
        +-----------------+          |        .        |
        |    attribute    |          |                 |
        |     linkage     |          +-----------------+
        +- - - - - - - - -+          +       Q n       +
                                     +-----------------+
                                     |    attribute    |
                                     |     linkage     |
                                     +- - - - - - - - -+


#2 SHAPE

	element type 6

                  2D                            3D
         +-----------------+            +-----------------+
         |                 |            |                 |
         |      header     |            |      header     |
         |                 |            |                 |
         +-----------------+            +-----------------+
         |   # vertices    |  (19)      |   # vertices    |  (19)
         +-----------------+            +-----------------+
         +--    X 1      --+  (20)      +--     X 1     --+  (20)
         +-----------------+            +-----------------+
         +--    Y 1      --+            +--     Y 1     --+
         +-----------------+            +-----------------+
         +--    X 2      --+            +--     Z 1     --+
         +-----------------+            +-----------------+
         +--    Y 2      --+            +--     X 2     --+
         +-----------------+            +-----------------+
         |        .        |            +--     Y 2     --+
         |        .        |            +-----------------+
         |        .        |            +--     Z 2     --+
         |                 |            +-----------------+
         +-----------------+            |        .        |
         +--     X n     --+            |        .        |
         +-----------------+            |        .        |
         +--     Y n     --+            |                 |
         +-----------------+            +-----------------+
         |   attribute     |            +--     X n     --+
         |    linkage      |            +-----------------+
         +- - - - - - - - -+            +--     Y n     --+
                                        +-----------------+
                                        +--     Z n     --+
                                        +-----------------+
                                        |    attribute    |
                                        |     linkage     |
                                        +- - - - - - - - -+


#2 SUBFIGURE

	a subfigure element is a non-expanded cell.

	element type 20


#3 2D

	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|       display parameters       |  (19)
	+--------------------------------+
	+--         cell name          --+  (20)
	+--------------------------------+
	|         class bit mask         |  (22)
	+--------------------------------+
	+--                            --+  (23)
	+--        level bit mask      --+
	+--                            --+
	+--------------------------------+
	+--             X low          --+  (27)  range block diagonal
	+--------------------------------+
	+--             Y low          --+
	+--------------------------------+
	+--             X high         --+
	+--------------------------------+
	+--             Y high         --+
	+--------------------------------+
	+--             T 11           --+  (35)  transformation matrix
	+--------------------------------+
	+--             T 12           --+
	+--------------------------------+
	+--             T 21           --+
	+--------------------------------+
	+--             T 22           --+
	+--------------------------------+
	+--         X origin           --+  (43)
	+--------------------------------+
	+--         Y origin           --+
	+--------------------------------+
	|           attribute            |
	|            linkage             |
	+--------------------------------+


#3 3D

	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|       display parameters       |  (19)
	+--------------------------------+
	+--         cell name          --+  (20)
	+--------------------------------+
	|         class bit mask         |  (22)
	+--------------------------------+
	+--                            --+  (23)
	+--        level bit mask      --+
	+--                            --+
	+--------------------------------+
	+--             X low          --+  (27)	range cube diagonal
	+--------------------------------+
	+--             Y low          --+
	+--------------------------------+
	+--             Z low          --+
	+--------------------------------+
	+--             X high         --+
	+--------------------------------+
	+--             Y high         --+
	+--------------------------------+
	+--             Z high         --+
	+--------------------------------+
	+--              T 11          --+  (39)  transformation matrix
	+--------------------------------+
	+--              T 12          --+
	+--------------------------------+
	+--              T 13          --+
	+--------------------------------+
	+--              T 21          --+
	+--------------------------------+
	+--              T 22          --+
	+--------------------------------+
	+--              T 23          --+
	+--------------------------------+
	+--              T 31          --+
	+--------------------------------+
	+--              T 32          --+
	+--------------------------------+
	+--              T 33          --+
	+--------------------------------+
	+--         X origin           --+  (57)
	+--------------------------------+
	+--         Y origin           --+
	+--------------------------------+
	+--         Z origin           --+
	+--------------------------------+
	|           attribute            |
	|            linkage             |
	+--------------------------------+


#2 SURFACE

	element type 18

		     (3D only)
	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|       words in description     |  (19)
	+--------------------------------+
	|         # of elements          |  (20)
	+----------------+---------------+
	|  # bound - 1   |  surface type |  (21)
	+----------------+---------------+
	|           attribute            |
	|            linkage             |
	+--------------------------------+

	surface types:

		0 = Surface of projection
		1 = Bounded plane
		2 = Unbounded plane
		3 = Right circular cylinder
		4 = Right circular cone
		5 = Tabulated cylinder
		6 = Tabulated cone
		7 = Convolute
		8 = Surface of revolution
		9 = Warped surface


#2 TEXT

	element type 17

             2D                              3D
      +-----------------+            +-----------------+
      |                 |            |                 |
      |      header     |            |      header     |
      |                 |            |                 |
      +-----------------+            +-----------------+
      |  just. |  font  |  (19)      |  just. |  font  |  (19)
      +-----------------+            +-----------------+
      |      length     |  (20)      |      length     |  (20)
      +--             --+            +--             --+
      |    multiplier   |            |    multiplier   |
      +-----------------+            +-----------------+
      |      height     |  (22)      |      height     |  (22)
      +--             --+            +--             --+
      |    multiplier   |            |    multiplier   |
      +-----------------+            +-----------------+
      |     rotation    |  (24)      +--     Q 4     --+  (24)
      +--             --+            +-----------------+
      |      angle      |            +--     Q 1     --+
      +-----------------+            +-----------------+
      +--   X origin  --+  (26)      +--     Q 2     --+
      +-----------------+            +-----------------+
      +--   Y origin  --+  (28)      +--     Q 3     --+
      +-----------------+            +-----------------+
      | # E.D. | # char |  (30)      +--   X origin  --+  (32)
      +-----------------+            +-----------------+
      | char 2 | char 1 |  (31)      +--   Y origin  --+
      +-----------------+            +-----------------+
      | char 4 | char 3 |            +--   Z origin  --+
      +-----------------+            +-----------------+
      |    .   |    .   |            | # E.D. | # char |  (38)
      |    .   |    .   |            +-----------------+
      |    .   |    .   |            | char 2 | char 1 |  (39)
      +-----------------+            +-----------------+
      | char n |char n-1|            | char 4 | char 3 |
      +-----------------+            +-----------------+
      |ed1-len |ed1-pos |            |    .   |    .   |
      +-----------------+            |    .   |    .   |
      |ed2-pos |ed1-just|            |    .   |    .   |
      +-----------------+            +-----------------+
      |ed2-just|ed2-len |            | char n |char n-1|
      +-----------------+            +-----------------+
      |       ...       |            |ed1-len |ed1-pos |
      +-----------------+            +-----------------+
      |    attribute    |            |ed2-pos |ed1-just|
      |     linkage     |            +-----------------+
      +- - - - - - - - -+            |ed2-just|ed2-len |
                                     +-----------------+
                                     |       ...       |
                                     +-----------------+
                                     |    attribute    |
                                     |     linkage     |
                                     +- - - - - - - - -+


#2 TRUNCATED_CONE

	element type 23

		     (3D only)
	+--------------------------------+
	|                                |
	|             header             |
	|                                |
	+--------------------------------+
	|              type              |  (19)
	+--------------------------------+
	+--            Q 4             --+  (20)  quaternion orientation
	+--------------------------------+
	+--            Q 1             --+
	+--------------------------------+
	+--            Q 2             --+
	+--------------------------------+
	+--            Q 3             --+
	+--------------------------------+
	+--                            --+  (28)
	+--            X 1             --+  (20)
	+--                            --+
	+--------------------------------+
	+--                            --+
	+--            Y 1             --+
	+--                            --+
	+--------------------------------+
	+--                            --+
	+--            Z 1             --+
	+--                            --+
	+--------------------------------+
	+--                            --+
	+--            R 1             --+
	+--                            --+
	+--------------------------------+
	+--                            --+  (44)
	+--            X 2             --+
	+--                            --+
	+--------------------------------+
	+--                            --+
	+--            Y 2             --+
	+--                            --+
	+--------------------------------+
	+--                            --+
	+--            Z 2             --+
	+--                            --+
	+--------------------------------+
	+--                            --+
	+--            R 2             --+
	+--                            --+
	+--------------------------------+
	|           attribute            |
	|            linkage             |
	+--------------------------------+

!
