How Can We Help?
Each tab has its own local New / Edit / Save / Cancel / Delete buttons that act on
that tab’s records only.
What, where, who, when, why
| What | The nine configuration tabs behind the Series screen’s Header: Shapes, Openings, Open/Shape pricing, Family, Coupler/Mullion, Designs, RO Adj, Glazing Thickness, Rules — the record sets that make a series buildable and priceable. |
| Where | Administration → OJ Setup → Product Setup → Series → select a series → the tabs along the top (disabled until a series is selected). |
| Who | Product setup staff. Deep tab work (Rules especially) tends to belong to whoever owns the configurator logic; Open/Shape pricing is often co-owned with pricing. |
| When | After the Header tab exists and the series ID is assigned. Revisited whenever the supplier changes profiles, pricing, or designs, or when rules evolve. |
| Why it matters | These tabs are the product: the designer only offers shapes and openings ticked here, prices come from the Open/Shape, Designs and Coupler/Mullion records (flat or matrix), and the Rules tab carries the part-picking logic. An unpriced opening-shape or missing design is invisible to order entry until somebody defines it here. |
| Tab | What it maintains |
|---|---|
| Shapes | Tick the shapes this series can be built in, then Save shapes — saving replaces the entire set. |
| Openings | Same pattern for opening types; Save openings replaces the set. |
| Open/Shape | Per-series opening-shape pricing records: opening type, pricing ($ UOM, $ Group, $ Actual Size?, flat Price or a Matrix), dimension limits (Min $ Area, Min/Max W/H, Max Area), one type flag (Window / Door / Entrance Door / Standard Product), and validity dates. Name and Opening type are required. |
| Family | Design families: supplier or made in-house, definition texts, and an optional image. |
| Coupler/Mullion | Coupler/mullion types: orientation (Vertical / Horizontal / Angle), type (Divider / Coupler / Mullion), the part used, pricing (flat or matrix, with Min Price), and validity dates. |
| Designs | The designs of the series: family, pricing (flat or matrix), Min $ Area, validity dates, and optional design and badge images. |
| RO Adj | Rough-opening adjustments: Width/Height (metric and imperial) and the Is Head flag. |
| Glazing Thickness | The sealed-unit thickness ranges allowed in the series (From/To metric and imperial, Panes). Add with Add Range, remove with per-row Delete; there is no in-place edit — to change a range, delete it and add the corrected one. From, To, and Panes are required. These ranges are also what a build-to-suit sealed unit offers the user to choose from — see Sealed units with an optional thickness. |
| Rules | The per-series rules that drive part selection, pricing, and notching. Each rule has a level (from the assembly-level tree), type, position, condition, values, quantity/size expressions, cut & weld settings, option flags, and validity dates. Ticking Has Test enables the Rule Tests editor for chained And/Or tests. Rules can also be copied. Rule concepts are explained in Part III — Rules; this tab is where they attach to the series. |
Equal glass on multi-slide doors — the Equal-glass layout group (Open/Shape)
An Open/Shape record for a multi-slide opening (Custom Slider Left / Right) carries a
Glass equalise formula and, under it, the group Equal-glass layout — deducts from
the product sheet. With the formula and the six deducts authored, the configurator lays the
door out in one build: every pane’s glass is the formula’s cut size, the interlock centres
(where the machining is) come straight from the deducts, and whatever is left after rounding to
the cut unit goes into the lock-side sash-to-frame clearance — never below zero. Leave
any of them blank and the slower two-build equalise runs instead.
All six are in the series display unit (decimal inches on an imperial series, mm on a
metric one), the same unit the formula is written in. They are the numbers on the product’s
glass-deduction sheet, not physical stile widths:
| Field | Meaning |
|---|---|
| Lock-side deduct | jamb face to daylight at the lock stile (the formula’s LS) |
| Fixed-side deduct | jamb face to daylight at the fixed stile (FS) |
| Interlock deduct | daylight to daylight across one interlock (IL); its midpoint is the interlock centre |
| Astragal deduct | daylight to daylight across the meeting astragal (AS) — centre-meet shapes |
| Pocket deduct | pocket wall to daylight (P, may be negative) — pocket shapes |
| Glass bite per side | how far the glass sits into the stile; glass cut = daylight + 2 × bite (the formula’s “+1.25” is 2 × 0.625) |
Example (a 7000-T series, O family): lock 5.0625, fixed 4.5, interlock 2.5893, bite 0.625, with
formula (W-(5.0625+2.5893*(NOSASHES-1)+4.5))/NOSASHES+1.25. If the panes’ clearance
rules do not match the sheet (a jamb gap the rules give as 0, for instance), the configurator
corrects the panes’ clearances to the sheet on the first build and remembers the correction for
that product.
Setting it up, step by step
- Open the series in Setup, go to Open/Shape and pick the multi-slide shape record
(one record per shape family: lock/fixed, centre-meet, pocket). - Write the Glass equalise formula. Only two variables exist:
W(the
frame opening width, not the outer unit) andNOSASHES. Write the deducts
as plain numbers — profile variables are not supplied to the formula. The result is the
glass cut size, bite included. - Fill the Equal-glass layout fields with the same sheet numbers you used in the
formula. The formula and the fields must agree: the engine recomputes the leftover from the
fields and declines the one-build route when they disagree. - Leave Equalise all glass as it is: a present formula turns equal glass on for these
shapes by itself. The formula value is used exactly, with no rounding; the only cap is the
frame (no frame clearance below zero, except on the pocket side). - Verify on a design. In
server.loga lineEQ-FASTLAYOUT ... not used
or... FALLBACKnames the reason the one-build route was skipped (no formula,
a blank deduct, a leftover outside the sane range).
Formula by shape family
LS, FS, IL, AS, P and bite stand for the six fields above; write their values as numbers.
| Family | Fields needed | Formula |
|---|---|---|
| Lock / fixed (OX, OXX, OXXX …) | LS, FS, IL, bite | (W-(LS+IL*(NOSASHES-1)+FS))/NOSASHES+2*bite |
| Lock / lock (XX, XXX, XXXX …) | LS, IL, bite | (W-(2*LS+IL*(NOSASHES-1)))/NOSASHES+2*bite |
| Centre-meet (OXXO, OXX-XXO, two packs meeting at an astragal) | FS, IL, AS, bite | (W-(AS+IL*(NOSASHES-2)+2*FS))/NOSASHES+2*bite |
| Pocket, one end (PX, PXX, PXXX …) | LS, P, IL, bite | (W-(LS+IL*(NOSASHES-1)+P))/NOSASHES+2*bite |
| Pocket, both ends (PXX-XXP) | P, AS, IL, bite | (W-(2*P+AS+IL*(NOSASHES-2)))/NOSASHES+2*bite |
Worked example — a 7000-T glass-deduction sheet
A manufacturer’s sheet normally looks like the one below: a short table of deduct constants
at the top, then one line per configuration whose glass width is “opening width minus
the deducts that configuration crosses, divided by the number of panes, plus the bite”.
This example sheet has four tabs (2.625″ interlock or slim interlock, with or without a
top/bottom track); only the constants change between tabs, the formulas are the same.
| Sheet tab | LS lock stile | IL interlock | FS fixed stile | AS astragal (OXXO) | P pocket |
|---|---|---|---|---|---|
| 2.625 Interlock, no track | 5.0625 | 2.5893 | 4.5 | 8.25 | -0.2969 |
| 2.625 Interlock, with track | 4.6875 | 2.5893 | 4.5 | 7.5 | -0.2969 |
| Slim Interlock, no track | 5.0625 | 1.4377 | 4.5 | 8.25 | -0.4964 |
| Slim Interlock, with track | 4.6875 | 1.4377 | 4.5 | 7.5 | -0.4964 |
Every configuration line on the sheet ends in +1.25: that is the glass bite, 0.625″
per side, so Glass bite per side = 0.625. The sheet also carries a smaller
“glass deduct” row (4.4375 / 1.3393 / 3.875); ignore it, the configuration lines use
the larger row and the +1.25 already accounts for the bite.
Reading the 2.625″, no-track tab, each line becomes one Open/Shape record. The six
fields are the constants above (LS 5.0625, FS 4.5, IL 2.5893, AS 8.25, P -0.2969, bite 0.625)
and the formula field gets the sheet’s formula with those numbers written in:
| Sheet line | Sheet formula | Glass equalise formula (paste as is) |
|---|---|---|
| OX, OXX, OXXX, OXXXX | (W-(LS+IL×(n-1)+FS))/n+1.25 | (W-(5.0625+2.5893*(NOSASHES-1)+4.5))/NOSASHES+1.25 |
| XX, XXX, XXXX, XXXXX | (W-(2×LS+IL×(n-1)))/n+1.25 | (W-(2*5.0625+2.5893*(NOSASHES-1)))/NOSASHES+1.25 |
| OXXO, OXX-XXO, OXXX-XXXO | (W-(AS+IL×(n-2)+2×FS))/n+1.25 | (W-(8.25+2.5893*(NOSASHES-2)+2*4.5))/NOSASHES+1.25 |
| PX, PXX, PXXX … PXXXXXX | (W-(LS+IL×(n-1)+P))/n+1.25 | (W-(5.0625+2.5893*(NOSASHES-1)-0.2969))/NOSASHES+1.25 |
Check with a size from the sheet: OXXX, opening width 118.5″, four panes gives
(118.5-(5.0625+2.5893×3+4.5))/4+1.25 = 26.5424″ of glass on every pane, which is the
sheet’s own figure. If the configurator shows a different number the deducts or the formula
were typed differently from the sheet.
Things to watch when copying from a sheet like this one:
- The sheet writes
Ifor the interlock and uses variable names; the formula
field only knowsWandNOSASHES, so write the constants in as
numbers. - A negative pocket deduct stays negative:
...+Pwith P = -0.2969 is written
-0.2969, as in the pocket line above. - One sheet line (PX) is missing the +1.25 that every other line has. Treat that as a typo
on the sheet and keep the bite in the formula; the fields say bite 0.625 and the engine
checks that the formula and the fields agree. - The sheet’s height columns (sash height = H-1.75, glass height = H-7.625 with a 1-7/8″
roller, H-8.625 with a 3″ roller) are not part of the equal-glass width: they stay in
the series’ ordinary sash and glass clearance rules.
Bifold doors
Bifold shapes (folding left / right / mid) are not on the formula route. The Glass
equalise formula and the six deducts are ignored for them; the configurator equalises a bifold
pack from its stile and clearance rules, driven only by the Equalise all glass flag on the
Open/Shape record:
| Equalise all glass | Behaviour |
|---|---|
| 0 | no equalising |
| 1 | equal glass across the pack (sum of glass) |
| 2 | equal sashes across the pack (sum of all sashes) |
So for a bifold, set that flag and make sure the hinge-side, meet-rail and sash-to-frame
clearance rules carry the sheet’s values. There is nothing else to author.
Rules dictionaries (type_rule, type_test & friends)
These global dictionaries feed the Rules tab combos. They are seeded reference data —
the screen reads them but never writes them, and the same set serves every company.
Rule types — type_rule
Feeds the Rules tab Rule Type combo (loaded unfiltered). Each row says what a
rule does when the engine executes it; the editor reshapes the Value 1 / Value 2
fields per type.
| id | Name | What it does |
|---|---|---|
| 1 | Option Choice | Lets the user pick an option answer; Value 1 = option id. |
| 2 | Option Auto | Auto-applies an option (no user pick). |
| 3 | OptionSegment | Pulls in an Options Sub-Routine; Value 1 = the sub-routine’s series id. |
| 4 | Clearance | Fixed glass/DLO clearance deduction. |
| 5 | Clearance Matrix | Clearance from a matrix; the editor filters Value 1 to matrix type 24 (⚠ no id 24 exists in type_matrix). |
| 6 | Part | Adds a part to the BOM; Value 1 = part id. |
| 7 | Part Matrix | Part from a matrix lookup (matrix type 15). |
| 8 | Profile Matrix | Profile from a matrix (matrix type 16). |
| 9 | Rule Segment | Pulls in a Rules Sub-Routine; Value 1 = the sub-routine’s series id. |
| 10 | Comment | Comment-only rule. |
| 11 | Set Wild | Wildcard part matching; Value 2 =type_part_wild_cards id. |
| 12 | set size # | No direct engine reference found. |
| 13 | set depth ^ | No direct engine reference found. |
| 14 | set production line | Value 1 = production line id. |
| 15 | set station | Value 1 = production station id. |
| 16 | set report | Value 1 = report id. |
| 17 | set Delivery stage | Value 1 = delivery-phase id. |
| 18 | Set Process | Value 1 = process id. |
| 19 | Warning | Shows a warning; blocks nothing. |
| 20 | Error | Shows an error; blocks the configuration. |
| 21 | Set Glass Supplier | Value 1 = supplier (partner) id. |
| 22 | Forced Option | Forces an option answer. |
| 23 | Set Design Opening Size | Value 1 = an RO adjustment of the series. |
| 24 | Set SU Gas | Sets sealed-unit gas 1. |
| 25 | Set SU Spacer Type | Spacer for airspace 1. |
| 26 | Set Breather Tube | Sets the breather tube. |
| 27 | Set Grid Code | Grid part/code. |
| 28 | Set Grid Code Matrix | Grid code from a matrix. |
| 29 | Set Wild Matrix | Wildcard via matrix (matrix type 15 in the editor). |
| 30 | Set Std Size Glass | Removes/sets standard-size glass; the editor hides Value 1. |
| 31 | Set Price to Option | Attaches a price to an option. |
| 32 | Set NFRC | NFRC rating flag. |
| 33 | Set Egress W Deduct | Egress width deduction. |
| 34 | Set Protrusion Out | Extra depth out. |
| 35 | Set Protrusion In | Extra depth in. |
| 36 | Set Track No. | Track number of the following profiles. |
| 37 | Set Frame Depth | Overrides frame depth. |
| 38 | Set Draw Seq. | Draw order, 0 = first. |
| 39 | Set GlassEdgeToSpacer | Glass-edge-to-spacer deduct. |
| 40 | Set V Grid Matrix | Vertical grid layout from a matrix. |
| 41 | Set H Grid Matrix | Horizontal grid layout from a matrix. |
| 42 | Set Grid/Mullion Continuity | 0 = None, 1 = V, 2 = H, 3 = V&H. |
| 43 | Set SU Thick | Sealed-unit thickness + description. |
| 44 | Set SU Thick Text | SU thickness text. |
| 45 | Set Airspace 1 | Airspace 1 value. |
| 80 | Set Glass as Bought Out | 0 = made in, 1 = bought out. |
| 87 | Set PF Mark-Up | Part-family mark-up. |
| 88 | Set For Prod Stage | Required for a production stage; Value 1 = production stage id. |
| 89 | Force Base Assembly | Forces the base assembly; Value 1 = assembly part id. |
| 90 | Set Assembly | Sets an assembly. |
| 91 | ——- | Separator/placeholder; the editor maps Value 1 to the adjustment types. |
| 92 | Set Parent Assembly | Sets the parent assembly. |
| 93 | Set Glazed | Marks glazed. |
| 94 | Set UnGlazed | Removes glass / auto unglazed. |
| 95 | Force Global Assembly | DB comment says N/A, but the engine handles it. |
| 96 | + % of All Prices Above | Price percentage rule. |
| 97 | + % to “None %” Above | Price percentage rule. |
| 98 | Counter | Counter variable. |
| 99 | Start Link | Start of a link-rule group. |
| 100 | End Link | End of a link group (paired with 99). |
| 101 | Set Global Assembly | Sets a global assembly. |
| 102 | End Forced Assembly | Ends a forced-assembly block. |
| 103–109 | Set SU Gas2, Gas3, NFRC Option 1-5 | Sealed-unit gas 2/3 and NFRC option slots. |
| 110 | Mem 1 – Set Option | Stores an option in memory M1. |
| 111 | Mem 2 – Set Text | Stores text in memory M2. |
| 112 | —— (Not Used) | Handled by the engine despite the “Not Used” label. |
| 130/131 | Total Add Tracks Out/In | Extra tracks (e.g. screens). |
| 132/133 | Use + Track Out/In | No engine reference found. |
| 134 | Use Marked-Ups | 0 = as set on family, 1 = force on, 2 = force off. |
| 135/140/141 | —- (separator labels) | Legacy machining-position rows acting as separators. |
| 136/137/138 | Set Image Pos X / Y / Start | Image positioning from a matrix lookup. |
| 142 | Add Op Mullion | Machining op positioned on the mullion / meet-rail center. |
| 143 | Add Op Hardware Etc. | Machining op not based on the mullion center. |
| 144–152 | Set Op Pattern / PMatrix / Tool / Track / posX / posY / posZ / Seq / + / -CM |
Machine-operation parameters. |
| 153 | Set Op if Side? | Side condition codes (1 = Top … 44 = H). |
| 154/155 | Set Op If Part Ref1 / Ref2 | Conditional op on a part reference. |
| 156 | Force Add to Mullion | Add to a mullion even when unrelated. |
| 157 | Machine Pairs (boolean) | Single start point for pairs. |
| 158 | Set Op on Level=? | Op on level 1 = Frame, 2 = Sash, 3 = Mullion, 4 = Meeting Rail. |
| 159/160 | Set Op. Comment 1 / 2 | User-defined op comments. |
| 161–168 | Set New Process / Abbrev / ID / Station / Position / Track / Tool / Pattern |
BOM process declarations. |
| 169 | Set Op Machine | Machine id for the operation. |
| 171–174 | Set Op Repeat Start / End / Step / Last Rule | Repeat machining. |
| 175 | Reset Processing Instructions | Clears processing instructions. |
| 176 | Set Hrd Op Image | Image on the operation. |
| 177–179 | Set Op EQUAL Repeat / Min / Max Step | Equal-repeat parameters. |
| 180 | Clearance Option | Clearance by size option. |
| 298 | Set Op Feed Direction | Feed direction 1 = clockwise, 2 = counter (v6.5 rules.feed). |
| 299 | Set Std. Op Time | Standard processing time. |
| 300 | End Machining Rule range | Boundary marker — the engine treats 140–300 as machining rules. |
| 400/401 | Set SU Spacer Type 2 / 3 | Spacers for airspaces 2/3. |
⚠ Referenced in code but missing from the table: rule types 58, 81, 85, 86, 113,
114, 115, 166, 313–317 (incl. the V/H flip types 316/317), 319, 320 exist only in the
rules engine — such types display as bare numbers in the Rule Type combo.
Positions & conditions
type_position feeds the Position combo (rows are duplicated per
series type; the full set below is series type 1):
| id | Positions |
|---|---|
| 1–7 | Top, Bottom, Left, Right, Top + Bottom, Left + Right, All Sides |
| 8–10 | Vertical, Horizontal, V & H |
| 11–13 | W×H / Area, W+H / UI, Perimeter |
| 14/15 | Track W, Cover W (also the only series-type-0 rows; 16/17 Track H / Cover H exist only at series type 0) |
| 18–21 | Corner/L, Intersection +, Intersection T, Square/Grid |
| 22 | none (series types 3, 4, 5 only) |
| 23/24 | width, height (series types 1, 5, 6) |
| 25 | depth (series type 6 only) |
| 26 | Unit (all series types) |
| 27 | Any Side In (series types 1, 2) |
type_condition (11 rows) — the Condition combo values:
| id | Description | Meaning |
|---|---|---|
| 1 | None | No condition |
| 2 | Inside | Profile/position faces inside |
| 3 | Outside | Faces outside |
| 6 | |— —| c/m/g | Both ends butt into coupler/mullion/grid |
| 7 | |— —* c/m/g | Right end open (*), left butted |
| 8 | *— —| c/m/g | Left end open, right butted |
| 9 | *— —* c/m/g | Both ends open |
| 10–13 | L/T In, R/B In, L/T Out, R/B Out | Left-top / right-bottom end faces in or out |
The Condition combo cascades from the chosen Position through
type_position_condition_map: positions 1–7 offer conditions 1–5, positions
8–10 offer 1 and 6–13, positions 11–13 offer 1 and 4, positions 14–15 offer 1 and 5, and
positions 18–26 offer 1 only.
Levels — type_level & type_level_tree
type_level maps a level id to its name (series-type-1 rows are the real
product levels; 902–907 are generic “Object” rows for the other series types):
| id | Name | id | Name |
|---|---|---|---|
| 1 | Overall | 31 | Coupler |
| 2 | Facet | 32 | Mullion |
| 3 | Frame | 33 | Interlock |
| 4 | Sash Type | 34 | Meeting Rail |
| 5/12 | Sash Leaf | 35 | Sash<>Sash |
| 6/21 | Glass | 36 | Folding |
| 7 | Glazing Bead | 39 | Astragal |
| 8 | DLO | 40 | Opening |
| 20 | Bkgrd Opening | 200 | SubFacet |
| 29 | Grids | 400 | SubSash |
type_level_tree is the hierarchical tree shown in Rules → Identity &
Classification (roots Overall, Bkgrd, Divider, plus flat “All …” rows); selecting a node
writes the rule’s level and parent level. type_test_level_map holds
(test, level) pairs and filters the Rule Tests Test On combo — by level
only, not by rule type or position.
Test types — type_test
Feeds Rule Tests → Test On, filtered per level via
type_test_level_map. Each id exists once per applicable series type
(series types in parentheses where not 1); the table is one line per id. For the levels
each test is offered at and what it reads at each level, see
Rule tests by level.
| id | Name | Meaning |
|---|---|---|
| 1 | Width (1,2,5,6) | Net width of the level, excl. weld burn-off |
| 2 | Height (1,2,5,6) | Net height |
| 3 | Length (1,4) | Net length (mullions/couplers) |
| 4 | Area (1,2,5) | Net area |
| 5 | UI (1,2) | United inches/meters (W+H) |
| 6 | Volume (6) | W×H×depth (frame) or W×H×air (SU) |
| 7 | depth (6) | Series-header or profile depth |
| 8 | Global Option (1–7) | Option set on all design levels; editor shows option + answer combos |
| 9 | Shape/M Option (1–7) | Shape-specific option; option + answer combos |
| 10 | UD Opening | User-defined opening type; opening-shape list |
| 11 | Open Class | Generic opening class; opening-type list |
| 12 | Shape (1,2) | Shape type; shape list |
| 13 | Sash/Leaf No | Sash no., top→bottom / left→right |
| 14 | Track No. | Track 1 = inside-most |
| 15 | SU Type (1,2) | Sealed-unit type; SU-type list |
| 16 | Grid ID (1,2) | Grid type; grids list |
| 17 | SU Thick (1,2) | OA glass/SU thickness |
| 18 | Divider Type | Facet divider type; divider coupler/mullion list |
| 19 | Coupler Type | Coupler type; coupler list (see also 161–164) |
| 20 | Mullion Type | Mullion type |
| 21 | B/B Angle | Bay/bow angle |
| 22 | left/Top Opening | Opening left/top of a mullion |
| 23 | right/Bot Opening | Opening right/bottom of a mullion |
| 24 | Mullion Class | Class of mullion; mullion-class list |
| 25 | DesignID | Saved design id; design list |
| 26 | Design Family | Design family; family list |
| 27 | Profile Form | 1 = Straight, 2 = curved; profile-form list |
| 28 | Grid Type (1,2) | Type of grid |
| 29–32 | Glass 1–4 (1,2) | Glass type per lite; SU-type glass lists |
| 33 | Glazing Type (1,2) | 0 = Unglazed, 1 = glass, 2 = SU, 3 = Insert, 4 = DoorIns |
| 34–36 | Film 1–3 (1,2) | Glass films; not used by the engine |
| 37–39 | Process 1 Glass 1–3 | Glass process flags ⚠ the engine’s case bodies are empty — the test always fails |
| 40–48 | Process N Glass M | Glass process flags ⚠ the engine runs Parent Level 1–9 tests, not glass processes |
| 49 | Spacer 1 (1,2) | SU spacer; editor shows a spacer-part list ⚠ the engine runs a Parent Level 10 test |
| 50 | Spacer 2 (1,2) | SU spacer ⚠ the engine’s case body is empty — always fails |
| 51 | Spacer 3 (1,2) | SU spacer; editor shows a spacer-part list ⚠ the engine runs a Sequence test |
| 52 | Insert 1 | Glass insert 1 id — label and behavior agree |
| 53 | Insert 2 | Insert 2 ⚠ the engine’s case body is commented out — always fails |
| 54–56 | Gas 1–3 | SU gases ⚠ the engine runs Sequence 3–5 tests |
| 57 | SU Family (1,2) | SU family; SU-family list — label and behavior agree |
| 58–61 | Condition Left/Right/Top/Bot | Position faces inside/outside; condition list |
| 62/63 | No. Cols / Rows | Grid columns/rows in the level |
| 64 | No. Tracks | Tracks in the frame |
| 65 | No. Sashes | Sashes in a slider/bifold sash type |
| 66 | BiFold Panel Type (1,2) | Bifold panel type 1–9 |
| 67 | No. of Glass Leaves (1,2) | Lite count |
| 68/69 | Bi-Fold Panel Even / Direction | Even panel / odd panel; not used by the engine |
| 70 | Layout | Layout/opening type; full opening-type list |
| 71 | No Facets | Facet count; not used by the engine |
| 72/73 | Radius1/2 (1,2) | Shape radii |
| 75 | RO Adj | Rough-opening adjustment; RO-adjustment list |
| 76 | Date (1–6) | Date test; editor shows date-range pickers |
| 77–79 | AirSpace 1–3 (1,2) | Airspace sizes (engine quirk: all three evaluate airspace 1) |
| 80–83 | Horiz. / Vert. / Radii / Spokes No. (1,2) | Grid bar counts |
| 84 | Customer Group (1–7) | Partner group; partner-group list |
| 85 | OEM Company (1–7) | OEM partner; OEM partner list |
| 86 | Customer (1–7) | Any partner; all partners |
| 87 | User (1–7) | User id; users list |
| 88 | Job Type | Order type; order-type list |
| 89–92 | Control Op Above/Below/Left/Right | Controlling opening of the neighbor frame |
| 93 | Has Sash | Frame contains a sash |
| 94 | Mullion Seq. | Mullion sequence in the parent |
| 95 | Is Glazed | Opening glazed |
| 96 | Matrix W×H (1–3) | Get the result from a matrix; editor shows a matrix lookup (family with 97/98) |
| 97 | Branch (1–3) | Branch |
| 98 | Location (1–3) | Location |
| 99 | MTO Part (3) | Made-to-order part; MTO parts list |
| 100–103 | Has Sash Above/Below/Left/Right | Boolean, no range needed |
| 104 | No. of Non Fixed Openings | Count of operable openings |
| 105 | RO Size Entered | RO entered flag |
| 106 | Has Sash | Current frame has a sash |
| 107 | Egress Met | Egress check |
| 108 | No Openings Frame | Total openings in the level |
| 109 | Tributary Size | Tributary size |
| 110/111 | Left/Right Sash Pack Size | Sash pack counts |
| 112/113 | Left/Right Sash Pack Even | Pack evenness |
| 114 | Outer-Most Sash | Sash on the outermost track |
| 115 | Glaze/Project | 1 = In/In, 2 = In/Out, 3 = Out/Out, 4 = Out/In |
| 116 | Orientation (Frame) | 1 = fixed glazed out, 2 = glazed in |
| 119 | Std. Glass in Shape | Standard glass present |
| 120/121 | Top/Bot Shape 10 | Top/bottom shape is 10 |
| 124/125 | Left/Right Faces Divider | Faces a divider |
| 126/127 | Left/Right Divider Deg | Divider degrees |
| 129 | Glass Made In | 0 = false, 1 = true |
| 130–133 | Glass 1–4 Thick (1,2) | Per-lite thickness |
| 134 | Sum Glass Thick | Sum of all lite thicknesses |
| 140–152 | Glass Attrib 1–12, Glass Std Size | User-defined glass attributes; glass-attribute lists |
| 153 | Has Grids | Grids present |
| 161–164 | Top/Bot/Left/Right Coupler ID | Coupler type per side; coupler lists |
| 165/166 | Intersect L/R | 0 = none, 1 = T, 2 = + |
| 167 | W>H | Boolean |
| 168 | Aspect ratio | W/H range |
| 169 | Row/Col No. | Row/col match |
| 170 | Is Supplier (1,2,5) | Is-supplier flag |
| 171 | User is a Dealer | Dealer test |
| 172 | Inertia Test | Inertia results |
| 173 | HAF | Height above floor |
| 174–176 | M1/M2/M3 | Stored memory variables |
| 177–179 | M1/M2/M3 Text | Stored text variables; no engine case found |
| 180/181 | Row 1 All Sash / All Fixed | Row-1 composition |
| 182–187 | is Center/Left/Right Most (Fixed & Sash) | Position predicates |
| 198 | Route # | Route number |
| 199 | Mobile App? | 1 = tablet, 0 = normal |
| 200 | Level | Level test; no engine case found |
| 201–222 | Parent 1–22 | Parent-level tests; no engine cases — the runtime handles parents via tests 40–48 |
| 225 | Sequence | Shape/mullion sequence |
| 226–247 | Sequence 1–22 | Per-slot sequences; no engine cases — the runtime uses 51–57 and 225 |
| 249–254 | Any UDOp @ Row 1 / Last Row / Col 1 / Last Col / L/T / R/B |
User-defined opening ids at the edges |
| 258–261 | Parent Cond. Left/Right/Top/Bot | Parent condition |
| 262/263 | Parent No. Cols/Rows | Parent grid dims |
| 306 | Insert ID | Glass/SU insert id |
| 350–353 | Top/Bot/Left/Right Inside | Profile side faces none-shape |
| 354 | Weight | Assembly weight |
| 355 | Op Feed Direction | 1 = clockwise, 2 = counter |
⚠ Cautions on test types:
- Ids 37–56 — DB vs runtime conflict (verified against the engine’s case bodies):
the database labels 37–48 as glass process flags, 49–51 as spacers, 53 as Insert 2
and 54–56 as gases — but the engine actually runs Parent Level 1–9 tests for 40–48,
Parent Level 10 for 49, a Sequence test for 51 and Sequence 3–5 for 54–56, while
37–39 and 50 are empty cases and 53 is commented out, so those tests always fail.
Only 52 (Insert 1) and 57 (SU Family) do what their label says. The
screen’s editor follows the database labels, so avoid this range except 52/57 until
the dictionary is reconciled. - Engine-only ids: 74, 117/118, 122/123, 311, 322/323 exist in the rules engine
but have no dictionary row — they cannot be picked from the Test On combo. - Combo-only ids: 177–179, 200–222 and 226–247 are offered in the combo but have
no engine case — a rule using them never fires.