Overview

Resources such as textures, excel worksheets, DWGs, Cm3Ds and CmSyms are now extracted and saved separately from the autosave drawing file. If the same resource has been saved by an earlier autosave, they will NOT be resaved. Resources can be found in cmWritable/externalFormatterResources, with the extension .cmextrs.

The motivation for this is that drawings with a large number of resources will not need to spend too much time autosaving them, since autosaves are done periodically and are the most common form of saving.

Compile Time Changes

If you have a subclass of FormatterResource, be sure to implement the following method. It should give a unique string for your resource. Failure to provide a unique key will make newer, different resources overwrite older, existing resources.

New: extend public str uniqueKey() : abstract

Runtime/Behavior Changes

There will also be a text file for each autosave in the cmWritable/autosave folder. This file lists the resources used by the corresponding autosave.

Inside cmWritable/externalFormatterResources, resources are grouped by drawing name so that resources can be shared by all the autosaves for that drawing, eliminating redundant resaving of the same resources.