Skip to content

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)

Panel proměnných — název, výraz a volitelný komentář

Toolbar → Konstrukční → Promenne (Equations)… otevře dialog kde definuješ pojmenované proměnné.

Syntax

PříkladVýznam
D = 50Konstanta
R = D / 2Výraz s referencí
H = 2 * R + 5Aritmetický výraz
pitch = D / 8Lze kombinovat
wallThickness = 2.5mm 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 + 5

Hodnota 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, kde D př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í

  1. Otevři Configurations dialog.
  2. + Nová — pojmenuj (Variant 1, M6, Customer X).
  3. V tabulce: pro každou proměnnou nastav override hodnotu (nebo nech prázdné = použij default).
  4. Uložit.

Aktivace

Klik Aktivovat vedle config v dialogu:

  1. Backend aplikuje overrides na defs map → spočítá nové hodnoty proměnných.
  2. Server projde sketches, najde dimension constraints s valueExpr → re-eval s novými hodnotami → value overwrite.
  3. Sketch solver propaguje nové hodnoty na geometrii (přes WASM nebo server /solve-sketch).
  4. Server vyřídí regen feature tree (každá feature s *_expr parametrem si re-evaluje hodnotu).
  5. 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ů

ConfigurationDHpitch
M66251.0
M88301.25
M1010351.5
M1212401.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

  1. Definuj D = 30, L = 100 v Equations.
  2. Sketch profilu hřídele používá D / 2 (radius) a L (length).
  3. Revolve.
  4. Configurations: D=20 L=80, D=30 L=100, D=50 L=150.
  5. Aktivuj kteroukoliv → vidíš tu velikost.

Bolt circle s parametrickým počtem dír

  1. Equations: N = 6 (počet dír), R = 25 (poloměr roztečné kružnice).
  2. Sketch s 6 points na bolt circle (manuálně).
  3. Hole "Z náčrtu" + Linear/Circular Pattern s count = N.
  4. 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

ourCAD — git-native CAD