CabMasterPro User Guide
In This Topic
    Developer Add-On
    In This Topic

    CabMaster Developer is an intelligent object based application. Objects are described using parameterised formulas, and the graphical representations are deduced from this data.

    Developer is a knowledge base, capable of carrying construction, design, financial, work flow and any other data types required to construct a group of objects, a single object or subsection of an object. It provides a manufacturer the ability to encapsulate, secure and refine its business processes and procedures, and in turn control all down stream activities, extending through to distribution channels. It enables companies to gain greater leverage from their plant and equipment by providing them with the ability to control downstream sales, production and distribution.

    Developer is a software product which can be added on to CabMasterPro and higher level AMS products.

    Second generation applications are incapable of understanding objects and therefore rely on attaching attributes to lines. CabMaster Developer "understands" the objects it is working with, critical in ensuring that accurate information is passed onto the manufacturing environment.

    Built-in vs User-defined Properties

    Properties can be built-in or user defined. Formulas in the middleware can use either, and there is no difference in syntax.

    Built-in properties have predefined names that you should not use when defining your own, user defined, properties.

    Built-in Properties

    Built-in properties exist at all levels and have predefined names that are documented for each built-in field.

    Only Middleware developers edit the Library properties. These are overwritten with Catalog properties and together they initialise Drawing properties for a new drawing.

    In the Table of Contents look under:-

    Table of Contents

    These two are cross linked to easily go from one to the other, and the Formula Reference documentation shows tool tips and defines the built-in names for every control.

    Example Formula Reference for Machine Step page

    For example, here's some of the 'Machine Step' built-in properties. Hovering over the red and yellow numbered boxes attached to each field gives a tool tip which has the built-in name for that property, and clicking on the number takes you to more information.

    Machine Step Props

    User Defined Properties

    User defined properties can exist at these levels:
    1. Catalog Properties;
    2. Library Properties;
    3. Drawing Properties;
    4. Page Properties;
    5. Cabinet Properties;
    6. HSection Properties;
    7. Tool Properties.

    At all these levels, there can be user defined friendly pages. As described above, these are just convenient ways of editing the user defined properties. The properties themselves have names (like MyThickness or HasHinges) and values (like 16mm or yes). See the Formula Reference for a more detailed discussion of the syntax rules for user defined variable names and data types.

    Library and Catalog properties are a special case, only accessed on demand whenever the search for a property gets up to drawing level and fails. As explained earlier, when this happens, the property found is copied permanently from the library+catalog into the current drawing properties as a last step in the search. Once the property has been copied into the drawing properties the library+catalog will not need to be referenced again, so the drawing can be saved and reopened without the library being available, or with a different library selected as the "current library" and the drawing properties will stay as they were when the property was first copied into place.

    The catalog wraps around the library and properties are combined into one set during your session, so the "library+catalog" actually behaves as though it is one object, even though it is maintained as two files externally. This has lots of advantages for maintenance and ease of both creating families of related objects and updating the friendly pages of the whole little family in one go.

    Tool properties are also a special case. These live within each tool (such as the Textbox tool) and can be saved to QTD files for future. Use the Load and Save menu options you get by right clicking on a tool to access saved QTD files for a tool. Some tools (like AutoDimension and Capping) have a lot of details to save, so these can be quite complicated with friendly pages in front of them to change property values more easily.

    Compressed Drawing File Format

    With v12, all drawing files (QID), library files (QIL) and catalogs (QIM) and Templates (QIT) are compressed internally. This means that they still expose searchable properties to Windows File Explorer, and they still offer File Explorer previews. They are really indistinguishable from the old files, other than they are considerably smaller.

    Because of the performance of the Windows File System vs the compression algorithm, there does not appear to be any real time overhead in saving and loading these compressed files.

    Section level property overrides example

    In some cabinets, we have multiple container sections, each importing the same thing, say a Drawer, but assigning different properties to it.

    Section Level Property Overrides1

    For example, here is a simple 'drawer box' imported into two sections.

    It is the same drawer box, and has a friendly page to control its 'DrawerHeight' property, like the following.

    This friendly page appears once for each container (A and B) and is a section level friendly page. The two friendly pages control the drawer height property which is a section level property, appearing separately in A and B.

    When storing this cabinet in a catalog, we can also create new variations of this cabinet, with drawers of different heights again.

    Section Level Property Overrides2

    User Tracing

    UserTracing is an advanced feature for various tracking/timing/troubleshooting needs. When looking at the performance of libraries and middleware generally, it can be useful to trace calls to some of the middleware functions, such as those reading files or evaluating table lookups.