Building a Bridge Between AutoCAD and MicroStation

By Eric Cooper, October 16, 2003

Unless the unlikely happens and AutoCAD and MicroStation one day merge, there will always be a time when certain companies or individuals will need to move from one of these software packages to the other. Unfortunately, when such a move must occur, confusion and frustration tend to follow as the user struggles to master a new set of terms and tools. This article reveals how I developed a solution to the problem by using my experience with both programs to build a bridge between the two systems.

A little background

I have used every version of AutoCAD from V2.5 up to through R2002, and every version of MicroStation from V3.3. through V8. I have attended training courses in AutoCAD, AutoLISP, VisualLISP and AutoCAD Visual Basic, and courses in MicroStation, UCM, MicroStation Basic and MicroStation Visual Basic.

In 1986 I joined a company using AutoCAD V2.5. I was trained on this system and during my time with this company I used Releases 9 and 10.

In 1989 I changed companies and although my new employer mainly used MicroStation V3.3, AutoCAD Release 9 was also used on occasion. During my time with this company I became adept with both packages; if one package had a function that the other didn’t, I would recreate that function using AutoLISP or UCM.

In 1996 I joined my present company, which at the time relied on MicroStation. Until recently, if a client wanted a drawing in AutoCAD the drawing would have been converted from MicroStation. At first this was acceptable but over the years more and more of our clients started to request projects done in AutoCAD, a situation that caused problems for a staff whose training and resources were basically invested in MicroStation. There were also occasions when AutoCAD-based contractors brought in for AutoCAD projects had to use MicroStation.

With these problems in mind and with my knowledge of both packages (and of both DOS- and Windows-based programs), I decided it would be useful to customize both packages to create a common feel, so that new and experienced users alike could move more freely from one package to another.

Terminology Issues

One of the main stumbling blocks in moving from one package to the other is terminology. If you’re going to draw a line in a program you’re unfamiliar with, you can usually scroll over the menus and fairly quickly locate something referring to lines - such as “place line” or “polyline." But when you’re looking for a certain command or function that, for example, one program calls a “layer” and another calls a “level” - well, you’re bound to experience a great deal of frustration and little productivity.

So I started editing the existing pull-down menus of both packages, adding descriptions to the more common commands. Where AutoCAD lists “Layer,” for instance, I changed it to “Layer (Levels)”; where MicroStation lists “Cells,” I changed it to “Cells (Blocks)” and so on, so that users can begin to understand the terminology of both packages.

I also moved the MicroStation Key-in window to the bottom of the screen to emulate the AutoCAD command line, and programmed the MicroStation and AutoCAD function keys to be identical. (I’m a creature of habit; if I press F8 I expect it to set my “Ortho” lock or my “Axis” lock.)

I then created common main menus and pull-down menus to hold tasks common to both packages, for example, place symbols, drawing frames, access to printers, activate line types and fonts, set scales and so on. I also added simple routines behind the menu icons to trim lines, change layers/levels, set weights/thickness, etc., to company and industry standards.

I recreated these menus and routines for both packages so that the user only needs to be familiar with that menu and can be productive with either package with only minimal training. This was tested using MicroStation users with no AutoCAD experience and with AutoCAD users with no MicroStation experience.

Both types of users were given a quick guide to the layout of the new menu system on their particular package by starting to draw a “test drawing,” then moved to the other package. Because they were used to a common menu, not only could they use the other package but they could finish off the test drawing started by the previous user and, when printed, all the drawings were identical.

Setting Up a Drawing

Another stumbling block when moving from one package to the other is setting up the background for a drawing. A good example of this is isometrics, where the drawing needs to be in isometric mode for grids, snaps and dimensions.

To keep this simple I set up working environments, templates and menus, creating program start icons for each discipline.


Thus, if an isometric is needed you start the program with the appropriate start icon so that when you enter MicroStation or AutoCAD everything – including isometric grid/snap, dimensions and fonts - is set up for you and all you need to think about is the drawing content.

Click image to enlarge

And by using common line types and fonts created on both packages, and using the same dimension styles and layers/levels, it’s a simple procedure if drawings need to be converted from one package to the other. When tested, it was very difficult to say which drawing was created by which package.

Click image to enlarge

Click image to enlarge

Common symbols

Making sure that both systems used the same company or client “symbols” was another concern.

All our original symbols were in MicroStation cell library format but we also had individual client symbols in AutoCAD format that we needed to share between both packages. On top of that, MicroStation used cell/block libraries where AutoCAD didn’t.

To keep this way of working (inserting symbols by attaching a cell library not common to AutoCAD), I took an existing company MicroStation drawing, which exists to keep a record of the cell libraries, and attached new cells/blocks to new drawings for libraries in which no previous drawing existed. By converting these drawings to AutoCAD these new drawings could then be used as block libraries either via the AutoCAD DesignCenter or just by inserting the drawing containing the blocks into the open AutoCAD drawing.

To make this method easier for the user, all the commands and routines for doing symbol insertion were written into the menu icon for that task.

In the case of AutoCAD, when the “library” drawing is inserted and the symbol used, the “library” drawing is then removed and all the blocks that accompanied it are also removed (except the block in use and any previous attached blocks).

Click image to enlarge

In the case of MicroStation, any open drawing containing cells/blocks will have these cells/blocks shown (and therefore available) in the attached library when “Use Shared Cells” is activated.

Click image to enlarge

Visual Basic

For more complex operations, such as the insertion of 2D and 3D piping fittings, which would require a much larger menu system to cover the vast range of sizes and ratings, I wrote a Visual Basic program.

Click image to enlarge

The program allows you to pick and insert 2D and 3D piping fittings, set the layer/level for the required fluid or system and attach database information if needed (in the form of attributes and tags) that can be extracted and added to a database later.

It’s a simple program which uses “IF” statements to generate a command string containing, “Origin, Main Size, Reducing Size, Fitting Type, View & Rating.” This string is then sent to whichever program is running, which loads the appropriate MicroStation cell library or AutoCAD drawing containing the blocks. The program then inserts the symbol once again when the “library” drawing is inserted and the symbol used. The library drawing is then removed as are all the accompanying blocks, except the block in use and any previous attached blocks.

Click image to enlarge

This program was then adapted to be used as a 3D piping and structural program. By taking the existing 2D cells/blocks and making them into 3D cells/blocks, we had a very inexpensive 3D package.

Click images to enlarge


Click images to enlarge

This customization program of mine is an ongoing one. Every time one of the packages adds a new feature, I try to incorporate it into the other package. It would be great if one day all this customization would be unnecessary; with a little bit of joint cooperation, it wouldn't be all that difficult for Autodesk and Bentley to produce identical menu structures and icons to make it easier for those of us who find the need to use both packages to do so.

About the Author

Eric Cooper is a fluids/mechanical CAD engineer for Aker Kvaerner, with more than 20 years drafting, engineering and computer experience. Trained in various 2D and 3D CAD packages and in computer programming, he began using AutoCAD in 1986 and MicroStation in 1989. He is a member of both the AutoDesk User Group International and The MicroStation Community.


More MicroStation Select Articles