MicroGDS 11.3 ReadMe
Welcome to the MicroGDS 11.3 release from Informatix Inc.
For full details of how to use MicroGDS 11, in both single-user and multi-user modes, please see the Using MicroGDS 11 user guide.
MicroGDS 11.3 can be installed on any desktop version of Microsoft Windows which is supported by Microsoft. At release, the minimum versions are Windows XP Service Pack 3 (SP3), Windows Vista Service Pack 2 (SP2), Windows 7 Service Pack 1 (SP1) and Windows 8. Use Windows Update before and after installing MicroGDS, to make sure you install every important update from Microsoft.
New licence needed
You will need a new licence key to run MicroGDS 11.3. Licences for older versions of MicroGDS will not work. Contact email@example.com for details.
The first time MicroGDS 11.3 is run, you will be prompted to enter licence information. You can use MicroGDS for a few weeks as a trial, without a valid licence.
Older versions of MicroGDS
MicroGDS 11.3 does not remove earlier releases of MicroGDS such as 11.2. This allows you to run both old and new versions, using independent licence details. If you later remove an older version of MicroGDS you may need to use the Windows Installer's Repair action on 11.3 afterwards, to make sure that, for example, Windows Explorer associates MicroGDS files correctly with 11.3.
MicroGDS 11.3 requires Microsoft's .NET Framework 3.5, which is not enabled by default on Windows 8. Windows 8 includes Framework version 4.5.
Framework 3.5 can be installed the first time MicroGDS, or any other application which needs it, is run, or by enabling it using Control Panel, Programs and Features, Turn Windows Features on or off. For details see Microsoft's article Installing the .NET Framework 3.5 on Windows 8.
32-bit and 64-bit versions of MicroGDS
There is a 64-bit version of MicroGDS that you can install onto a machine running a 64-bit version of Windows. This enables you to take advantage of the improved speed and memory handling of a 64-bit process. You can run the 32-bit version on 64-bit Windows, but not the other way around.
You should install the 32-bit version of MicroGDS if you have existing MicroGDS CPD databases that you want to continue to use. These databases are created with Jet 4.0 and Microsoft do not provide a 64-bit version of the Jet driver. You can install both the 32-bit and 64-bit versions of MicroGDS 11.3 on the same computer.
64-bit application support
If you install the 32-bit version of MicroGDS on a 64-bit operating system, you will be offered the option of installing the MicroGDS 11 64bit Application support module. This is recommended, but necessary only to run CadLink .NET applications with MicroGDS. The sample applications included with MicroGDS will not work without it, for example.
What's new since 11.2
Autocad 2013 data
Added AutoCAD 2013 to the user interface and to the API as an export version. This adds "Release 2013" or "2013" to drop-down list controls, and "Release_2013" to XML and .NET data to control export.
In AutoCAD DXF and DWG input and output, interpret or use the new AutoCAD 2013 MTEXT code
\Kfor strikeout and
\kfor end-strikeout. For output these are used only where the export format is AutoCAD 2013 since older versions will not interpret them.
For import, recognise
\o(end-overline) but ignore it, since MicroGDS text does not include overline formatting.
Import ARC_DIMENSION and LARGE_RADIAL_DIMENSION entities from DXF files as plain graphics. This is a worthwhile improvement on discarding these entities and giving a warning message, but it loses any knowledge that these are dimensions and cannot generate these entities for export.
Adjust line spacing for charstyles created by AutoCAD import and based on TrueType fonts, to add a line spacing derived from the font. This increases Arial, for example (used for Standard) by 3% and more closely matches what AutoCAD uses for its line spacing.
Added alpha (transparency) to all colours in DXF and DWG output and input, specifically by adding
argb<A>:<R>:<G>:<B>to the style mapping table (can be used wherever the existing
rgb<R>:<G>:<B>syntax is allowed).
Entity mapping tables
Syntax errors in entity mapping table files (.emt) are reported more clearly. The entry number within the file section, and the text being processed when an error is detected, are reported as part of new messages which may help identify the mistake.
Import and export definition files
File names (paths) in all MicroGDS's XML-based import and export definitions files are now treated as relative to the directory containing the definition file. You can also specify absolute pathnames using the
<*MICROGDS_PROGRAM_FILES_COMMON> and <*MICROGDS_PROGRAM_FILES>prefixes. This affects MAN file import's ReferenceFileFallbackPath and RasterFileFallbackPath, DXF and DWG import's EntityMapping and StyleMapping, AIF and BIF StyleMapping, and DXF and DWG export and publish EntityMapping, StyleMapping, Linetypes, Chartypes, HatchDefinitions, HeaderVariables and FontFolder properties.
New standard file alias
There is a new standard file alias name,
*MICROGDS_PROGRAM_FILES. This expands to the directory where MicroGDS is installed. (More precisely, it's the parent of the directory containing the copy of microgds.exe which you are running.) File paths in settings.xml files can now use
<*MICROGDS_...>relative names. You can use the new name in all the places where
*MICROGDS_PROGRAM_FILES_COMMONcan be used.
Files with the extension .mcommand can define both custom commands and user interface elements for these, such as menu entries and toolbar buttons. They are in the same XML format as
.mprofilefiles; the supported XML elements are
CustomCommands(with identical meaning to this element in
settings.xml) and any of those allowed in a profile file.
These must be in one of the standard folders for settings files and are processed before the settings files in that folder (and before profile files). The intention is that they will be used to store custom command definitions with their corresponding menu, shortcut and toolbar entries.
Custom commands can now be set up with toolbar button images via the UI, and can be added to toolbars. Custom command images should be resources in a DLL or EXE file, or bitmap (
.bmp) data files.
For an example of using these new files, look at
SampleApplications.mcommandin the directory where you installed MicroGDS.
Start-up of a new copy of MicroGDS is faster; the splash screen is not displayed for so long.
The Windows Shell file association for MicroGDS (used, for example, when you double-click a MAN file in Windows Explorer) is modernised to be faster and more reliable. It now uses DropTarget, rather than DDEEXEC.
The first time you start MicroGDS 11.3 after it is installed, there may be a long pause while Windows verifies the digital signatures on its files.
In the Properties information shown by Windows Explorer, expanded the layer link number and description to the layer name, when this occurs in the MicroGDS tab for an LYR or the Layers tab for a MAN file.
MicroGDS now allows "switch user," on versions of Windows which provide it, to run copies of MicroGDS for several logged-in users at once; each logged-in user session counts one from your licence limit.
French and German
The resources for German and French in MicroGDS have been improved, although the translations are not complete (you get some new, or less common, messages still in English).
Create OLE (photo) primitives using enhanced metafile for their presentation if the server supports it, rather than leaving it to the OLE library default (usually 16-bit metafile picture). This seems to correct the long-standing problems with Excel spreadsheets shown truncated to no more than 327.67 mm high and wide.
Any control bar can be restored to any floating location, so long as part of it is on any monitor. Previously, every floating control bar was restored so as to be entirely on the primary monitor's work area.
Window saved axes
Newly created drawing windows, and drawing windows which have never had any saved axes stored (which include all drawings last saved by MicroGDS 10 or earlier), are not automatically given saved axes. Saved axes are never set except by the Window > Save Axes command; opening a window which does not have saved axes loads your settings.xml defaults into its working axes. MAN files, DRG files (in multi-user projects) and XML files all now remember the no-saved-axes state. There is no change to import and export of AutoCad file formats; saved axes are always defined for windows read from DXF and DWG.
The Edit > Paste Special command, when copying MicroGDS objects, with Keep style names of clipboard graphics not checked, creates any new objects with lightstyle NONE. It used to use the set lightstyle, but this is now consistent with all other commands which create new objects. The status bar now treats selected assemblies as having no lightstyle; in earlier releases it displayed the lightstyle of the plain objects contained in that assembly.
Added an Edit > Paste Special option (check box) to bypass the transform constructed from the set axes of copied data and the set axes of the target drawing. This feature is available only from the Paste Special command, not in Paste, drop-down button Paste Special, drag and drop, or the API. There is no way to start the Paste Special command with the check-box cleared; if you want several Paste Special without transforms, you have to click the box every time.
The Paste Special dialog used where MicroGDS data is found on the clipboard has a new check box, Include attributes normally not copied. This controls what to do with attributes whose mnemonics are not marked as Attribute copied with object. The normal state, observing this attribute, is with the box not checked. If set, the Paste operation includes all object attributes, even those not marked for copying. This option affects only pasting objects (not primitives, bitmap or metafile), and it is "sticky" – the setting stays for the rest of your MicroGDS session. This option also affects plain Paste commands.
A new setting,
SetCharstyleResetScaleor Reset selected text primitives' scales whenever the set charstyle is changed, controls whether changing the set charstyle (using the status bar, the Document Organizer, editing a character style or the Set > Charstyle command) should reset a scaled text primitive to the natural size of its new charstyle.
The set object and set axes
Three new settings,
AutoSetAxesScale, AutoSetAxesAngle and AutoSetAxesOriginor Changing set object also changes set axes scale etc, control whether to copy a clicked-on object's scale, rotation and origin to the current window definition's set axes.
Window Profile Select
In the dialog to choose a named profile, add an action for double-click on a profile name. This is equivalent to select and OK.
Alter Smooth command icons
Swapped the smooth mid point and vertex icons to match the actual commands.
There are significant improvements to MicroGDS speed and memory use, especially for multi-processor computers.
MicroGDS 11.3 allocates less memory for drawing OLE objects (as bitmap images) into PDFs. Now allocates one, where it used to use three, copies of the full, uncompressed bitmap. You are now less likely to have PDF publishing fail for lack of graphics memory.
Third-party software used in MicroGDS
The database administrator now follows the same rules as MicroGDS about what link number applies for a project layer file (.LYR). Each layer file stores its link number as well as being named to match. MicroGDS ignores the stored link number; the database administrator reports if the numbers differ.
The new behaviour affects adding layer files to the database in Database > Validate or File > Restore. A list of files it finds but does not use (e.g. because they come from a different project) is shown at the end of these commands.
Reinstating a deleted layer now renames the layer file to match its stored link number.
The warnings shown in MicroGDS itself as "yellow shriek" messages now appear in the MicroGDS Viewer.
The 32-bit version of the Viewer no longer allows itself to be installed on 64-bit Windows, where it does not work. (You needed the 64-bit Viewer installation for this.)
Fixed a mistake in the Print dialog for the Viewer which prevented it printing on 64-bit Windows.
New and changed API features
New profile functions
void Cad.SaveProfile(string fileName)
void Cad.RecallProfile(string fileName)
void Cad.SetProfile(string name)
void Cad.GetProfile(string name)
The first 2 take a full path name and save or recall the profile, the second 2 set the profile with name name to the current profile and get a saved profile. The second two are equivalent to the interactive commands, the first two permit you to look in folders other than the standard paths.
Cad.SaveProfile and Cad.RecallProfile can handle strings containing the pseudo-logicals
*MICROGDS_COMMON_APPDATAas with style search paths. For example, you could use
Cad.PrefCopyProjectColours, Cad.PrefColour, Cad.PrefColourEx and the Document Properties dialog "To document defaults" button now cause the edited palette to be saved in the appropriate settings.xml file. Fixes a bug in MicroGDS 11.0 (marketed as 2010).
PrefViewControl.DrawingStyleto Cad.PrefViewControl and Cad.GetPrefViewControl. This was forgotten from MicroGDS 11.0.
Make Cad.GetPref and Cad.Pref [7.1] case-insensitive, as documented, and correctly able to use the returned values for restoring original settings. The mechanism allows either the non-localisable XML representation or the local-language version of an enumerated type such as bool to be read in - so false, False and UnTruE might all be accepted (supposing Untrue to be the local language equivalent).
Cad.SetXMLLinestyle checks more thoroughly that a linestyle pattern stroke is valid.
Fix problem that meant that all string arguments for CAD events (e.g. document name for change of current document) were passed as null. Fixes a bug in MicroGDS 11.0 (marketed as 2010).
The data type for CadEvent properties such as Initialize accidentally became
SByte(signed 8-bit) in MicroGDS 2010 (11.0). These properties are now restored to
Custom command numbers
Custom command numbers are shared between commands defined with API functions and those loaded from settings and .mcommand files. In MicroGDS 11.3 an API program is likely to find command numbers returned by Cad.GetFreeMenuEvent differ from earlier versions.
Typed input during an API conversation
Corrected unpleasant behaviour during API conversation. Discard typed input to MicroGDS while a conversation exists and no snaps are expected (by Cad.GetArg etc). That's while the cursor displays a padlock. Mouse clicks and hover-snaps are already disabled; this edit disables typed coordinates as well, which otherwise enter prompt mode and thus lock out all API operations.
Fix problem in Cad.Print introduced in MicroGDS 11.1: return the documented XML warnings summary and add to it a PrintDoesntFitWarning if the view being printed does not fit within the printable area of the Windows printer. Up to 11.2 the warnings string was always empty; now it is never empty, but usually has no warnings in it. So far, this is the only warning which can ever be returned by Cad.Print, but others can be added. At 11.1 and 11.2, if the view does not fit, an unhelpful MAE_PRINTFAILED error is raised; that is now reserved for more serious failures.
Added interpretation to Cad.Print for the options ColourMode, Cutmarks, NumCopies, Rasterize and RasterResolution.
Added support for null margins for a "scalable" paper size (not print layout, and not perspective); these mean zero for export, but to use the Windows printer margins for printing.
The two line-thickness properties of the options to Cad.Print (LineThicknessMonochrome and LineThicknessColour) now affect just that print operation, rather than also affecting the MicroGDS session settings MinPrintThicknessMono and MinPrintThicknessColour. Interactive print operations continue to set both.
Enhance Cad.PasteSpecial so that:-
PasteFormat.Metafile(5) uses an enhanced metafile if available, and a 16-bit Windows metafile picture only as second best.
PasteFormat.DIB(6) uses an ordinary bitmap if a device-independent bitmap is not available.
PasteFormat.HtmlText(11) is added. Format 11 has been present since version 9, but not available for .NET programs without this declaration.
Cad.CurObjLight and Cad.SetSetLight
Cad.CurObjLight and Cad.SetSetLight now check for an invalid lightstyle name, and generate exception MAE_INVALIDSTYLENAME for it. In earlier versions of MicroGDS, invalid lightstyles would usually be rejected but with error MAE_CANTFINDSTYLE.
Cad.InsertMenuCommand can now insert a menu command between existing top-level menus.
Errors in Cad.InsertMenuCommand and Cad.AddMenuCommand to do with separators, and trying to modify a regular menu entry as if it were a submenu, are fixed.
Fix bug where Cad.RemoveMenuCommand("**") followed by adding some new menu commands turned into just the remove, as soon as a new document is selected.
Export format options
Clump, saved view, window definition, layer and primitive scans all stop (behave as end of scan) if their current record is deleted, even if that deletion is because of an Undo or Redo operation. In earlier versions of MicroGDS it was not very predictable whether the scan would continue, whether it would halt with or without an error, or whether it could in rare cases return wrong data.
If the current primitive is invalidated by an Undo or Redo, any operation on it now gives error "No current primitive."
Cad.StartMicroGDS uses IDropTarget registry entries, rather than DDE, to find MicroGDS. This means that MicroGDS 11.3's Cad.StartMicroGDS can start MicroGDS 11.2 or earlier, but older versions of the API cannot start MicroGDS 11.3. Allow a bootstrap program to start MicroGDS and return the process ID of the new MicroGDS process without confusing Cad.StartMicroGDS.
Visual Basic 6 and native-code C or C++
CadExport, CadGetSetEditColour, CadGetSetWndDefaultViewName, CadGetWarnings, CadImport, CadOpen, CadPrint, CadPrintF, CadSetWndViewNext and CadSetWndViewScanStart have been added to the functions available for VB6 and native C++ users of CadLink.
Add an adaptor to collect new-style (MicroGDS 11 onwards) document warnings and turn them into old-style application warning messages, so as not to confuse ADK applications such as the Viewer.
Redraw windows or update hover-highlight status more consistently when preferences such as background colour are changed via File->Preference Files. Previously if you deleted a setting, for example, it wouldn't be noticed.
Improved the internal checks made on linestyle pattern stroke definitions, where faulty saved data could sometimes crash MicorGDS.
Redraw windows or update hover-highlight status more consistently when preferences such as background colour are changed via File > Preference Files. Previously if you deleted a setting, for example, it wouldn't be noticed.
Several detailed improvements to the "yellow shriek" warnings dialog.
For drawing text in hidden-line (or other non-wireline) mode, draw it as lines rather than keep it as text (i.e. behave the same as for perspective).
A crash in the Set > Lightstyle command is fixed.
Correct import and other parsing of ASSOCDIM so as not to get an undefined (not initialized) value for the optional 11th (round-to) parameter. Corrects a bug in 11.2.
Prevent stack-overflow or similar crash if a menu entry is dragged into itself (an impossible move or copy) by showing a cannot-drop cursor. Fixes a bug in MicroGDS 11.0 (marketed as 2010) to 11.2.
Avoid exceptions accessing deleted phase and layer records in the phase list (used in the window editor, mini window editor and photo phase editor) following Undo or Redo commands, or their API or ADK equivalents. The exceptions do not usually crash MicroGDS but can cause incorrect updates to the user interface. Fixes a bug in MicroGDS 11.1.
Make [X] [Y] and [Z] toolbar (status bar) buttons operate within the current command (including transparent commands), rather than cancelling it.
Read text attribute data which are empty so as to match saved data from this and all previous releases of MicroGDS. This fixes a serious bug in text attributes from MicroGDS 11.0 to 11.2.1.
Make Window > Profile > Select update control bars (toolbars, status bars, document organizer, etc) accurately. This fixes a bug introduced in MicroGDS 11.0.
Make it possible for the Profile status bar item to re-load a current profile when this is selected from the drop-down list. This matches the use of the menu command Window > Profile > Select > current, which always re-loads the profile from its last saved file. This fixes a bug in MicroGDS 11.0.
A switch between horizontal and vertical view toolbar now takes effect on screen immediately, rather than when drawing view windows are next resized. This bug appeared in MicroGDS 11.
Recalling a profile now updates the view controls for all drawing windows.
Recalling a floating status bar gives the right location on screen.
Remove special layout rule for Status Bar 1 and Status Bar 2, and replace it with better wrapping of all control bars. Long thin bars such as status bars now get a line on their own because of their size, not because of a special rule.
Document Properties dialog "To document defaults" button now causes the edited colour table to be recorded in your settings file.
Made project database reads slightly more robust against finding null values (missing fields) in the CPD or other project database. MicroGDS never writes null values, but thay have been found in the wild, possibly as a result of database file corruption.
Two Yes/No choices in the database administrator now have an effect. They used to be treated as Yes, even if you clicked No.
Fix an (almost) infinite loop trying to draw a thickened line at a vertex in a circle, fillet or similar curve where a curve radius is exactly equal to the offset to a linestyle boundary, and the line is continuous through the vertex.
Corrected Edit > Undo and Edit > Redo (and API equivalents Cad.Undo, Cad.CanUndo, Cad.Redo, Cad.CanRedo and Cad.UndoSetMarker) to avoid unwanted side-effects, where repeated Undo and Redo could alter the command name being recorded or refuse to carry out the Undo or Redo operation.
Correct "Unexpected arc in KRLineLike" error message during Alter > Transform > Stretch and (sometimes) dragging of an object containing a shorter-than-minimum length curved line.
The Attribute copied with object property of a Link mnemonic (applicability Reference or Object) was ignored in MicroGDS 11 (MicroGDS 2010) to 11.2. It now has the expected effect.
The DXFScan program processes text in DXF files from AutoCAD 2007 and later as UTF-8, based on the file $ACADVER header variable. In earlier releases it used the code page of your Windows locale.
Entity mapping tables convert DXF names in data later than AutoCAD 2000 to upper case.
Wherever MicroGDS reads string data from the Windows Registry, it now accepts REG_EXPAND_SZ (expandable string) as well as REG_SZ (literal string) data. Earlier releases could be confused by expandable strings, which are sometimes used for Windows system information.
Several cases of Record is deleted messages (which indicate an internal error in MicroGDS) have been fixed, especially to do with the use of the Edit > Undo and Edit > Redo commands or their API equivalents.
The View > Save View and View > Save View As... commands no longer make the Document Organizer window flicker.
If you use File > Preference Files to save a settings file, you won't be prompted to save settings again at exit (unless some other change is made to the preferences, of course).
Thickened lines which have a vertex where one or both line segments at a vertex are arcs and are parallel at that vertex are drawn with better mitred corners.
In the Edit > Copy and Edit > Cut commands and their API equivalents, correctly fill in the Windows clipboard object descriptor, even for projects, and even in Cad.CopySelectionNoOLE and Cad.CutSelectionNoOLE. This makes a presentation difference to the OLE Paste Special dialog, and a functional difference to MicroGDS Paste (not special) if there were no graphics selected for Copy. Fixes a bug introduced in MicroGDS 6.
Fixed a bug in version 8.0 onwards where bad XML was written for any charstyle with both an outline and a colour, and from 11.2, any charstyle with an outline.
Fixed a bug in version 9 onwards where XML processing for rich-text edits such as adjusting formulas for new link numbers would accidentally convert XML character entities such as
"into their literal text, sometimes producing invalid XML as a result.
Fixed a bug in version 9 onwards where HTML import, used for Paste or [drag-and-]drop of formatted text, incorrectly processed multiple font family names supplied as part of a CSS style. The intended effect is as for font/@face, to use just the first name in the comma-separated list; these now work correctly using shared code for parsing.
Edit > Paste Special... Objects into matching layers (and its toolbar equivalent) now give the pasted objects new link numbers where necessary to avoid clashes with existing objects.
The Attribute copied with object property of a Link mnemonic (applicability Reference or Object) now has the expected effect, consistent with other data types.
Reading SketchUp data is processed as an import (rather than a load) since the document being created may be created by a "blank" template MAN file – which could itself contain layers and data.
The suggested window names when importing DXF and DWG data into a MicroGDS project are based more literally on their equivalents in the incoming data. This can make a big difference if the data uses names with dots in.
MicroGDS 11.3 includes changes from earlier versions, see the ReadMe for 11.2