Design-Drawing Home  
Drawing Program
ISSN 1441-5585

Search...

Home
Articles
Software Catalog
Book Store
About
Advertising
Newsletter

 

 

Sharing Visio Drawings

David J Parker

CAD users are used to viewing shared drawings as an underlay. In AutoCAD, this is know as "xref," short for externally referenced files. This article is about using shared Visio drawings by OLE embedding, especially scaled drawings in a multi-disciplinary office.

Visio does not have the ability of attaching files in the same way as a CAD user wants. A CAD system usually has the ability to specify reference files, their relative origins, and their visible layers. Visio does, however, have the ability to embed linked Visio drawings.

To create a linked file, select Insert>Object. In the Insert Object dialog, select Create From File then browse to select the file. Finally, ensure that Link To File is ticked.

To update a link select Edit>Links then the links dialog will be displayed, where you can select a link and choose whether to Update a link, or to Break it (not required in this article).

The Insert Object and Links dialogs
The Insert Object and Links dialogs

Visio treats an embedded Visio drawing like any other OLE object in that the linked object is rendered. This has the effect of slightly altering the appearance of some items, such as fonts. This is disappointing, but even more so is the inability to define the offset distance.

The embedded object has an enclosing rectangle, which is easy to distort accidentally. If you have scaled drawing, then you will not want to distort the enclosing rectangle unless you have the crop tool active. This will then have the effect of changing size of image porthole without changing the image contents If you click and drag within the embedded object with the crop tool active, then the position of the image within the enclosing rectangle can be altered. Using the crop tool to move the image actually changes the formulas in the ImgOffsetX and ImgOffserY cells in the ShapeSheet.

Examples
In the following example, I have three drawings. Drawing One could be the General Arrangement of a building floor, Drawing Two could be the Lighting layout, and Drawing Three could be the HVAC layout. Naturally, the HVAC engineer wants to position his outlets with respect to the lighting, or vice-versa.

The Drawing One is inserted into a Drawing Two then arranged to fit
The Drawing One is inserted into a Drawing Two then arranged to fit

Different users are editing each drawing. Fortunately, in this example, the editor of the General Arrangement does not need to see the other drawings, but he does need to see his, or the result of any edits.

Drawing One is embedded, linked in Drawing Two; and Drawing Two is linked-embedded in Drawing Three. User Two can see the result of any saved edits performed by user One, and user Three can see the results of any saved edit by user Two, and also user One.

The Drawing Two is inserted into a Drawing Three then arranged to fit.
The Drawing Two is inserted into a Drawing Three then arranged to fit.

After each of the insertion processes above, I had to manually reposition the embedded drawing (it always inserts at the centre of the viewed window), and then, using the Crop tool, re-size the porthole, and finally move the image to the correct position. I placed the three rectangles in the lower left corner, one on each drawing, so that I could line them up adjacent to each other.

Once this drawing was setup, I could choose to edit or open the linked Visio drawings. In fact both of these options open another session of Visio, as in-place editing of a Visio drawing within another Visio drawing is probably just too confusing. Alternatively, another user on another networked PC could be editing either of the first two drawings whilst I was editing the third. I could then see their saved changes by choosing Update Now on the Links dialog, or by waiting for automatic updates to arrive.

On opening a drawing with automatic links, you may have to wait awhile while Visio updates them. You do get a progress bar for each linked drawing, with a Cancel button.

Problems
When I began this article, I thought that I would be able to knock out a little bit of VBA code to help you position the embedded drawings in the correct position, rather like specifying the origin in a CAD system. The code, however, is not as trivial as I first thought, so you will have to make do with visually aligning the drawing content.

The workaround is to place a suitable symbol on each drawing to be embedded in a non-printing position, so that you can align them over the top, or adjacent to each other. This is necessary because Visio creates a rectangle around all objects in the drawing to be embedded, regardless of their position or visibility. If this enclosed rectangle changes in size due to some edit done by yourself or others, then you will get a shifting of the image in porthole that you have in your parent drawing. This is not good.

Moreover, the embedded Visio drawings do not honor any layering schemes that you have designed. Even if you have layers set as invisible, they will appear rendered in the embedded Visio drawing.

Obviously, this is not satisfactory for serious users, so I will petition Microsoft for this to be remedied, or provide a true reference file capability. In the above examples, the red cross is actually on a layer that is invisible in Drawing One, and should therefore not be seen in either of the other drawings.

Visio have done an excellent job with the DWG embedded object, allowing scaling, layer and line control. It is a pity that the same cannot be said for an inserted Visio drawing.

So long…
I hope you have found this discussion of shared drawings in Visio useful. Perhaps for some it will confirm their opinion that Visio is not a replacement for a CAD package. That may be so, at the moment, but it does show that shared drawings can be done … with limitations.

David J Parker

 
  Rate this article...
Hmm  OK  Good  Yes! Brilliant
Your a friend about this article.

Copyright © 1998-2007 DBM & others | Disclaimer | Privacy | Re-publication | Trademarks | Webmaster | Home