![]() |
![]() ![]() |
|
Translating Visio Drawings into Actrix
In the absence of a common data format and the diversity of technical drawing programs available, technical professionals place great store by the ability of their applications to transfer data reliably. If there are problems, there inevitably will be, it's better to know in advance where they will occur. In this series of articles we examine the exchange of data between Visio and Actrix. In a previous article, I recorded my initial experiences in importing a Visio drawing into Actrix Technical 2000. I found that (1) Visio must be installed on the same computer as Actrix; and (2) Actrix fails to open the Visio document when Visio is running at the same time. This lead to one reader asking, "Why would you use Actrix if you have to have Visio installed?" I then spent a day tracking down documentation on translating Visio drawings, finding bits and pieces scattered in a Readme.Wri file, VisioDrawingConversionLog.txt log file, and several help files, including the undocumented SmartShapes Conversion Wizard. My initial research found that:
Translation Efficiency
(*) Displays Visio's 'Gantt Chart Options' dialog box. Visio Drawing Name: filename of the Visio drawing names, found in the \Visio\Samples folder. The result of my study shows the following points:
Translation Quality
To test Level 1, I printed out the six drawings Actrix was able to translate, once each for Visio and Actrix, then I compared the two printouts. In general, the print-level accuracy was good, but not perfect. I was concerned that shapes, connections, and text be located and represented accurately; I was less concerned that secondary attributes -- such as color, shading, and font -- be accurate. Shapes: I found four shapes errors.
Connectors: I found five connection errors.
Text: In general, Actrix was able to mimic the text accurately, including font, size, and placement. I found, however, three errors.
The original Visio drawing (top), and the same drawing translated by Actrix (bottom). Notice how Actrix moved the day text to the left, and that the date numbers are missing Miscellaneous: Actrix imports Visio background pages, but treats them as a separate page; this means that Actrix prints the background on a second sheet, rather than combining the background with the foreground on a single sheet -- as does Visio. Actrix does not replicate the gradient shading found in some Visio drawings. To test Level 2 comprehensively means checking the outcome of literally nearly 250 ShapeSheet cells, something I am not going to undertake. A useful reference, though, is the help file \Actrix\Help\VisViz.Help, which describes in detail which Visio sections and cells Actrix converts. The help file does not state that many sections are not converted. The help file includes tables that show how cells are translated from Visio to Actrix. How Actrix Translates Visio Drawings If you are interested in the details, read Visio's Developing Visio Solutions document (available as a PDF file), starting with the chapter entitled "Writing Code to Extract Data from a Visio Drawing" (page 386 in my copy). The chapter even includes two pages of sample VBA code for extracting shape data from a drawing. For example, Visio's pagObj.Shapes function defines the collection of all shapes on the active page. My guess is that Autodesk simply took this example code (as it is permitted to do), and modified it to translate every Visio shape into an Actrix equivalent. In my opinion, this is a semi-brilliant solution to the problem. On the one hand, it gets around the tedious (and possibly illegal) activity of reverse-engineering the VSD and VSS file formats. On the other hand, it requires that Visio be installed, and suffers from the instability issues created by Microsoft's Automation technology. When it fails (as Automation too often does), it can lock up the applications involved (Visio and Actrix), and consumes system resources, such as memory, to the point where a reboot is required. Going the other direction, from Actrix to Visio, is not as easy. You have to take an indirect route: Step 1: Save the Actrix drawing in DXF format. Use the
File>Save As command. The result, however, is not pretty. In translating the drawing to DXF format, Actrix loses even more information (see figure 2).
Previous articles on the same subject...
|
|
|
Copyright © 1998-2007 DBM & others | Disclaimer | Privacy | Re-publication | Trademarks | Webmaster | Home |