Equations & Configurations
Pojmenované parametry s výrazy a konfigurační varianty (sady hodnot pro stejnou feature tree). Spolu se Design Tables to umožňuje udržet jednu rodinu dílů s desítkami variant v jednom dokumentu.
Equations (Global Variables)

Toolbar → Konstrukční → Promenne (Equations)… otevře dialog kde definuješ pojmenované proměnné.
Syntax
| Příklad | Význam |
|---|---|
D = 50 | Konstanta |
R = D / 2 | Výraz s referencí |
H = 2 * R + 5 | Aritmetický výraz |
pitch = D / 8 | Lze kombinovat |
wallThickness = 2.5 | mm jednotky implicitní |
Podporované operátory: + - * / % ^ (mocnina), ( ) priorita, pi konstanta, funkce sin / cos / tan / sqrt / abs / min / max / floor / ceil.
TIP
Výrazy se vyhodnocují bezpečně na serveru — do výrazu nejde vložit nic jiného než čísla, proměnné a podporované funkce.
Použití ve sketchi
Místo čísla v dim dialogu napiš výraz:
D / 2 + 5Hodnota se uloží jako value (resolved) + valueExpr (zdroj). Při změně D se kóta přepočítá při příštím regen.
Použití ve feature parametrech
Extrude Distance field, Hole Diameter field, Fillet Radius field — všude místo čísla výraz. Sleduj *_expr parametry ve feature parameters JSON.
Gotchas
- Cyklické reference (
A = B,B = A) detekované při evaluaci → error. - Změna proměnné netriggeruje regen automaticky — klikni Regenerovat v toolbaru po editu.
- Výrazy v sketch dim hodnotách jsou viditelné v sketch overlay přes hover.
Sdílené parametry z masteru (linkované proměnné)
Při vložení dokumentu jako skeletonu (viz Assembly → Skeleton / řídící model) se hlavní parametry masteru naimportují do hostitelského dokumentu jako linkované proměnné.
- Linkovaný řádek je jen pro čtení — pozná se podle odznaku „z masteru: X" a zámku 🔒. Hodnotu měníš v řídícím souboru, ne tady.
- Ve výrazech ho používáš úplně stejně jako lokální proměnnou (
R = D/2, kdeDpřišlo z masteru). Závislé výrazy se přepočítají. - Pull aktualizace: linkované hodnoty se obnoví při regeneraci hostitele a navíc tlačítkem „Aktualizovat z masteru" v patičce dialogu Proměnné (stáhne aktuální hodnoty + přepočítá závislé výrazy).
- Více masterů: dokument může linkovat z více masterů. Při kolizi jmen vyhrává první vložený master — masteři by proto měli používat odlišná jména parametrů (nebo je sdílet záměrně).
TIP
Automatické rozesílání změn do všech závislých dokumentů (master edit → regen všech podsestav) je plánovaná fáze 2; zatím platí pull model (regenerace / tlačítko).
Configurations / Varianty
Toolbar → Konstrukční → Konfigurace / varianty… otevře dialog se seznamem konfigurací.
Co konfigurace je
Sada overrides pro Equations proměnné. Stejný feature tree, různé hodnoty.
Vytvoření
- Otevři Configurations dialog.
- + Nová — pojmenuj (
Variant 1,M6,Customer X). - V tabulce: pro každou proměnnou nastav override hodnotu (nebo nech prázdné = použij default).
- Uložit.
Aktivace
Klik Aktivovat vedle config v dialogu:
- Backend aplikuje overrides na
defsmap → spočítá nové hodnoty proměnných. - Server projde sketches, najde dimension constraints s
valueExpr→ re-eval s novými hodnotami →valueoverwrite. - Sketch solver propaguje nové hodnoty na geometrii (přes WASM nebo server
/solve-sketch). - Server vyřídí regen feature tree (každá feature s
*_exprparametrem si re-evaluje hodnotu). - Frontend dostane nové meshe inline (no reload), highlight aktuální config.
TIP
Mesh apply je inline (přes setMesh ve store) — žádný window.location.reload(). Vidíš okamžitě jak změna ovlivnila model.
Persistence
Active configuration se uloží do metadata.active_configuration → po reload jsi pořád na zvolené variantě.
Per-config commits jdou na vlastní git branch refs/heads/<config-name> — můžeš mít plný history per varianta.
Use case: rodina dílů
| Configuration | D | H | pitch |
|---|---|---|---|
| M6 | 6 | 25 | 1.0 |
| M8 | 8 | 30 | 1.25 |
| M10 | 10 | 35 | 1.5 |
| M12 | 12 | 40 | 1.75 |
Jeden dokument, 4 varianty, ze kterých každá renderuje jiný šroub. Změna feature tree v jedné se promítne do všech (přes podporované hash-merge mezi config-branches).
Design Tables
Toolbar → Konstrukční → Design Table (spreadsheet)… otevře Excel-like view nad configurations.
Co dělá
Tabulka:
- Řádky — configurations
- Sloupce — proměnné
Edituj inline jako spreadsheet, Uložit propíše hodnoty zpátky do configuration overrides.
Add row / column
- + Konfigurace — nový řádek
- + Promenna — nový sloupec; pojmenuj proměnnou; všechny existující configs dostanou empty override
Activate from row
Klik na config name vlevo → aktivuje tu variantu (stejně jako Configurations dialog).
Export / Import
- Export CSV — pro Excel review
- Import CSV — bulk update všech variant z externího souboru
Gotcha
PHP json_decode($req, true) produkuje [] pro empty assoc array místo {}. ourCAD frontend normalizuje empty overrides na new \stdClass() před forwardingem do Go API. Pokud vidíš "overrides": [] chybu, zkontroluj setConfigurations() v OurCadApiClient.php.
Workflow tipy
Hřídel s vyměnitelnými velikostmi
- Definuj
D = 30,L = 100v Equations. - Sketch profilu hřídele používá
D / 2(radius) aL(length). - Revolve.
- Configurations:
D=20 L=80,D=30 L=100,D=50 L=150. - Aktivuj kteroukoliv → vidíš tu velikost.
Bolt circle s parametrickým počtem dír
- Equations:
N = 6(počet dír),R = 25(poloměr roztečné kružnice). - Sketch s 6 points na bolt circle (manuálně).
- Hole "Z náčrtu" + Linear/Circular Pattern s
count = N. - Configurations:
N=4,N=6,N=8.
WARNING
Změna N v configu nezmění počet points ve sketchi automaticky — sketch elements jsou static. Pro plně parametrický bolt circle musíš použít AI Agenta nebo MCP a re-generovat sketch s novým N.
Co dál
- Sketch & vazby —
valueExprv dim hodnotách - 3D Modeling —
*_exprparametry feature dialogů - Git workflow — config commits jdou na vlastní branche