Buildify

BIM skriptovanie · Programové BIM

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

Všeobecné CAD/BIM API

  1. Vypočítať súradnice
  2. Vytvoriť telesá a umiestnenia
  3. Pripojiť vlastnosti
  4. Exportovať, otvoriť, skontrolovať

Znalosti o budove nesie volajúci

Dialekt Harness

  1. Zapísať zámer: podlažia, steny, miestnosti, otvory
  2. Skúšobné zostavenie s pomenovanými nálezmi
  3. Cielená úprava skriptu
  4. Ostré zostavenie → IFC4X3

Znalosti o budove nesie jadro

Definícia

Č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.

program budovy
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. 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. 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. 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. 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ť.

Všeobecné CAD/BIM API cez PythonStavebný dialekt Harness
Úroveň abstrakcieEntity, 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émyBudovu: rozmery, miestnosti, do ktorej steny patria ktoré dvere
Odvodené hodnotyPočíta ich skript (výšky strechy, polohy otvorov)Počíta ich jadro, napr. api.roofLevels pre odkvap a hrebeň
ValidáciaZvyčajne až po exporte, v samostatnom nástroji alebo pohľadomSkúšobné zostavenie s kontrolórom ešte pred uložením čohokoľvek
Ako vyzerá zlyhanieVýnimka alebo model, ktorý sa exportuje, ale je zlýPomenovaný nález alebo výslovné odmietnutie („It was not built“)
Zmena návrhuZnova spustiť skript alebo ručne upraviť geometriu a vzťahyCielená úprava skriptu; jadro pregeneruje to, čo od nej závisí
VýstupČokoľvek, čo skript zapísalParametrický 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.

Jedno API

Č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
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.)
Dostupnosť

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.

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.