Enota 4 / 12

Integracija BIM: potek dela z Revit, IFC in umetno inteligenco

Dobički:

  • Sposobnost delati skupaj s podatki BIM (Building Information Modeling) in AI ter razlikovati, katera opravila so primerna za avtomatizacijo
  • Sposobnost izvajanja poizvedovanja po modelu, izpolnjevanja parametrov in priprave poročil o konfliktih z Dynamo/code in naravnim jezikom
  • Sposobnost razumevanja zaupnosti podatkov o modelu in potrebe po preverjanju kode/skripta, ki ga je ustvaril AI, preden se zažene na modelu.

Moderna arhitektura ne deluje več z ravnimi linijami, ampak z BIM. BIM (Building Information Modeling) je metoda modeliranja stavbe ne le kot črte, ampak kot pametni objekti, ki nosijo informacije v notranjosti: vsaka stena je "stenski" objekt, ki nosi podatke, kot so njena debelina, material, požarna odpornost. Programska oprema, kot sta Revit in ArchiCAD, proizvaja ta model; IFC (Industry Foundation Classes) je običajna oblika datoteke, tako da lahko različna programska oprema deli ta model. Model BIM je velika zbirka podatkov in umetna inteligenca je zelo zmogljiva pri pogovoru s temi podatki, poizvedovanju po njih in avtomatizaciji ponavljajočih se nalog. V tej enoti se boste naučili, kako varno vključiti umetno inteligenco v potek dela BIM, poizvedovanje po modelih z naravnim jezikom, izpolnjevanje parametrov in preverjanje kode, ustvarjene z umetno inteligenco.

Prava vloga AI v BIM

AI v BIM blesti na treh glavnih področjih:

  1. Poizvedovanje in poročanje: Prevajanje vprašanj, kot je "Navedite stene v modelu, ki zahtevajo 1-urno požarno odpornost in imajo to vrednost prazno" v kodo ali naravni jezik.
  2. Polnjenje in urejanje parametrov: Paketno polnjenje manjkajočih podatkov več sto objektov v skladu s pravilom.
  3. Generiranje kode/skripta: Izdelava skriptov Dynamo (orodje za vizualno programiranje) ali Python za Revit, logika nadzora sporov, postavitev urnika.

AI je tukaj pospeševalnik in pomočnik kode, ni lastnik modela. Operacija, ki bi pokvarila model (množično brisanje, prepisovanje), mora vedno iti skozi človeški nadzor.

Pozor: skript Dynamo ali Python, ki ga ustvari umetna inteligenca, lahko povzroči nepopravljive spremembe v vašem modelu (množično brisanje, prepis parametrov). Te kode nikoli ne zaženite najprej na glavnem modelu; Preizkusite varnostno kopijo z majhno izbiro.

Model poizvedbe z naravnim jezikom

Podatki BIM so skriti v tabelah in krmarjenje po teh tabelah zahteva čas. AI bodisi prevede vprašanje, ki ga postavite v naravnem jeziku, v delček kode, na katerega je mogoče neposredno odgovoriti, ali pa analizira grafikon, ki ga izvozite. Na primer, lahko zagotovite razpored vrat kot besedilo in vprašate "katera vrata imajo prazen parameter požarne odpornosti?" To je zelo učinkovito pri lovljenju spregledanih pomanjkljivosti.

Toda tu je past: imena parametrov, ki jih predlaga umetna inteligenca, morda niso povsem enaka v vašem modelu. V programu Revit je lahko ime parametra turško, angleško ali po meri. Vaš model ima morda "Fire_Resistance", medtem ko AI predpostavlja "FireRating". Zato je bistveno, da imena parametrov uskladite z modelom, preden zaženete kodo.

Korak za korakom: Varna izvedba naloge BIM z AI

  1. Opredelite nalogo. Jasno napišite, kaj želite: povpraševanje, izpolnitev, poročilo?
  2. Podajte kontekstu modela. Uvedite imena parametrov, imena kategorij, enote v AI.
  3. Koda/logika zahteve. Ustvarite skript ali seznam korakov z AI.
  4. Preberi kodo. Razumeti, kaj počnete, vrstico za vrstico; Preverite, ali obstaja množično brisanje/pisanje.
  5. Preizkusite ga v rezervi. Zaženite kopijo modela z majhno izbiro.
  6. Preverite rezultat. Preverite, ali se je model dejansko spremenil po pričakovanjih.
  7. Uporabite za glavni model in shranite. Po preverjanju, brez sledi.
Namig: Ko zahtevate kodo od umetne inteligence, naj vključi korak "dry run", ki pravi "zapišite, katere elemente želite najprej spremeniti, vendar jih ne spreminjajte; samo prijavite." Na ta način vidite namen, preden koda naredi kakršne koli dejanske spremembe.

trije mini kovčki

Primer 1 — Nepopolno skeniranje parametrov. Urad želi preveriti parameter požarne odpornosti na modelu 1.850 predmetov. AI predlaga logiko Dynamo; Arhitekt najprej naredi suhi test in vidi, da je parameter prazen na 212 stenah. Vrzeli zapolni po pravilu (glede na vrsto stene), ne ročno; Toda požarni strokovnjak potrdi končno požarno vrednost.

2. primer — Neujemanje imena parametra. Arhitekt neposredno izvaja scenarij, ki ga poda AI; Skript cilja na polje »Komentarji«, vendar so v modelu podatki v parametru po meri »Komentarji«. Scenarij se vrne prazen, arhitekt izgubi 20 minut. Lekcija: imena parametrov je bilo treba najprej ujemati.

Primer 3 – Nevarna serijska obdelava. Skript, ki ga ustvari AI, izbriše elemente, ki ne ustrezajo filtru, da jih "očisti". Če bi arhitekt zagnal kodo v glavnem modelu, ne da bi jo prebral, bi bilo izbrisanih na stotine objektov. Preprečuje katastrofo, ker prebere kodo in jo preizkusi v varnostni kopiji. Prav zato verifikacija rešuje življenja.

Štirje pozivi za kopiranje

Napišite logiko Dynamo za moj model Revit: Seznam elementov [kategorija], katerih vrednost [parameter] je NULL. Najprej naredite DRY RUN: samo poročajte, ne spreminjajte ničesar. Moje ime parametra je natančno: "[dejansko ime parametra]". Enota: [...].

Analizirajte spodnji diagram vrat (izvožen). Označite črte, kjer je parameter požarne odpornosti prazen, protisloven ali nestandarden. NE urejajte, samo označite in napišite razlog. Graf: [...]

Preglejte ta skript Python/Dynamo z vidika arhitekta glede VARNOSTI: ali obstajajo množični izbrisi, prepisi ali nepovratne operacije? Označite tvegane linije in pojasnite, kako dodati suho vožnjo. Koda: [...]

POVEZAJ imena parametrov v mojem modelu z imeni, ki jih prevzame AI. Navedel bom dejanska imena; Vsak parameter v skriptu spremenite v pravilno ime in navedete, kaj ste spremenili. Prava imena: [...]

Šibek poziv/močan poziv

Šibko: "Izpolni požarno vrednost sten v Revitu."

Strong: "Napišite logiko Dynamo za moj model Revit. Cilj: Navedite stene v kategoriji 'Basic Wall', ki imajo prazen parameter po meri 'Fire_Resistance'. Najprej samo poročajte (suhi zagon), ne delajte nobenih sprememb. Izpolnil bom vrednosti glede na vrsto stene in odobritev požarnega strokovnjaka. Moje ime parametra je turško; ne prevzemajte angleškega imena."

Zmogljiv poziv razjasni ime parametra, zahteva suhi zagon in prepusti varnostno kritično vrednost strokovnjaku.

Iskanje

Primernost za avtomatizacijo AI

stanje

Manjkajoče skeniranje parametrov

visoka

Tek na suho

Postavitev grafikona/poročila

visoka

Nadzor formata

Množično polnjenje na podlagi pravil

srednje

Ujemanje parametrov + test

Spopad komentar

srednje

Odobritev inženirja

Določitev ratinga proti ognju/prevozniku

nizka

Soglasje pristojnega strokovnjaka

Pogoste napake

  • Zagon kode v glavnem modelu brez branja. Tveganje nepopravljive izgube.
  • Imena parametrov se ne ujemajo. Skript tiho cilja na napačno območje.
  • Preskočite suho vožnjo. Implementacija kode, ne da bi videli njen namen.
  • Naj AI določi vrednost požara/prenosa. Ti zahtevajo odobritev strokovnjaka.
  • Poskušam brez varnostne kopije. Testiranje je treba vedno opraviti v dvojniku.

Če povzamem

BIM je velika zbirka podatkov in AI je močan pomočnik pri poizvedovanju, polnjenju in ustvarjanju kode s temi podatki. Toda vsaka koda, ki lahko naredi nepopravljive spremembe v modelu, mora prestati človeški nadzor. Povežite imena parametrov, zaženite suhi zagon, preizkusite na varnostni kopiji in preverite rezultat v modelu. Nikoli naj AI ne določi varnostno kritičnih vrednosti, kot sta ogenj in nosilec; naj jih odobri pristojni strokovnjak.

Aplikacijska naloga

Določite nalogo skeniranja parametrov na vašem modelu BIM (ali vzorčnem urniku). Umetna inteligenca naj ustvari logiko suhega zagona tako, da poda pravilna imena parametrov, kodo naj pregleda glede varnosti in jo preizkusi na varnostni kopiji. V tabelo zapišite, katere kontrole pripadajo AI in katere pripadajo strokovnjaku.

kontrolni seznam

  • [ ] Nalogo sem jasno definiral (poizvedba/izpolnitev/poročilo).
  • [ ] AI sem dal dejanska imena parametrov in kategorij.
  • [ ] Kodo AI berem vrstico za vrstico.
  • [ ] Videl sem namero s suhim tekom.
  • [ ] Preizkusil sem z majhno izbiro na varnostni kopiji.
  • [ ] Rezultat sem preveril v modelu.
  • [ ] Vrednosti požara/nosilca sem prepustil strokovnjaku.