(The following review is of MiniCad 6.0.1 for the Macintosh. Though the manufacturer, Graphsoft, Inc., has just released a version of MiniCad 6 for Windows, I have no experience with it. The manufacturer, however, claims that the program's capabilities and interface are the same across platforms.)
Though MiniCad 6 adds a host of new features and tools that were previously unavailable, the overall user experience is not radically altered from previous versions. Conceptually, MiniCad's user interface remains divided into three interrelated functions: the drawing screen; worksheets and the records database; and MiniPascal (its scripting language). Though the operator may choose to use only the drawing screen, MiniCad's greatest strengths lie in the program's other parts. In particular, the careful integration of the drawing screen, the database, and MiniPascal have allowed us at MASCA (the Museum Applied Science Center for Archaeology at the University of Pennsylvania Museum) to manage disparate needs found in our wide range of archaeological surveying applications. The heart of MASCA's ForeSight surveying package is the automation of the plotting of surveying data through MiniPascal macros. New functionality available in version 6 of MiniCad has allowed us to greatly expand the capabilities of our own software (the development and use of which have served as both my introduction to MiniCad and the basis of my fondness for it).
The drawing screen is the most obvious element of any CAD program, and MiniCad is no different in this respect. A quick glance at its available functions yields no surprises: a main screen and a palette (called an "overlay" in MiniCad's parlance) with basic 2D drawing and selection tools. Hidden from the user at startup are overlays with 3D and dimensioning tools. An active help window across the top of the drawing screen explains each tool, when selected. However, most beginning users will need to consult the reference guide to be certain of the tool's function - whereas more advanced users can opt to create their own overlays by arranging the available tools with the OverlayEdit application. Though tools can be selected with command-key equivalents, some degree of mouse movement is required for nearly every drawing task. In addition to the overlay tools, menu commands supply a host of tools to manipulate the drawing's objects and organization. All of the tools for converting 2D objects to 3D objects, as well as all of the 3D viewing and rendering option, save the walk-through and fly-over tools, are available through menu commands.
The paper-based approach to MiniCad's drawing screen should be familiar to users of other Macintosh drawing programs, though it may be confusing to AutoCAD users. The MiniCad user is expected to set drawing units and (for the sake of the appearance of the drawing on screen and on paper) scale, paper size, and paper orientation, prior to creating a drawing. Though any of these can be changed at any time, a consideration of the intended output is always helpful. Printing from MiniCad is quite easy: the user simply chooses the paper size and scale of the finished output, and, if necessary, moves the printing area. The Macintosh takes care of the rest painlessly. Using MiniCad and StyleWriter and DeskJet printers, the surveyors at Brown University's excavations at Petra, Jordan, regularly produce 1:100, 1:50, and 1:20 top-plans from a single file. Updated plans can be supplied to the excavators daily without huge expenditures of time or the need for expensive plotters in the field.
In my opinion, the most significant improvement to MiniCad 6 over previous versions is the inclusion of the Object Info palette. This feature, though not given any prominence in the user manual, consolidates many of the tools for moving and manipulating the size and shape of objects into an easily understood and easily mastered tool. With it, for example, the user can create, delete, or move the individual vertices of 3D polygons by typing in new coordinates instead of using the mouse. Though there were work-arounds in previous versions of the program, this palette has been extremely useful to me by allowing direct editing of objects in a way that should be familiar to users of other CAD packages - and goes a long way toward answering the charge that MiniCad has historically been too "mini."
The second of the three component parts of MiniCad, its database, is accessible through both a Records palette and one or more Worksheet (spreadsheet) windows. Information stored in the Records palette is linked directly to objects in the drawing, whereas Worksheet data can also return calculations based on drawing information. The Records palette is at once dumb and very useful. Dumb because it can only store integers, real numbers, booleans, and text - not images or calculations. Dumb, too, because it is neither relational nor easily linked to an outside database; nor does the Records palette provide for a means to update the details such as object size, shape, or position. On the other hand, its strengths are that it can provide labels for objects and hold useful object information - entered by hand, imported from a file, or calculated by MiniPascal (see below) - that otherwise would clutter the drawing space or simply be unavailable to the user. In this manner, MASCA's surveying macros make use of MiniCad's Database to store information such as the name of the object, the type of object it is, the day it was surveyed, the surveyor who shot it in, and many other useful data items about every surveyed object. Data thus stored are kept off the drawing area (where they don't belong) but kept within the same file as the drawing, and neatly accessible to the user (where they clearly do belong). Most importantly, any data stored in the Records palette can be called by the MiniCad user as the basis of search criteria. In this way, for example, I can make the drawing display only instances of objects which I have designated "ashlar" or delete all objects shot in by a bungling surveyor whose name is recorded in the database.
Data stored in the Records palette can also be neatly linked to a drawing's symbols. Symbols, in the MiniCad sense, are virtual copies of a master object. They can be placed and rotated in a drawing, but not otherwise modified. This capability is useful in two ways: by storing only a single copy of an object, file size can be kept small; also, changes made to the master symbol are reflected in all copies of that symbol. (Note, too, that instances of symbols can be reverted to normal objects and be made impervious to changes in the master symbol.) By linking data from the Records palette to a symbol, each instance of the symbol can have a separate label - specified by the contents of the Records palette which is displayed on-screen. ForeSight uses this feature to display the elevation of all shots that are plotted with the symbol indicating a point elevation. Similarly, the name of an object itself might be displayed next to the symbol designating it. This linking of Records data to symbols greatly accelerates the creation of drawings with a consistent appearance (which becomes particularly useful on excavations that span multiple years and/or surveyors).
The Worksheet interface to the drawing's database should be familiar to the users of spreadsheets such as Excel. Though it could be a useful tool for archaeologists who might use it, for example, to generate counts of stratified pottery sherds, I haven't yet found a way to integrate it into ForeSight in a way that is both easily implemented and useful across a wide range of sites. Graphsoft's greatest reason for including such a tool is to assist architects and designers in calculating materials costs. Unfortunately, it is incapable of dealing with the thousands of objects that archaeological surveying records. Personally, the weakness of MiniCad's worksheets has never been a problem because I have always turned to MiniPascal to perform any data analysis.
The most powerful of MiniCad's three component parts, MiniPascal, is largely unchanged from version 4 of the program. Essentially a macro language, MiniPascal is capable of automating any MiniCad task involving the creation or manipulation of a drawing. It also allows for the reading and writing of data files and provides the framework for the creation of some basic analytic tools - such as counts and measures of objects meeting search criteria such as object class, type, layer, or database information. Because it is based on Pascal, a widely-used beginning programming language, MiniPascal is much easier to learn than AutoLISP, AutoCAD's programming language. Though its implementation is sometimes quite clunky, the simplicity of the Pascal syntax and the wide range of supported functions makes it a very powerful tool that can be quickly mastered. Furthermore, the ability to embed MiniPascal commands within AppleScript commands (AppleScript being Apple's system-wide scripting language) suggests multiple possible ways of linking data across files belonging to many different programs on Macintosh computers.
For years, MiniPascal has allowed MASCA's surveying to be automated. Data shot with a total station and logged on a data collector are plotted on-screen and loaded into MiniCad's database. MiniCad's strengths are the speed and the ease with which it accomplishes these tasks. Though other CAD packages should provide a similar framework for highly complex macros, the programming skills demanded are generally beyond the abilities of most field archaeologists. MiniPascal, on the other hand, should be accessible enough for the average researcher. That being said, MiniPascal does have some weaknesses. Despite new features and a complete rewrite of MiniCad between versions 4 and 5, MiniPascal is starting to show its age. In particular, the syntax of its commands is not necessarily consistent, nor does it implement every command that the user might expect. More serious, however, is MiniPascal's poor integration with calls to the Macintosh operating system's user interface toolbox and a minor but persistent memory leak that can slow performance to a crawl under certain high-use conditions.
Of course, MiniCad does have other problems, too. As Mr. Eiteljorg pointed out, MiniCad is not comfortably capable of creating complex 3D surfaces. Though I have not yet had an actual need for such a capability, I can easily think of applications (such as the analysis of stratified remains) that would benefit from a surface-based- or even a volume-based-approach. MiniCad's digital terrain modeling (DTM) plug-in (a much touted new feature in version 6) could be used, however inelegantly, for the creation of 3D surfaces from 3D polygons. While the DTM module does hold great promise for the creation of surfaces and contour maps from topographic data, it would be a clunky solution to the problem of creating the surfaces required by Mr. Eiteljorg. As with other CAD packages (see the review of MicroStation 95 in Vol. 9, no. 2 of the CSA Newsletter), its development as a tool for the creation of, rather than the recording of objects, is something of a hindrance to archaeologists. (Personally, I would like to see a CAD program create complex 3D surfaces with the same ease that they can be created in 3D modeling and rendering programs.)
A second shortcoming of MiniCad 6 (also inherited from previous versions) is its quirky method of dealing with layers. As conceived by the program's authors, layers are a tool for architectural illustration. Each layer can be given its own scale, its own elevation, and its own view. An architect using MiniCad's layering features could easily create a drawing that showed both floor plan and front elevation at once. Unfortunately, though, the only way to see two 3D layers at the same time and from the same vantage point is to link them into a third layer. Not a problem for an architect or a mechanical draftsman who has only a dozen or so layers to deal with, the necessity of linking layers is a real pain to an archaeologist dealing with dozens of strata, or hundreds of days' worth of data, each stored on a separate layer. Of course, one can abandon the use of MiniCad layers and rely instead on object class (a MiniCad object attribute roughly equivalent to AutoCAD's layers) or on database information as the basis of all searches - but it is a real shame not to utilize the useful and intuitive concept of an object layer.
As I hope I have illustrated, MiniCad 6 can be a very useful tool to the archaeologist or architectural historian. Basic proficiency is much more easily attained with MiniCad than it is with other CAD packages, yet, through the flexibility of its MiniPascal commands, it can be a very powerful tool for display and analysis in the hands of a skilled user. Furthermore, third party plug-ins, macros, and symbol sets are becoming more commonplace and are opening up a wider range of features than had been previously available. So, in my estimation MiniCad is quite a capable CAD program for archaeologists.
Table of Contents for the Nov, 1996 issue of the CSA Newsletter (Vol. 9, no. 3)
Table of Contents for all CSA Newsletter issues on the Web