How Can We Help?
A series is a list of rules. When an item is built, OpenJanela reads that list from top to bottom,
in rule number (ID) order, and tries every rule on every part of the design that sits at the rule’s
Level. A rule that fits adds a part, sets a size, asks a question or routes work. Rules are edited in
OJ Setup → Series → (pick the series) → Rules tab; sub-routines have the same Rules tab on the
Sub-Routines screen. The full field list is in Field reference; every Rule Type number is
in Ruletype Dictionary.
The pieces of a rule, in shop words
| Field (Rules tab) | What it means on the shop floor |
|---|---|
| Level (pick it in the Select a level tree) | Which piece of the window the rule looks at: the whole unit (Overall), the frame (All Frame), a sash, the glass (All Glass), the glazing beads (All Glazing Beads), a mullion and so on. One pick also fills Selected Level and Parent Level. A frame rule runs once per frame, a sash rule once per sash. Why this matters: Levels & binding. |
| Position | Which side or spot of that piece: Top, Bottom, Left, Right, Top + Bottom, Left + Right, All Sides, Perimeter, WxH/Area or Unit (the piece as a whole). |
| Rule Type | What the rule does: Part, Profile Matrix, Option Choice, Clearance, set station, Rule Segment (call a sub-routine), Comment… It also decides what Value 1 and Value 2 ask for. |
| Value 1 / Value 2 | The thing the rule uses: a part, an option, a matrix, a station, a sub-routine, or a number. |
| Active | Ticked = the rule runs. Unticked = OpenJanela ignores it completely. |
| Has Test + Rule Tests panel | The “only when” part: only when the colour is not White, only for opening 1, only when Glazing Type is Heel Bead. A rule without a test runs on every piece at its Level. See Conditions and Rule Tests by Level. |
Rule order: New, Insert and Copy
- New adds a rule at the end of the list (the next free ID).
- Insert copies the selected rule and puts the copy directly below it. Every rule after it is
renumbered (with its tests). Use Insert when the new rule has to sit inside a group, for example under a station
rule. - Copy makes a copy of the selected rule, with its tests, at the end of the list.
- Order matters most for rules that “set” something for the rules after them (stations, lines) and
for clearances, where the last matching one on a side wins.
Facts that catch people out
End Date in the Validity panel are not checked when an item is built. A rule whose End Date is
years ago still runs. To stop a rule, untick Active.
(for example 3501 rule 21 “Single Door Non ADA” or 3501.FRAME rule 88 “Thresholds”) is just a
title in the list. OpenJanela skips it. It does not switch the rules below it on or off, even if you give it
a test. To make a group of rules depend on one answer, either put the same test on each rule, or move the group
into a sub-routine and call it with one tested rule — see
How to group rules in a sub-routine.
set production line rule sends every part rule after it to that station or line, until the next rule of
the same kind. A station rule whose test fails does not clear the station that was set before it. See
How to send parts to a production station or line.
rule’s formula (for example a Quantity Expression (imperial)) are in inches. Fixed sizes are stored as
mm×100 (metric, 100 = 1 mm) and 64ths of an inch (imperial, 4 = 4/64″). More on formulas:
Formulas.
How a typical setup is organised (a common pattern)
The series a salesperson picks (for example 3501, series 269) holds mostly questions (options) and
Rule Segment rules. The real parts live in sub-routines such as 3501.FRAME (357), SD FRAME
LABOR (361), 3500 PW GB (465) and Sealed Units (38). A sub-routine runs when the rule that calls it
fits, even though the sub-routine itself is not marked Active as a series. So to find “the rule that adds
X”, look in the sub-routines too.