---
title: "BIM skriptovanie: stavebný dialekt, nie API geometrie"
description: "BIM skriptovanie v BIM Harness: doménové slovesá namiesto geometrických primitív, skúšobné zostavenia, pomenované nálezy a rovnaké API, aké používa AI agent."
url: https://buildify.cz/sk/bim-scripting
source: https://buildify.cz/bim-scripting.sk.md
language: sk-SK
publisher: Buildify (Buildify Digital s.r.o.)
dateModified: 2026-09-27
keywords: ["BIM skriptovanie", "BIM API", "programové BIM", "výpočtové BIM", "automatizácia BIM skriptom", "skriptovací jazyk pre model budovy", "IFC skriptovanie", "BIM scripting"]
license: "Volně citovatelné s uvedením zdroje / freely quotable with attribution"
---

# BIM skriptovanie v stavebnom dialekte, nie v API geometrie

> V BIM Harness sa budova píše ako program: dvere sú osadené cez id steny, miestnosť je IFC space, výšky strechy počíta jadro. AI agent stavia každý model cez tento dialekt - a rovnaké Scripting API máte k dispozícii aj vy v editore.

- Viac ako sto doménových slovies, od api.wall po api.autoServices
- Najprv skúšobné zostavenie: jadro postaví a skontroluje, nič sa neuloží
- Pomenované, strojovo čitateľné nálezy ako clash.hard a door.obstructed
- Rovnaký skript, rovnaké jadro, rovnaký model - deterministické vykonanie

Získať prístup k BIM Harness: https://buildify.cz/sk/bim-harness#waitlist

## Čo je BIM skriptovanie

> BIM skriptovanie je tvorba alebo úprava informačného modelu budovy kódom namiesto klikania myšou. V BIM Harness sa skript píše v stavebnom dialekte: volaniami ako api.wall, api.space a api.door, ktoré pomenúvajú stavebné prvky a ich vzťahy a ktoré parametrické jadro premení na skontrolovaný model.

Väčšina programového BIM dnes znamená ovládať desktopovú aplikáciu alebo IFC knižnicu z Pythonu: počítate body, vytvárate entity, nastavujete umiestnenia a pripájate sady vlastností. Je to silné, ale aj nízkoúrovňové. Skript musí vedieť, kde v globálnych súradniciach leží každý otvor, ktorá entita hostí ktorú a ako vysoko vyjde hrebeň strechy pri danom sklone.

Dialekt Harness presúva tieto znalosti do jadra. Skript hovorí, čím budova je - podlažie, stena medzi dvoma bodmi, hala s týmto obrysom, dvere v tamtej stene - a jadro dopočíta geometriu, napojenia, otvory a IFC entity. Výsledkom je skript, ktorý sa číta ako popis budovy, nie ako postupnosť geometrických operácií.

## Ako dialekt vyzerá

Kompletná malá budova: jedno podlažie, podlaha, štyri steny, priečka, dve miestnosti, dvoje dvere, okno a sedlová strecha. Tento skript sa v testovacej sade spúšťa proti jadru.

```js
const ground = api.ensureStorey('Prízemie', 0);
const W = 12, D = 8, H = 3.4;
const outline = [[0,0],[W,0],[W,D],[0,D]];
api.floorAssembly({ slabOutline: outline, wallOutline: outline, storey: ground });
const south = api.wall({ start: [0,0], end: [W,0], storey: ground, height: H });
api.wall({ start: [W,0], end: [W,D], storey: ground, height: H });
api.wall({ start: [W,D], end: [0,D], storey: ground, height: H });
api.wall({ start: [0,D], end: [0,0], storey: ground, height: H });
const partition = api.wall({ start: [W/2,0], end: [W/2,D], storey: ground, height: H, thickness: 0.15 });
api.space({ outline: [[0,0],[W/2,0],[W/2,D],[0,D]], storey: ground, height: H, name: 'Hala', type: 'hall' });
api.space({ outline: [[W/2,0],[W,0],[W,D],[W/2,D]], storey: ground, height: H, name: 'Pracovňa', type: 'office' });
api.door({ wall: partition.id, offset: D/2, width: 0.9 });
api.door({ wall: south.id, offset: W/4, width: 1.4 });
api.window({ wall: south.id, offset: 3*W/4, width: 1.2, sill: 0.9 });
const roof = api.roofLevels({ wallHeadM: H, spanM: D, pitchDeg: 35, overhangM: 0.5 });
api.roof({ outline, storey: ground, shape: 'gable', pitch: 35, eavesHeight: roof.eavesHeightM, overhang: 0.5, ridgeAxis: 'x' });
api.gable({ start: [0,0], end: [0,D], storey: ground, baseHeight: H, ridgeHeight: roof.ridgeHeightM });
api.gable({ start: [W,0], end: [W,D], storey: ground, baseHeight: H, ridgeHeight: roof.ridgeHeightM });
```

Dvadsať riadkov, žiadne polia vrcholov pre telesá, žiadne matice umiestnenia. Dvere a okno odkazujú na id steny a odstup pozdĺž nej; výšky strechy dodá api.roofLevels, nie počítanie z hlavy.

## Šesť návrhových rozhodnutí za dialektom

Dialekt formovalo to, čo sa pokazí, keď budovu píše jazykový model - alebo unavený človek. Každé rozhodnutie odstraňuje jednu triedu chýb.

- **Doménové slovesá, nie geometrické primitíva** - api.wall, api.stair, api.curtainWall, api.riserShaft, api.plantRoom: viac ako sto slovies, ktoré pomenúvajú stavebné prvky. Vrstvené steny, zrezané rohy a otvory stavia jadro; skript nikdy neskladá teleso.
- **Vzťahy cez id** - Dvere sú osadené v partition.id s odstupom pozdĺž tejto steny - ako vzťah, nie súradnica. Posuňte alebo predĺžte stenu a dvere v nej zostanú, pretože nikdy neboli voľne plávajúcou škatuľou.
- **Miestnosť je IFC space** - api.space vytvorí skutočný priestor s názvom a typom. Bez neho nemožno nič vetrať, merať ani pomenovať, preto dialekt robí z miestností plnohodnotné prvky, namiesto toho, aby ich len naznačovali steny.
- **Počty robí jadro** - api.roofLevels vráti výšku odkvapu a hrebeňa pre korunu steny, rozpätie, sklon a presah. Skript tieto čísla odovzdá do api.roof a api.gable, namiesto toho, aby ich počítal sám.
- **Súradnice v rámci podlažia** - Všetky podlažia zdieľajú rovnaké pôdorysné súradnice a výšky sa merajú od podlažia. Skript tak môže zopakovať pôdorys na ďalšom podlaží bez ručného pripočítavania výšok - chyby, ktorá inak posunie stenu o podlažie vyššie.
- **Deterministické vykonanie** - Rovnaký skript na rovnakom jadre postaví rovnaký model. Rozvody TZB a riešenie kolízií zabezpečujú deterministické resolvery, takže skript je reprodukovateľný artefakt, ktorý môžete porovnať, skontrolovať a spustiť znova.

## Skúšobné zostavenie, nálezy, cielená úprava, ostré zostavenie

Skript sa nespúšťa naslepo. Takto pracuje AI agent - a rovnaká slučka je k dispozícii aj človeku v editore.

1. **Skúšobné zostavenie** - Jadro skript postaví a skontroluje, no do modelu sa nič neuloží. Chybný nápad stojí sekundy a projekt zostane nedotknutý.
2. **Prečítať nálezy** - Kontrolór vráti pomenované nálezy rozdelené na autorské - chyby návrhu na opravu - a nálezy jadra. Príklady: clash.hard, door.obstructed, stair.throughFabric, room.accessEnvelope.
3. **Upraviť skript, nie všetko** - Skript sa prečíta späť a zmení cielenými úpravami: jeden štít, jeden odstup dverí. Nálezy sa premietnu do plánu opráv pre ďalšie kolo namiesto prepísania celku.
4. **Ostré zostavenie** - Keď je skúšobná verzia dostatočne čistá, ten istý skript sa spustí ako ostré zostavenie. Z modelu sa stane projekt exportovateľný do IFC4X3, ktorý ďalej upravujete ručne alebo skriptom.

> api.gable: the roof given does not cover this wall … It was not built.
>
> - Skutočné odmietnutie z produkčného behu 21. septembra 2026. Model ho prečítal a skript prepísal - žiadny napoly postavený štít, žiadne tiché zlyhanie.

## Všeobecné CAD/BIM API cez Python vs dialekt Harness

Oba prístupy sú legitímnym spôsobom, ako stavať modely kódom. Pracujú na rôznej úrovni abstrakcie, a to mení, kto musí čo vedieť.

| Aspect | Všeobecné CAD/BIM API cez Python | Stavebný dialekt Harness |
| --- | --- | --- |
| Úroveň abstrakcie | Entity, umiestnenia, geometrické reprezentácie, sady vlastností | Stavebné prvky a vzťahy: podlažie, stena, miestnosť, dvere, strecha, potrubie, inštalačná šachta |
| Čo musí volajúci vedieť | Súradnicové systémy, pravidlá hostenia, ako sa vyrezávajú otvory, detaily schémy | Budovu: rozmery, miestnosti, do ktorej steny patria ktoré dvere |
| Odvodené hodnoty | Počíta ich skript (výšky strechy, polohy otvorov) | Počíta ich jadro, napr. api.roofLevels pre odkvap a hrebeň |
| Validácia | Zvyčajne až po exporte, v samostatnom nástroji alebo pohľadom | Skúšobné zostavenie s kontrolórom ešte pred uložením čohokoľvek |
| Ako vyzerá zlyhanie | Výnimka alebo model, ktorý sa exportuje, ale je zlý | Pomenovaný nález alebo výslovné odmietnutie („It was not built“) |
| Zmena návrhu | Znova spustiť skript alebo ručne upraviť geometriu a vzťahy | Cielená úprava skriptu; jadro pregeneruje to, čo od nej závisí |
| Výstup | Čokoľvek, čo skript zapísal | Parametrický model; IFC4X3 generované pri exporte deterministicky |

Všeobecné API dáva maximálnu voľnosť a pre mnohé úlohy je správnym nástrojom. Dialekt vymieňa časť tejto voľnosti za skript, ktorý jazykový model spoľahlivo napíše a človek pochopí na prvý pohľad.

## Čo dokáže AI, dokážete aj vy

> Scripting API v BIM Harness je to isté API, ktorým stavia modely AI agent. Čokoľvek dokáže agent s modelom urobiť cez dialekt, môže človek urobiť skriptom v editore.

Pre ľudí neexistuje žiadne druhé, okresané rozhranie. Keď AI navrhuje nemocnicu, píše volania ako api.grid, api.column, api.slab, api.stairWell, api.lift, api.duct, api.pipe, api.cableTray a api.autoServices. Výpočtový dizajnér môže tie isté volania použiť na hromadné úpravy - zmeniť typ všetkých okien na fasáde, pridať podlažie, rozmiestniť stĺpy na novú osnovu.

Referencia API sa poskytuje podľa potreby: agent si vyžiada signatúry slovies, ktoré potrebuje, namiesto obrovského promptu, a človek dostane v editore tie isté signatúry. Keďže agent je nezávislý od modelu - ktorý jazykový model odpovedá, určuje jeden riadok konfigurácie -, stabilnou časťou je dialekt. Lepšie modely robia jadro schopnejším; nenahrádzajú ho.

## Čo zvláda jadro pod skriptmi

- **100+** - slovies v stavebnom dialekte
- **~7 s** - postavenie rodinného domu zo skriptu v prehliadači
- **< 60 s** - postavenie nemocnice s ~20 000 prvkami vrátane TZB na jadre
- **4 500+** - automatizovaných testov stráži každé vydanie

V skutočnom produkčnom behu rodinného domu jadro postavilo model asi za 7 sekúnd a rozviedlo TZB asi za 6. Takmer všetok čas pripadá na premýšľanie jazykového modelu: jadro je rýchla a lacná časť.

## Agent píše skript, vy vidíte model

![Editor BIM Harness s panelom AI asistenta vedľa vygenerovaného modelu budovy](https://buildify.cz/screenshots/harness-ai.webp)

Panel AI asistenta vedľa vygenerovanej budovy. Každý model, ktorý agent postaví, je skript v dialekte, ktorý jadro postaví a skontroluje. (Rozhranie editora je v češtine.)

## Kde dnes Scripting API beží

Scripting API je skriptovanie v editore: skripty píšete a spúšťate priamo v BIM Harness v prehliadači nad otvoreným projektom. Je súčasťou balíka Studio a vyšších. Nie je to verejné REST API, SDK ani inštalovateľný balíček a táto stránka nič také nesľubuje.

Z editora odchádzajú otvorené dáta: export do IFC4X3 kedykoľvek, výkresy ako PDF, DWG a DXF, výmery ako XLSX alebo CSV. Skriptom model staviate a meníte; cez IFC putuje do ďalších nástrojov.

## Časté otázky

### Čo je BIM skriptovanie?

BIM skriptovanie znamená vytvárať alebo meniť informačný model budovy kódom namiesto ručnej práce. Používa sa na hromadné úpravy, opakujúce sa dispozície, návrh riadený pravidlami a automatizáciu. V BIM Harness sa skripty píšu v stavebnom dialekte - volaniami ako api.wall, api.space a api.door -, ktorý parametrické jadro postaví, skontroluje a exportuje do IFC4X3.

### Má BIM Harness BIM API?

Áno, vo forme skriptovania v editore. Scripting API umožňuje spúšťať skripty nad otvoreným projektom v prehliadači, a to rovnakým API, akým modely stavia AI agent. Je dostupné v balíku Studio a vyšších. Verejné REST API, SDK ani inštalovateľný balíček neexistujú; modely odchádzajú z editora ako IFC4X3, výkresy a výkazy.

### Čím sa dialekt líši od skriptovania CAD API v Pythone?

Všeobecné API sprístupňuje entity, umiestnenia a geometriu, takže skript musí poznať súradnice, pravidlá hostenia a odvodené hodnoty. Dialekt Harness sprístupňuje stavebné prvky a vzťahy: dvere sa osadia do steny cez jej id a odstup, miestnosť je IFC space, výšky strechy dodá api.roofLevels. Geometriu a kontroly zabezpečí jadro.

### Čo sa stane, keď je skript chybný?

Najprv ho spustite ako skúšobné zostavenie. Jadro ho postaví a skontroluje bez uloženia a vráti pomenované nálezy ako clash.hard, door.obstructed alebo stair.throughFabric, rozdelené na autorské a nálezy jadra. Niektoré volania rovno odmietnu, napríklad štít, ktorý nekryje strecha, sa nahlási a nepostaví. Skript potom opravíte cielenou úpravou.

### Je výstup skriptu deterministický?

Vykonanie áno. Rovnaký skript na rovnakom jadre postaví rovnaký model a rozvody TZB aj riešenie kolízií zabezpečujú deterministické resolvery, nie jazykový model. To, čo jazykový model napíše, sa môže medzi behmi líšiť; keď je to však skript, jeho zostavenie je reprodukovateľné, a preto sa skripty dajú kontrolovať a porovnávať.

### Môžem model vygenerovaný AI upraviť vlastným skriptom?

Áno. AI agent pracuje cez ten istý dialekt, takže jeho model sa skladá z rovnakých prvkov, s ktorými vie pracovať váš skript. Prvkom môžete skriptom zmeniť typ, pridať podlažie alebo zmeniť osnovu, upravovať ručne v plnohodnotnom editore v prehliadači alebo požiadať AI o ďalšiu zmenu vetou. Všetky tri cesty pôsobia na jeden parametrický model.

## Súvisiace

- [prečo by mala AI volať BIM API namiesto klikania v rozhraní CAD](https://buildify.cz/sk/computer-use-vs-bim-api)
- [ako sú organizovaní AI agenti, ktorí tieto skripty píšu](https://buildify.cz/sk/ai-bim-agents)
- [parametrické jadro, ktoré pregeneruje, čo skript zmení](https://buildify.cz/sk/parametric-bim)
- [ako sa validuje IFC, ktoré skripty vytvárajú](https://buildify.cz/sk/ai-ifc-generator)
- [od písomného zadania k BIM modelu](https://buildify.cz/sk/text-to-bim)

## Píšte budovy, nie geometriu

Otvorte model, ktorý naskriptoval agent, stiahnite si jeho IFC a pozrite sa, čo vytvára stavebný dialekt. Skriptovanie v editore je súčasťou balíka Studio a vyšších.

Získať prístup k BIM Harness: https://buildify.cz/sk/bim-harness#waitlist

---

Zdroj / Source: https://buildify.cz/bim-scripting · Kontakt: kluch@buildify.cz · Buildify Digital s.r.o., IČO 29541743, Korunní 2569/108, 101 00 Praha 10, Česká republika.
