Open core: don’t reinvent the wheel — build your fenestration software on ours.

Skip to main content

The rule form has no single “master” field. Several independent
driver→dependent chains reshape it as you work. The single most
important thing to understand: Level, Rule Type, and Series Type each
drive a different part of the form and do not filter one
another.
This page maps every relationship; the
Field reference above explains each field on
its own.

The dependency map — who drives whom

Driver Changes… Effect
Series type (from the series, not a form field) Position list keeps only positions valid for this series type
Position Condition (R-Condition) list reloads the conditions mapped to that position
Position (+ Rule Type) Cut L/T & Cut R/B labels; “Reverse” flag relabels the cut indicators; relabels Global Option→Reverse
Rule Type Value1 control + its list combo (which lookup table) / number box / hidden
Rule Type + chosen Value1 option Value2 answer combo vs numeric vs wildcard vs parts-family vs hidden
Rule Type Matrix / Allowed checkboxes Matrix shows when ruletype ≤ 2; Allowed when ruletype == 1
Level Test Type list the only thing that filters test types
Test Type Test Value(s) panel reshapes into one of 5 value layouts
Qty Type Qty control number / matrix / option / expression
Adjustment Type (W/L and H, each) adjustment control value / matrix / option / expression

Level ↔ Rule Type ↔ Test Type

  • Rule Type is NOT filtered by Level. Any level shows the full
    rule-type list.
  • Level IS what filters Test Type — and it is the only thing
    that does. Change the rule’s Level and the “Test On” list changes.
  • Rule Type and Position are inert for Test Type. Changing them
    appears to refresh the test-type list, but the rows never change — only
    Level narrows it. (The refresh is wired but discards ruletype /
    position, matching the source.)

The one exception: a few text/expression rule types (e.g. rule type 4)
append a synthetic Assembly level to the Level combo — that is an
append, not a filter.

Position & Condition

Position is filtered by Series Type — not by Level or Rule
Type. Condition (R-Condition) is then filtered by the selected
Position (choose a position → its conditions load). So the
guard chain is series‑type → Position → Condition.

Position combines with Rule Type in two places, both cosmetic:
(1) it relabels the Cut L/T and Cut R/B indicators —
Top/Bottom → ?L-- / --?R, Left/Right →
?T-- / --?B; and (2) when Position is 8/9/10
and Rule Type is 7 or 8, the Global-Option checkbox is relabeled
“Reverse”.

Note: the cut fields are always visible — Position only
changes their labels; it never shows or hides them. The Condition combo
drives nothing else downstream.

The other cascades

When you change… …this reshapes
Rule Type Value1: a searchable combo over one lookup table (options, parts, matrices, production lines/stations/stages, reports, error messages, suppliers, sub-routines, …), a plain number box, or hidden.
Value1 (an option, ruletype 1/2) Value2: becomes that option’s answer combo when the option’s type ≤ 2; otherwise a numeric box. Ruletype 11 → wildcard combo; 114 → parts-family combo; 31/316/317 → hidden.
Matrix checkbox (ruletype ≤ 2) answer comes from an answer-matrix; the allowed-answer list is suppressed.
Allowed checkbox (ruletype == 1, Value1 > 0) Value2 becomes a multi-select allowed-answer list.
Qty Type 1 → number; 2 (& 5) → matrix combo; 3 → option combo; 4 → expression (metric + imperial).
Adjustment Type (W/L and H separately) 1 → metric + imperial number; 2 → matrix combo ×2; 3 → option combo ×2; else → expression.
Test Type (Rule Tests editor) Value(s) panel → range numeric (4-box) / values numeric (2-box, per the Mode radio) / single combo + list / two cascaded combos Option→Answer (types 8, 9) / date range (type 76). Add/remove multiple values only for the combo shapes.

Independent controls (no cascade): the end-type combos (Cut L/T,
Cut R/B) are free picks; Mortise (M&T) matters only when an
end type is a bracket cut [/]; and the remaining
checkboxes (Recalc, Nominal, Always Run, welds, splits, Affects Design,
Inactive) are plain switches. Force/Auto (L‑T, R‑B) are two-state radios.