Configurator rules as sentences: the grammar
Every configurator rule can be written as one IF ... THEN ... sentence, in the workbook's Rules sheet or many at once under Rules as text.
A rule is IF <condition> THEN <action>. Leave out IF for a rule that always applies. Keywords may be in any case; a value with spaces goes in quotes. Start a pasted line with a code and a colon (R10: IF ...) to update that rule.
- Conditions: DIAL_SIZE = 6" (an answer by its value, code or name), != > < >= <=, MOUNTING IN (2, 4), STEM_LENGTH BETWEEN 100 AND 300 (both bounds included), AND, OR, NOT ( ... ). TG310.DIAL_SIZE is the same as DIAL_SIZE on TG310.
- INCLUDE TG100-09, TG100-10 [QTY 2 | QTY = STEM_LENGTH] [UOM MM]: components.
- EXCLUDE TG100-08; REPLACE TG100-14 WITH TG100-17; SET QTY TW310-01 = STEM_LENGTH + 25.
- BOM = TG100-BOM-6-S6: a variant bill of material instead of the base one. ROUTING = TG100-R-E: a variant routing instead of the base one. ADD ROUTING adds a routing's operations.
- ADD OPERATION 35 "Capillary filling" WORK CENTER WC-BRAZE SETUP 10 RUN 20; REMOVE OPERATION 20; SET TIME OPERATION 30 RUN = 12; SET WORK CENTER OPERATION 30 = WC-MACH.
- ERROR "Capillary stem is not available for Bimetal gauge." blocks completion; WARNING "..." only tells.
- DEFAULT STEM_TYPE = R fills an answer the person may change; DEFAULT STEM_TYPE = R LOCKED fills it and the person may not. The first default for a question whose condition holds wins, in rule order.
- TG100.DIAL_SIZE = TG310.DIAL_SIZE (or = 6"): value propagation into a sub-assembly, locked unless UNLOCKED is added.
- CONFIGURE TG100 [QTY 1]: a sub-assembly. CALCULATE raw_length = STEM_LENGTH + 40: a named value later rules can use.
- REQUIRE / FORBID / IMPLY / RECOMMEND CASE_MATERIAL = S6, MIN QTY 2 / MAX QTY 4 [OF Q = v] and ENGINEER TO ORDER pair one answer with another; their IF must be one answer.
- INSPECT <plan> [AT final]: an inspection. NOTE "..." at the end keeps a reason with the rule.
- Open Configurator · Workbook > Rules as text, or Rules as text on a model's row.
- Choose the model. Press Load this model's rules as text to start from what is there.
- Paste or type one rule per line and press Check: each line shows what it will make, or exactly what is wrong.
- Press Save all when every line reads. All are saved together.