Most values in CabMasterPro can be controlled using formulas. For example, you can use formulas to control recesses, overhangs, appearance, or the presence or absence of parts of a cabinet. Formulas may also give results that you can use in other formulas. This is very similar to the way spreadsheets use formulas. The formulas in CabMasterPro are similar to those in spreadsheet programs. However, instead of referring to cells in a spreadsheet by row and column, CabMasterPro uses named values. Some names are pre-defined. However, cabinet or library designers can define their own names.
For example, a value might be named 'base_tops_in_cabinets'. Names can use upper and lower case letters, digits, and the underscore ('_') character. Upper and lower case letters are treated the same, this means that 'XYZ' and 'xyz' are treated as the same name. A good library design principle is to ensure that names for related values start with the same prefix. For example, all values related to base cabinets might have a name beginning with 'base_'.
Whilst this helps organise the library design, it is still confusing for the people using the library on a day-to-day basis to have to deal with these complicated looking names.
CabMasterPro lets the library designer design "Friendly Pages" where related values can be grouped together and referred to with meaningful questions. In the case of 'base_tops_in_cabinets', we can group it together with other questions about base cabinets and we can provide a question like "Tops in cabinet box?" to control it. The designer uses the "Define" set of pages to define these questions and group them together.
Remember that you need to uncheck the Only show friendly pages option, as shown below, to view these pages.
The Define set of pages provides the facility for editing Friendly Page questions. You can access them by opening a Properties sheet (of the Library, Drawing, Page, or Cabinet) and picking 'Answers & Setup' from the Category/group selector box.
The pages under the Answers & Setup category include :-
Other available pages, discussed in separate topics, are :-
In older versions of CabMaster Software™ friendly pages were sorted into Groups and Tabs. In current applications, this refers to Category and Pages.
A Category is a group/set of Pages, which can be selected from the left hand side of the property sheet.
When you have created a Category (Define Group), you can add Pages (Define Tabs) to it, and then add Questions to an existing page. (Click on image to view example).
Most of the toolbar buttons on the Define pages have common functions, so will only be mentioned once:
Export | Exports to an ASCII tab-separated or XML format - only export minimal info | |
Export/Import |
Generates the export file in a temporary folder, then watches for changes – when you edit and resave it, CabMaster will reimport and update, displaying the change. The most reasonable use-case is to export to xml and associate the xml file with an xml editor. | |
Import | Merge from a tab-delimited ASCII or XML file into the current drawing | |
New | Creates a new category(group), page or question | |
Delete | Removes the selected category(group), page or question | |
Cut/Copy/Paste | Same as the equivalent Windows controls, except works on categories(groups), pages or questions | |
Move Top/Bottom | Move the selected category(group), page or question to the first or last position in the list | |
Move Up/Down | Moves the selected category(group), page or question one position up or down the list | |
Open * | Load a set of tabs from a QIQ file into current category(group) (see QIQ Files below) | |
Save * | Saves the current category/group of pages to a QIQ file |
* The Open and Save controls are only available on the Define Groups (or Category) and Define Tabs (or Pages) and allow you to import and export sets of Friendly Pages to QIQ Files (see also Define Questions).
The Define Groups page displays the current list of Friendly Page categories (shown below left) and appear in the Group selector drop list (shown below right) and are used for arranging pages into logical categories.
There are four (4) columns in Define Groups:-
- Name is the text that will be displayed in the Group drop list (shown below right);
- You should have a unique name for each Category/group.
- The Enable field allows you to hide or show each group individually and can be used to hide advanced options from novice users for example.
- The Enable field must evaluate to a Yes/No answer, so you can type in one of these constants or have a formula which evaluates to one of them. You can even have an Enable field controlled by another Friendly Page, and this has been done in the sample libraries with the "Properties Enable Page".
- EnableLCM is similar to Enable, but controls the visibility of the group when editing a Catalog with Library Catalog Manager, rather than during normal drawing.
- Security allows you to define features (uniquely identified by an ANSI string) which lock access to individual items, friendly pages and/or friendly page groups. These locked items or pages will be discarded upon reading in the file by users without the license to support the feature. The secured content is encrypted using a 256-bit key, which must be provided by the license as a Base64 format string.
As of 31Dec24 no license types yet support these features, but they will be introduced in a future update to the licensing system.Click on image to view the Friendly Editor accessed by clicking on the button.
Control Sets provide the features (introduced v11.0.0.58 2019) necessary for the dynamic sidebar support.
You can now define a Control Set in middleware and reference it via a variable at item, page, drawing or library level. This will mean we can define sidebar friendly page groups for all items in a library and override as necessary for certain items.
For a detailed explanation, see the topic on Define Control Sets.
Define Tabs is very similar to the Define Groups page, with the addition of a list box and the save and load controls (shown above left).
The list is used to select which Category the current Page) appears in, and the two extra buttons are used for exporting and importing sets of tabs called QIQ Files.
To access the Friendly Editor, select the relevant page (e.g. Job Setup > Job No page) and use the shortcut Ctrl+Shift+E - click on image to view.
Fields
There are seven (7) columns in Define Tabs:-
- Name:
The Name field is the text which will describe the Page itself e.g. 'Job Number' page under the Job Setup category.- OnShow:
This action formula is evaluated whenever that friendly page tab goes on display.
- It can be used for additional control of the preview pane, or for other things, depending on the choice of formula.
See also Formula Reference _OnShow.- Check Valid:
The Check Valid field can hold a formula which evaluates to a Yes/No answer and lets you check the values that the user has entered on that page.
- The formula is evaluated when the user has finished editing the current page and tries to change to another.
- If the Check Valid formula evaluates to "No" then a warning message is displayed telling the user that there may be errors on the page.
For example, if there was a question on the current page which controlled a property called "panel_thickness", we could check that an invalid thickness wasn't entered when the end user tries to leave the page. By setting the Check Valid formula to panel_thickness > 0, we could ensure that if a length less than or equal to zero was typed in, there would be a warning given. This is because the formula would evaluate to "Yes" if it is valid, and "No" otherwise.- Enable:
This is as per the Define Group level Enable but control visibility of individual pages instead.- EnableLCM:
This is as per the Define Group level EnableLCM but control visibility of individual pages instead.- Use as Sidebar:
Friendly pages can be defined and used in the Properties Sidebar. When set to Yes, this specifies that the Tab will be used in the Sidebar for this item.
- If multiple pages have UseAsSidebar enabled, only the first one in the list will be selected for use in the sidebar.
- Security:
This column allows you to define features (uniquely identified by an ANSI string) which lock access to individual items, friendly pages and/or friendly page groups. These locked items or pages will be discarded upon reading in the file by users without the license to support the feature. The secured content is encrypted using a 256-bit key, which must be provided by the license as a Base64 format string.As of 31Dec24 no license types yet support these features, but they will be introduced in a future update to the licensing system.
This page allows you to create the actual controls which will appear on a Friendly Page. It has the same toolbar controls as the other pages with the addition of Category and Page drop lists. Use these to select which friendly page the controls appear on.
The topic on the Define Questions Page provides a detailed explanation but briefly :-
- Name:
The property being controlled by this question (if any).- Question:
Actual text prompt to be displayed to the user on the Friendly Page.- Type:
The required input must be one of the available Data Types.- Control:
Type of control to use (edit box, drop-down list, checkbox, etc).- Style
This is a whole number that determines the style of the control being displayed.- Combo Source:
For a drop-down list, where the values are loaded from.- Combo Answer:
How the result from a list box is returned.- Enable:
A Yes/No flag to determine if the question appears or not.- Extra:
Values for dropdown can be types directly into here.- QWidth:
Width of the question text in columns (out of 6 total).- AWidth:
Columns (out of 6) occupied by the answer control.- Height:
Specifies the height of this control as a number of rows.- Action:
A command to run (e.g. show message box for Button controls).
On Define pages, it is possible to Save and load (Open) Friendly Pages to a text file called a QIQ file (see Define Tabs).
QIQ Files are used for editing outside of CabMasterPro, or for copying into other drawings or libraries. When you save a QIQ file all the pages in the current page category are saved, and when you load a QIQ file all the pages in the current Category are replaced with the ones from the QIQ, not merged. Beware of this before you overwrite any existing pages.
Since a QIQ can be opened with any text editor as it is a plain text file, but since it is laid out in tab-separated columns, it is best to open them in some spreadsheet program. This will preserve the column layout and avoid any problems with empty column values.
The format of a QIQ is simple: each page in the category is started by a line like "[Tab Name]" and then each line from the Define Questions page is written out in tab-delimited form. At the end of each tab section is an optional line starting with an equals sign which is the Check Valid formula for that tab.
Once you have edited a QIQ file, you need to merge it back in to the library by opening the properties sheet that you saved it from and click the Open QIQ button. This will replace the existing tabs with the modified ones and you can then Save the library. If you made any formatting errors while editing the QIQ you will be warned when CabMasterPro tries to load it.