Technical Brief: FCW-07

What's New in FastCAD 32 release 5.20


by the Evolution Computing Staff
5 July 1998

Contents

Introduction
Multiple Level Undo
Group Lock/Unlock
Entity Selection
New Attach mode
PICT command
EXTENTS command
ROTATE ALIGN command
Pick Aperture adjustment
New Macro commands
XP issues
XP Tool Kit

Introduction

The 5.20 release of FastCAD 32 offers a number of features never included before in FastCAD. Many of these features are modifications to the fundamental FastCAD interface. These are less immediately obvious than the usual new commands. The purpose of this brief is to highlight their existence, background, and usage.

Note that many of these additional options are "options" in the truest sense. You can choose to use them or not.

Multiple Level Undo

For the first time, FastCAD offers a multiple level facility. Refer to the on-line help for detailed usage information.

The first change you might notice is that the UNDO commands have been moved to the Clip menu. (They used to be in the Edit menu.) This was done to conform to Windows' expected location of the command. Most Windows apps also call the "Clip" menu the "Edit" menu. But since FastCAD long ago established a direct context for "edit", we've decided not to rename the menus.

Previously, the UNDO command would undo only the previous drawing or editing command. But since it worked only on the last command, repeating the command would undo the UNDO. Therefore, repeating an UNDO would cause the screen to simply toggle between the UNDO and DO versions.

With 5.20, repeating UNDO will undo each preceding step in succession until the most recent SAVE command is reached. It is possible to undo up to ten steps if there have been no interim saves since its creation.

SAVE blocks the undo sequence because the database is compressed during the save operation. What does this have to do with UNDO? Well, the .fcw drawing file is basically a database of entities. Anytime you add an entity, it's information is added to the entity database. If you erase the entity, it still exists as a record, but it is tagged as being erased. The database cannot dynamically compress itself every time something is added, erased, or modified. It does this during save -- all the "holes" caused by erased entities are discarded.

The downside to this structure is that a drawing can get very large in memory, even if it contains very few entities. For instance, you can easily add 10,000 circles by creating a 100x100 rectangular array of a single circle. Obviously, after those circles are drawn, they exist in memory. Now say you erased all the circles. Your drawing looks empty -- but, in fact, the 10,000 circles are still using your system's RAM. That fact enables UNDO to recover your past steps. (Note: this type of memory usage exists in all versions of FastCAD, both DOS and Windows. Simply put, this version adds code to exploit this process.)

For what it is, FastCAD's database structure is very efficient. On today's mega-RAM computers, a large number of operations shouldn't impact performance. But it's something to keep in mind, especially if RAM isn't available in buckets. And it's another reason to SAVE often!

The reasons above also explain why FastCAD will only undo the last ten steps. If we allowed unlimited UNDOs, it would be conceivable that your computer would eventually run out of memory. First, there is no way to "look ahead" and predict or warn when memory will run out, especially if you're multi-tasking. Secondly, if system memory is exhausted in this manner, Windows will lock up.

When you use the REDO command, keep in mind that it can only REDO sequential UNDO's. For instance, you can UNDO ten steps, and REDO those ten steps. However, if you UNDO ten steps, REDO three, and then draw a LINE, you cannot recover the remaining seven UNDO's.

For longtime FastCAD users who liked the ability to toggle before and after versions of a drawing using the old UNDO, we've included a FLIP command that will do just that. Perform the UNDO, then invoke FLIP. Then mouse-click to auto-repeat the command. You substitute the FLIP command wherever you would use REDO.

Group Lock/Unlock

This is a FastCAD DOS and EasyCAD for Windows feature that has been restored to full functionality. The group locking button is located on the Button Bar. When the button reads "Lock", all grouping is in effect. When the button reads "Unlock", grouping is temporarily suspended. During "Unlock", group components can be edited and manipulated as if they were never grouped. To turn locking back on, simply toggle the lock button.

The old REGROUP command has been removed from the Insert menu, but it can still be entered from the command prompt. With the re-introduction of Lock/Unlock, the utility of the REGROUP command has been greatly reduced.

Entity Selection

FastCAD version 5.20 introduces some major enhancements in entity selection. These enhancements are controlled by two check boxes in the Options dialog [Specs > Options]. Since they have been implemented as options, you can choose to leave them off and use FastCAD in the traditional manner.

The first option is Enable Left-Button Preselecting. Its default setting is off. Checking this box causes a left-button press at the "Command" prompt to start a selection process before the command. Entities selected at this time will be used by the next command in place of its asking you to select entities. This is for those people who feel strongly that all Windows programs should operate on an Object then Verb order. If you do not feel strongly about this, leave this unchanged, as it can get confusing when mixed with FastCAD's ability to nest commands and make icons and menus have customized macro programs.

FastCAD has long had the SELBY command (available via the illustrated icon on the standard icon bar ot through the Specs menu). Now the setting of this command is remembered in the registry for multiple work sessions.

In particular, setting this to Multiple Each made for a quick, low-hassle way of selecting entities with multiple each picks. When you pressed the right button or return key, selection was ended. It was limited, but quick.

Now this has been enhanced. During each pick, clicking where nothing will be picked automatically starts a select by window. When this is complete, it goes back to each picking. If you hold down the CTRL key while each picking, or during the 2nd click of a window pick, then those items are deselected, just as if you were using NOT mode from a standard dialog. These additions make this a very quick and low-hassle way of selecting entities.

The second new setting in the Options dialog box is Enable Selection Right-Button Menus. This defaults to on. You may toggle it off to have FastCAD perform selection as it always has - through a set of dialogs allowing many complex options. This remains the only way to select by tag #s (mostly useful in debugging). The problem with the old dialog method is that you have to move your mouse a lot during entity selection.

When this check box is on (the new default), then selecting is a lot like the SELBY multiple each as described above, except that a right-button click will now bring up a pop-up menu allowing access to most of the advanced selection options formerly available through dialogs.

When dialogs are not the chosen method of selection, shortcut keys can operate directly: A for all, P for Prior, D for "Do it", C for color, etc. This can be an additional efficiency.

While all of the new options may seem confusing, nothing says you have to use them all. Try the new way - if you don't like it, set both of the new options off, and everything will work as it always has. With the new options, one of the most "click-intensive" areas of the FastCAD user interface has been much improved.

New Attach mode

Added new Attach Mode: Fraction. You can specify a fraction denominator such as 8 for every 1/8th of the entity. 8 gives circle attachment to the nearest octant point, 2 gives nearest end or midpoint, etc. The attach mode and fraction value are now saved in the registry, although the attach on/off status always defaults to off at startup.

PICT command

The PICT command is used to import a bitmap image into your drawing. A bitmap image is a specific raster format. A raster image is one that is defined by a matrix of dots or pixels. By contrast, FastCAD drawings are vector images where everything on the screen is defined mathematically. Almost all photo quality images are raster based, and almost everything you scan with a desktop scanner is in a raster format. If you have an image that is not in the .bmp format (say .gif, .jpg, or .tif), you can readily convert it to .bmp using almost any commercial or shareware paint program.

This capability has always been present in FastCAD 32, but it was not so direct. (In case you're interested, you inserted it as a Bitmap Fill Style.) The PICT command also offers more options for controlling the image as you insert it into your drawing. Remember that an inserted bitmap is an externally referenced file, so if you copy your drawing to a floppy disk, remember to also copy the .bmp file as well.

EXTENTS command

This is a minor command that will display the extents of your drawing. The purpose of this command is more of a diagnostic nature. When you call our technical support staff, there's a chance this command can come in handy.

ROTATE ALIGN command

New ROTALN Rotate Align command: Rotate Calculates the difference in the from/to bearing angles to get the rotation angle.

A new ALN macro has been include in the default macro file that performs a similar function. Use ALN to align an entity to an existing linear entity. It works by extracting the bearing of the reference entity, then rotating the selected entities to the same bearing.

Pick Aperture adjustment

This adjustment is available in the Options dialog box [Specs > Option]. The pick aperture is the tiny box cursor you see when selecting entities. The value you enter is entered in pixels. You might consider changing this value if you're running FastCAD at a higher or lower resolution than usual. For instance, if you were running FastCAD in 1280x1024 resolution on a 15" monitor, the pick box would be virtually invisible. The value you enter is saved in your registry settings, so you won't have to change it every time you open a new drawing.

New Macro commands

Added commands MENUD (dialog) and MENUDM (macro) menu commands. These differ from the standard menu commands in that if a menu is successfully loaded, it becomes the standard menu for that work session - loading new drawings will reload the specified menu rather than the FastCAD standard menu.

Added macro commands GFNOP and GFNSP, like the normal open and save variable gets, except they prompt for a pattern wich may contains * and ? wildcards, such as *.FCW or DWG???N.FCD, etc. The pattern can contain spaces to support W95 long file names - use RETURN (or ; in macros) to end entering the pattern. The pattern is used to select which files are displayed for selection.

Added TEMPLATEM macro command. Loads a new template by file name, bypassing the dialog box.

Added macro command DSPECH dimension text height specification, ASTYLEH arrowhead height, and ASTYLEL arrowhead length. None of these commands trigger a redraw. When all settings have been made, a macro should then explicitly call REDRAW.

XP issues

If you are using third party XP modules, they must be updated to work with 5.20. Please check with the supplier of your XP modules and obtain updates. Efforts have been made to include all third party developers during the update testing phase.

All XP modules now must have the filename extension .dll instead of .xp. This should not affect you in any way unless you are writing XP's. In that case, this should make creation easier, especially if you are creating XP's using C language.

XP Tool Kit

The XP Tool Kit now supports C. The Tool Kit is used to create eXtended Procedures for FastCAD 32. Extended procedures can add tremendous versatility to FastCAD. If you have knowledge of C or assembly language programming, you might want to check our web site and download the kit for free. It is fully documented, but like FastCAD itself, it is always subject to improvement.

©1998 Evolution Computing, Inc.