ARCHICAD: REVDALING GDL: Programozás Az építész Egyedi Kihívásaihoz

ARCHICAD: REVDALING GDL: Programozás Az építész Egyedi Kihívásaihoz
ARCHICAD: REVDALING GDL: Programozás Az építész Egyedi Kihívásaihoz

Videó: ARCHICAD: REVDALING GDL: Programozás Az építész Egyedi Kihívásaihoz

Videó: ARCHICAD: REVDALING GDL: Programozás Az építész Egyedi Kihívásaihoz
Videó: Откройте для себя ARCHICAD за 29 минут 2024, Április
Anonim

Ez a szakértői anyag folytatja az "ARCHICAD: Újrafelfedezés" cikksorozatot, amely 2016 decemberében Vlagyimir Szavickij cikkével kezdődött "Szerkezetek létrehozása és munkarajzok kivonása egy modellből", majd Svetlana Kravchenko "ARCHICAD" publikációival folytatódott: Újrafelfedezés. Vizualizáció - új lehetőségek egy építész számára "és Alexander Anishchenko" CSAPATMunka: hatékony csapatmunka lépésről lépésre ". A ciklus célja, hogy segítse a felhasználókat az ARCHICAD teljes potenciáljának kiaknázásában®… Arra kértük az építészeket, hogy osszák meg személyes tapasztalataikat a program használatáról nem szabványos megközelítések, kevéssé tanulmányozott funkciók és új funkciók alkalmazásával, amelyekről sok felhasználó talán nem is tud. Az ARCHICAD alkalmazás fejlesztőként biztosak vagyunk abban, hogy csak a termék mély ismerete árulhatja el teljes értékét, és döntően befolyásolhatja a tervező munkájának eredményeit, sebességét és minőségét. Ön is jobban kedveli az "olvasatlan utakat"? Van tapasztalata a nem szabványos megközelítések használatáról az ARCHICAD-tal való együttműködésben, rendszeresen használja az alkalmazás leghíresebb funkcióit? Örömmel hívjuk meg az új szerzőket az együttműködésre: [email protected]. Svetlana Kravchenko, gyakorló építész, beszámol:

nagyítás
nagyítás

Bizonyára sokan hallottak már a GDL-ről az ARCHICAD-ban, de még mindig nem mindenki tudja, hogyan kell használni a munkában. Figyelembe véve a szolgáltatás hihetetlen hasznosságát, valamint a témával kapcsolatos első webináriumom után feltett sok kérdést, úgy döntöttem, hogy részletesebben elmagyarázom, hogy a legkisebb ismerete is sokat segíthet a mindennapi munkában. egy építész.

Kezdjük az alapokkal A GDL (Geometric Description Language) egy BASIC-szerű programozási nyelv, amelyet az ARCHICAD környezetben való használatra terveztek. 3D szilárd testeket (például ajtókat, ablakokat, bútorokat) és 2D szimbólumokat ír le az alaprajzi ablakban. Ezeket az objektumokat könyvtárfunkcióknak nevezzük.

Azok számára, akik legalább kicsit ismerik a programozást, ennek a nyelvnek az elsajátítása nem lesz nehéz. Megfelelő vágy esetén azonban a GDL tanulmányozása egy olyan ember hatalmába kerül, aki távol áll ettől a környezettől. Bármely építész tanulmányozta korában a geometriát és a leíró geometriát, kiváló volumetrikus gondolkodással rendelkezik, és ez már a siker fele. Nem kell azonnal megpróbálni összetett objektumokat írni, érdemes kezdeni az alapvető geometriai alakzatokkal és formákkal; sok információ szerezhető be más könyvtári tételek szkriptjeinek vizsgálatával. Nos, a fő információforrás a GDL referencia kézikönyv, amelyhez az ARCHICAD Súgó menüjén keresztül férhet hozzá. Tehát miért részesülhet egy építész a GDL ismeretében? Például a Grasshopperrel ellentétben, amellyel komplex struktúrákat hozhat létre, a GDL egyszerűen nélkülözhetetlen a különféle jelölők és feliratok írásához, valamint speciális komponensek létrehozásához a Könyvtár egyéb szolgáltatásaihoz vagy eszközeihez. A GDL egyik első alkalmazási területe a munkám során egy speciális panel ajtólap létrehozása volt, amelyet átméretezve nem skálázott minden irányba, csak megváltoztatta a panel méreteit. A göndör keret vastagsága és a hámszélesség változatlan maradt. Az építészek nagyon gyakran szeretnének néhány egyszerű funkciót felvenni a standard könyvtárak meglévő tárgyaiba - és ez az oka annak, hogy elkezdik elmélyülni a GDL-t. Természetesen a GDL ismerete nem létfontosságú, és ezek közül a feladatok közül sok szabványos eszközökkel elvégezhető. Például födémekkel is kitöltheti a kitöltéseket, és speciális ajtólapként mentheti el őket. Ha csak néhány ilyen nem szabványos ajtó van, akkor ez még gyorsabb lesz. De ha a projektben sok hasonló méretű, különböző méretű ajtó és szélességük változik a munka során, akkor egy speciális panel GDL-be írása jelentősen felgyorsítja és leegyszerűsíti a munkát. A geometriai leírás azt jelenti, hogy a lehetséges alakzatok bármelyikét be lehet írni szövegbe dimenziók vagy koordináták szerint. 3D-s szkript esetén az alapvető térbeli alakzatokhoz tartozik egy parancsblokk, például: - BLOKK és TÉGLA - három dimenzióban felépített párhuzamos, az origóval a koordináta-rendszer 0 pontján BLOKK a, b, c Tégla a, b, c

nagyítás
nagyítás

- HANG - henger a Z tengely mentén, h magassággal és r sugárral CYLIND h, r

- SZFÉRA - gömb középpontjában az r kezdő és sugár Gömb r

nagyítás
nagyítás

Az ellipszist és a kúpot hasonló módon írják le. A következő ábratömb már bonyolultabb - ezek különböző prizmák. Pont koordináták halmaza írja le őket. A legegyszerűbb prizmát a pontok száma (n), a magasság (h) és az összes pont koordinátái sorba rendezése határozza meg. PRISM n, h, x1, y1, … xn, yn

A prizma sokféle. A következő nézet, PRIZMA_, lehetővé teszi az állapotkódok megjelölését a pontok koordinátáin, amelyek meghatározzák az arcok és élek láthatóságát, valamint íves prizmák és lyukakkal ellátott prizmák létrehozását is lehetővé teszik (lásd a referenciakönyv Állapotkódok szakaszát). Egy másik fajta, BPRISM_, az Y tengely köré csavart prizmát hoz létre. FPRISM_ prizmát épít, amelynek felső oldalán letörés vagy filé található.

nagyítás
nagyítás

Számos parancs ismerteti a bonyolultabb vonallánc-alapú alakzatokat: EXTRUDE, PIRAMID, REVOLVE, REDED, SWEEP, TUBE, COONS, MASS. Leírásuk példákkal megtalálható a referenciában. 2D szkript esetén az alakzatokat más parancsok írják le: vonal, kör, téglalap, vonallánc, spline. De regisztrálhat egy parancsot is egy vetítés elkészítéséhez egy 3D-s szkriptből.

2D vagy 3D alakzatok létrehozása csak a GDL funkcionalitásának része. Ha csak táblára van szüksége, akkor könnyebb azt maga az ARCHICAD eszközeivel felépíteni. Az objektumot abban az esetben írják, amikor valamilyen paraméterességre van szükség: a különböző típusú asztallábak kiválasztásának képessége, a lábak száma, az asztal méretének átméretezése a fennmaradó méretek fenntartása mellett, a faanyag kiszámítása annak gyártására, súlyára és költségére. Az objektum egyáltalán nem tartalmazhat geometriát, csak számításokat végez. Ehhez vezérlő klauzulákat (vezérlő operátorokat) is használnak, például ciklusokat, feltételes utasításokat, amelyek a kód egy meghatározott helyére utalnak (szubrutin). A legjobb, ha már az elején megismerkedsz a ciklusokkal és a feltételekkel - ezeket gyakran használják. Tehát az alábbi példák mindegyikének feltételes állításai vannak. 1. PÉLDA - objektumforgatás A tervezők gyakran szeretnék egy tárgyat forgathatóvá tenni. Ennek az egyszerű példának a felhasználásával megvizsgáljuk a Könyvtárelem felépítését, valamint a GDL Object Editor főablakait. A projektterületen található bármely objektum megnyitásához (ha a fejlesztő nem adott meg jelszót), ki kell választania, és meg kell nyomnia a Ctrl + Shift + O billentyűkombinációt. Egy másik módszer a Fájl> Könyvtárak és objektumok> Objektumok megnyitása menü használata. Ha ebben a pillanatban nem választott ki objektumot, akkor megnyílik egy ablak az objektum kiválasztásához. Adjuk hozzá a forgásparamétereket például egy rácsos rácshoz (1. ábra).

nagyítás
nagyítás

Megnyitottuk a GDL Object Editor ablakot (2. ábra). A bal felső sarokban van egy ablak a különböző nézetek megtekintésére, mint az objektumparaméterek szokásos ablakában; még balra is vannak gombok a nézet kiválasztásához - terv, magasság, 3D-ablak és előnézet. Az alábbiakban találhatók gombok a paramétertáblák, adatlisták és szkriptek megnyitásához. A szkriptek kétféleképpen nyithatók meg: kattintson a gombra a szkript nevével - nyissa meg ugyanabban az ablakban, kattintson a jobb oldali gombra az ablak ikonjával - a szkript külön ablakban nyílik meg. Ez hasznos lehet különböző szkriptek egyidejű megtekintéséhez (3. ábra).

nagyítás
nagyítás

Bármely szkript ablakának tetején található egy nagyon szükséges Ellenőrzés gomb: amikor rákattint rá, a szerkesztő megkérdezi, hogy vannak-e hibák a szkriptben. Az üzenet tartalmazza a hiba okát és a hibaszámot tartalmazó sorszámot. A "Részletek" részben kiválaszthat egy objektum altípust: egyedi ajtólap, kilincs, függönyfal keret stb. Tehát speciális elemek (toll, vászon, keret) megjelennek a megfelelő ablakban ezen elemek kiválasztásához. 2D típus kiválasztása esetén az objektumnak nincsenek ablakai a 3D geometriához. Itt kiválaszthatja a különböző markerek típusait is - egy csomópontot, szakaszokat, vezető feliratokat, zónákat; a megfelelő eszközeikben is megjelennek. Ebben a szakaszban kitöltheti az objektum leírását és kiválaszthatja a jelszót. Továbbá - "Paraméterek", ahol az összes objektumban használt adat, amely megváltoztatható a projekt során, táblázat formájában jelenik meg. Itt hozzá kell adnunk a kanyarok paramétereit, amelyeket később felhasználunk.

nagyítás
nagyítás

Nyomja meg az asztal fölött található Új gombot (4. ábra). Új sor jelenik meg, amelyben ki kell töltenie az oszlopokat. Ezen oszlopok közül az első változó. Itt írjuk a szkriptekben használt változó nevét, latinul és szóköz nélkül. Meg kell neveznie, hogy könnyen megjegyezhető legyen, és ugyanakkor könnyen megérthető, hogy ez a változó miért felelős. Esetünkben két változót kell létrehoznunk az X és Y tengely mentén a forgásszögek értékéhez (az objektum egyébként a tervben elforgatható a Z tengely körül). Úgy döntöttem, hogy megnevezem őket: angle_x és angle_y. A következő oszlopban ki kell választania az adattípust. A választási lehetőségeket az 1. táblázat mutatja be.

nagyítás
nagyítás

Az utolsó két típust nem használják az objektum felépítésénél, de az objektumparaméterek ablakának felsorolásának nagyobb érthetőségéhez és rendezettségéhez szükségesek. Szükségünk van egy sarokra - ez a táblázat második ikonja. A harmadik oszlop a Név. Itt szabályok nélkül, bármilyen nyelven megírhatja, hogy mit akarunk később látni az objektumparaméter ablakban. Az utolsó oszlop pedig az Érték. Most itt hagyhat 0-t: ez az érték bármikor megváltozik mind a szkriptben, mind az objektum paramétereiben. A 2. ábra bemutatja, hogyan néz ki a két új lehetőség a GDL Object Editor ablakban. 5. Használja a sor elején található nyilakat a vonal megfelelő helyre történő áthelyezéséhez.

nagyítás
nagyítás

Ezután új objektummal kell mentenie az objektumot, mivel a szabványos könyvtár kemény kódolású a tárolóba, és nem írhatja felül az objektumokat. Az Object Parameters ablak most így fog kinézni (6. ábra).

nagyítás
nagyítás

Két új paraméter létezik, amelyek értéke bármikor megváltoztatható. De most semmi sem fog történni, mivel még nem írtak parancsokat ezek használatával. Most meg kell nyitnia a 3D szkript ablakot. Itt van egy teljes leírás arról, hogyan lehet 3D modellt felépíteni a megadott paraméterek alapján. Ezenkívül különféle makrók beágyazódhatnak az objektumba. Minden konstrukció előtt el kell forgatnia azt a koordináta-rendszert, amelyben az objektum épülni fog. Itt fontos megérteni a következő logikát: minden forgatás, mozgás és méretezés eltérően történik, mint amikor magában az ARCHICAD-ban dolgozunk. Nem egy elemet veszünk és forgatunk, hanem elforgatjuk a globális koordinátarendszert (megváltoztatása után lokálissá válik) elülső objektum építése. A Move (ADD Command), Rotate (ROT), Scale (MUL) a koordináta-rendszer transzformációs parancsai. További átalakítások törölhetők a szkriptben egyesével, egyszerre többször, vagy egyszerre. A referenciakönyv mindezt kellő részletességgel és példákkal leírja. Ábra mutatja a koordinátarendszer 3D térben történő mozgatását egyszerre három tengely mentén. 7. ADD a, b, c

nagyítás
nagyítás

Tehát az összes konstrukció előtt elforgatjuk a koordinátarendszert, először az egyik, majd a másik tengely mentén. Az X tengely mentén történő forgatást a ROTX alphax parancs hajtja végre, ahol az alphax az óramutató járásával ellentétes irányú forgási szög; alphax helyett egy korábban létrehozott változót kell megadnia. Az Y tengely mentén történő forgatást ugyanúgy hajtják végre (8. ábra).

nagyítás
nagyítás

Most különböző szögeket állíthat be az elforgatáshoz - és a 3D-s modell változásai a bal felső sarokban található nézetablakban történnek (9. ábra).

nagyítás
nagyítás

Most különböző szögeket állíthat be az elforgatáshoz - és a 3D-s modell változásai a bal felső sarokban található nézetablakban történnek (9. ábra). De a 2D-ben még semmi sem történik. 2D-s szkriptben egy objektum külön vonallal és vonalláncokkal van felépítve, így az objektum tervrajzolása sokszor gyorsabb. Egy helyszínen ez észrevehetetlen, de ha több száz ilyen rács van a projektben, akkor a fékezés jelentős lesz. Kiszámíthatja ezeknek a vonalaknak a koordinátáit, és ábrázolhatja őket, ahogyan a forgatott objektum vetületén látszanak, de ez nem túl egyszerű és nem túl gyors. Ebben a rácsban a következő megoldást javaslom: ha az X vagy Y szöge nem egyenlő nullával, akkor a 2D szkriptben lévő objektum, vagyis a terv esetében a 3D modell vetülete lesz megjelenítve, és különben a régi módon. A 2D szkript modelljének vetülete a PROJECT2 projection_code, angle, method paranccsal épül fel. A vetítési_kód, a szög, a módszer jelentését elolvashatja a referenciakönyvben, de a fontosabb paranccsal az IF - AKKOR - EGYÉB - ENDIF vezérlő utasítások szakaszból ismerkedünk meg. Ezek feltételes utasítások, amelyek segítenek az előző bekezdés feltételes záradékának felépítésében. Ábrán. 10 Kiemeltem a hozzáadott parancsokat a 2D szkriptben, és pirosra fordítottam a "translation" szót jobbra.

nagyítás
nagyítás

Most csak el kell mentenie az objektumot, és használhatja is (11. ábra). Ennek a módszernek az az előnye, hogy átalakul a morph-ba, hogy az objektum paraméteres marad, leolvasható a specifikációkban, megváltoztathatja a lécek méreteit, a keret méretét és minden mást, ami az eredeti objektumban volt.

nagyítás
nagyítás

Tehát részletesen, ezzel a példával megvizsgáltuk a GDL Object Editor fő ablakait és szkriptjeit. Ha az elforgatásra választott objektumnak nem listája, mint ebben a rácsban vannak paraméterei, hanem képek és diagramok formájában, ez azt jelenti, hogy a fejlesztő grafikus felületet is írt. Leggyakrabban a szabványos paraméterekkel ellátott lista rejtve van, mint a 2. ábrán. 12: A paraméteroldalak legördülő listáján nincs "Minden paraméter" szakasz.

nagyítás
nagyítás

Ebben az esetben be kell lépnie a paraméter szkriptbe, és meg kell találnia az összes paramétert elrejtő parancsot (13. ábra). Ez a szkript leírja az összes olyan műveletet, amely befolyásolja a paramétereket: - opciók vagy lehetséges értéktartományok kijelölése (VALUES); - minden olyan számítás, amelynek eredményét a paraméterhez rendeljük (PARAMETERS); - elrejtési vagy zárolási paraméterek (HIDEPARAMETER, LOCK).

nagyítás
nagyítás

A HIDEPARAMETERS ALL sor egyszerűen törölhető, vagy egy "!" Betűvel helyezhető el. A sor elejére tegye olvashatatlanná (a GDL szintaxisa szerint a felkiáltójellel kezdődő sort kommentnek tekintjük. Ezután leírást írok és fordítások a képernyőképeken a "!" jel után). Ezt követően a "Minden paraméter" sor jelenik meg a paraméteroldalak listájában, és kiválasztásával egy szabványos listát fog látni a paraméterekkel, amelyek között új sorok lesznek a forgatáshoz. 2. PÉLDA - szöveg egy szimbólumon A következő példát a jelenlegi projektből veszem. Amikor egy többlakásos lakóház tervével dolgozott, meg kellett adni a "K" betűt a klímaberendezések kültéri egységeire - és így mindig függőlegesen. Természetesen a betűt egyszerűen hozzá lehetett volna tenni a tetejére szöveggel vagy egy külső felirattal-szöveggel, de akkor, amikor a légkondicionálót elfordították, akkor a szöveget is át kellett volna helyezni. Először négy új paramétert adtam hozzá (14. ábra):

nagyítás
nagyítás

1. Szöveg megjelenítése: a paramétertípus logikai érték, amely két lehetséges értéket jelent: 0 (nem) és 1 (igen). Így a szöveg be- és kikapcsolható.

2. Speciális szöveg: paramétertípus - szöveg. Lehetővé teszi bármilyen szöveg beírását a szimbólumba (egy betűt kívánok használni, hogy az illeszkedjen a légkondicionáló blokk téglalapjába).

3. Betűtípus: típus - szöveg. Felhívjuk figyelmét, hogy ennek a változónak egyes típusai lehetővé teszik, hogy kiválassza a betűtípus értékeket az oszlopban a számítógépre telepítettek listájából. A "Fonttype" automatikusan hívja ezt a listát, de ha "typefont" -ot vagy csak "font" -t írok, akkor kézzel kell beírnom a betűtípus nevét. Véletlenül vettem észre ezt a pillanatot az egyik standard objektumban.

4. Szöveges toll: típus - toll. Nos, itt minden világos.

Most nézzük meg azokat az ikonokat, amelyekre a sorok elején kattintottam. Az első sorban egy ikon van megnyomva

Image
Image

ami félkövér - félkövér. Vagyis ez a sor az objektumparaméterek ablakában félkövér lesz. A másik háromnak piktogramja van

Image
Image

… Ez azt jelenti, hogy ezek a sorok be lesznek ágyazva az első sor alatti legördülő listába. Ábrán. A 15. ábra egy képernyőkép, amely bemutatja, hogyan néz ki az Object Parameters. Először négy új paramétert adtam hozzá (15. ábra):

Рис. 15. Окно Параметров Объекта
Рис. 15. Окно Параметров Объекта
nagyítás
nagyítás

És az 1. ábrán 16 - amit 2D-s szkriptben adtam hozzá (hagyományosan fordítással és megjegyzésekkel).

nagyítás
nagyítás

Ábra. 16. Sorok hozzáadása egy 2D szkripthez A következő képernyőképen (17. ábra) a nagyobb áttekinthetőség érdekében különböző típusú szavakat / parancsokat / változókat színeztem.

nagyítás
nagyítás

Az objektum készen áll (18. ábra).

nagyítás
nagyítás

És ha nem írnék vonalakat forgatással és méretezéssel, akkor az objektum úgy nézne ki, mint az 1. ábrán. 19.

nagyítás
nagyítás

3. példa - részletezés A projekten végzett munka egyszerűsítése érdekében egy objektum írásakor hozzáadhat egy szöveges paramétert, amely számos részletlehetőség közül választhat (egyszerű, közepes, részletes). A 3D szkriptben pedig különféle apró alkatrészek készítésekor adjon meg egy típusú feltételt: ha a részletesség szintje = "részletes", akkor (az épületrészek leírása) a globális változók feltételének vége külön figyelmet érdemel. 40 oldalasak a referencia kézikönyvben, és a könnyű keresés érdekében témák szerint vannak csoportosítva. Az előző példában néhány objektumorientációs adatot használtam fel a projektben. A referencia kézikönyv ugyanabban a szakaszában találhatók globális változók az objektum helyének koordinátáihoz - ezek olyan objektumok létrehozására szolgálnak, mint például egy szakasz koordinátáival vagy magasságával rendelkező vezető. Nagyon gyakran a GLOB_SCALE-t használják - a rajz méretaránya (az aktuális ablak szerinti nézettől függ), 1: 100 méretarányban 100, 1:20 méretarányban 20. leggyakrabban a betűméret konvertálására méterméterekké vagy fordítva. Ez a paraméter használható a terv megjelenítési opcióinak "felakasztására" is. Például egy pad esetében írja be a következőket egy 2D szkriptbe:

HA GLOBÁLIS MÉRLEG <100 AKKOR ! ha a skála nagyobb, mint 1: 100, akkor
2., 3., 270., 2. PROJEKT ! vetítsen ki egy 3D-s modellből
MÁS ! másképp
ENDIF ! állapot vége

Tehát az alapterven 1: 500 méretarányban a padok téglalapként jelennek meg, egy nagyobb léptékű töredéken pedig részletes vetület rajzolódik ki. Hasonló technikát alkalmaznak, de háromdimenziós modell esetén a szokásos fáknál - ha engedélyezi az Automatikus korona típus jelölőnégyzetet. A kamerától bizonyos távolságban a korona típusa részletgé vált egyszerűvé és egyszerűből ellipszisé változik. Igaz, az objektum szkriptjeinek újbóli elolvasásához meg kell tennie valamit velük - például a perspektíva megváltoztatása, az összes fa kiemelése után nyissa meg az objektum paraméterablakát, és bármi változtatása nélkül kattintson az OK gombra, vagy kattintson a fedélcsere jelölőnégyzet jelölésére, és törölje a jelet.

Hadd mutassam meg egy gömb közelítésének példáján. Ezt írtam egy 3D-s szkriptben: discam_x = abs (GLOB_EYEPOS_X-SYMB_POS_X) discam_y = abs (GLOB_EYEPOS_Y-SYMB_POS_Y) discam_h = sqr (discam_x ^ 2 + discam_y ^ 2) discam_z = discam_Bam ^ 2 + = 20, majd res = 50, ha discam20, akkor res = 20, ha discam30, akkor res = 10, ha discam> 40, akkor res = 5 resol res gömb 1 A szkriptben a GLOB_EYEPOS_X, GLOB_EYEPOS_Y, GLOB_EYEPOS_Z globális változókat használtam a kamera (szem) a projekt 3D-ablakában és a SYMB_POS_X, SYMB_POS_Y, SYMB_POS_Z az objektum térbeli koordinátái; abs - szám modul (eltávolítja a "-" jelet, ha van ilyen); sqr - négyzetgyök; ^ 2 - szám négyzete.

A 3D-s ablakban, a kamerától különböző távolságra, a gömböt különböző közelítésekkel rajzoljuk meg. Az érthetőség kedvéért bekapcsoltam a drótváz módot (20. ábra).

nagyítás
nagyítás

A globális változókon keresztül az objektum fogadhat: - adatokat a projekt helyéről (észak, szélesség, hosszúság, magasság), a megfelelő párbeszédpanelen beállítva; - jelenlegi emelet és saját emelet; - az aktuális nézet típusa (például a GOST jumperekben a következő feltételt alkalmazzák: ha a nézettípus lista, akkor az átugró nézetét egy szakaszban hozza létre pozícióvezetőkkel); a rácsos példában a következő feltételt adhatja hozzá: ha a nézet típusa lista, akkor ne forgassa el a koordináta-rendszert, hogy a rácsok listájában mindenképpen legyen elülső nézet; - a konstrukciók hiányos megjelenítése (megteheti, hogy az objektum ne jelenjen meg egyes részeket, ha csak a mag van kiválasztva).

A faladatokat egy ablakba vagy ajtóobjektumba húzhatja. A kiemelések rengeteg különböző információt kaphatnak arról az elemről, amelyhez kapcsolódnak, például egy többrétegű struktúra rétegeit tartalmazó jelölőnégyzetet vagy egy elem térfogatú vezetőjét. És így tovább, 40 oldal különböző és nagyon hasznos globális változók. 4. példa - zónajelző Vizsgáljuk meg, hogyan jön létre egy egyéni zónajelző. Ha új objektumot hoz létre, és a Részletek részben kiválasztja a Zone Passport altípust, akkor a Paraméterek részben az összes speciális paraméter, amelyet a Zóna eszköz átad a jelölőnek, kék színnel jelenik meg (21. ábra).

Рис. 21. Параметры объекта подтипа Паспорт Зоны
Рис. 21. Параметры объекта подтипа Паспорт Зоны
nagyítás
nagyítás

A TEXT2 paranccsal ezeknek a változóknak bármelyikét beírhatja egy 2D szkriptbe - így kap csak egy szövegből álló jelölőt (22. ábra).

nagyítás
nagyítás

A zónajelző általános paramétereinek felhasználásával meghatározhatja a szövegstílust és a vonal magasságát a betűmagasságtól függően: DEFINE STYLE “ROOM” AC_TextFont_1, ROOM_LSIZE, 5.0 STYLE “ROOM” sor = ROOM_LSIZE / 1000 * GLOB_SCALE * 1,5 text2 0, sor, ROOM_NUMBER text2 0, 0, ROOM_NAME text2 0, -row, ROOM_AREA Létrehozhat egy új paramétert a marker típusának kiválasztására (23. ábra), beállíthatja annak beállításait a Parameters szkriptben (24. ábra) és a A 2D-s szkript különböző típusú marker-megjelenítéseket ír különböző típusokhoz.

nagyítás
nagyítás
nagyítás
nagyítás

2D szkript: ha mt = "jelölő számmal", akkor text2 0, 0, ROOM_NUMBER CIRCLE 0,0, sor endif, ha mt = "szám és terület", akkor text2 0, / 2 sor, ROOM_NUMBER text2 0, -row / 2, AREA_TEXT endif, ha mt = "cím és terület", akkor text2 0, 2. sor, ROOM_NAME text2 0, -row / 2, AREA_TEXT endif, ha mt = "szám, cím és terület", akkor text2 0, sor, ROOM_NUMBER text2 0, 0, ROOM_NAME text2 0, -row, AREA_TEXT endif, ha mt = "csak terület", akkor text2 0, 0, AREA_TEXT endif Ebben a szkriptben nem az előre definiált területváltozót használtam területként, hanem a területet szöveggé alakítottam át, és egységek: terület = str (SZOBA_ÁR, 4, 2)! szám konvertálása szöveggé két tizedesjegyig AREA_TEXT = terület + "négyzetméter" ! hozzáadva a karakterlánc értékéhez az "sq.m." betűket Kiegészítheti a jelölőn levő sorokat néhány vonalat elválasztó vonalakkal. A karakterlánc hosszának meghatározásához használja az STW parancsot. Adjuk hozzá a szkript elejéhez: tl1 = stw (ROOM_NUMBER) / 1000 * GLOB_SCALE tl2 = stw (ROOM_NAME) / 1000 * GLOB_SCALE tl3 = stw (AREA_TEXT) / 1000 * GLOB_SCALE, ha mt = "szám és terület", akkor tl = MAX (tl1, tl3), ha mt = „szám, cím és terület”, akkor tl = MAX (tl1, tl2), ha mt = „cím és terület”, akkor tl = MAX (tl2, tl3), ha mt = „csak terület”, akkor tl = tl3 ÉS a jelölők változataiban adja hozzá a sorokat a LINE2 paranccsal (25. ábra).

Рис. 25. 2D-скрипт
Рис. 25. 2D-скрипт
nagyítás
nagyítás

Ha a zónaszám több számjegyből áll, akkor a marker számára létrehozhat egy paramétert a kör sugarához, a betűkészlet magasságától függetlenül, vagy kör helyett leírhat egy ellipszis alakú alakot, amelynek hossza megegyezik a hosszúsággal a korábban talált zónaszám sora: POLY2_ 5, 1 + 2 + 4, -tl1 / 2, sor, 1, tl1 / 2, sor, 1, tl1 / 2, -row, 1001, -tl1 / 2, -row, 1, -tl1 / 2, 1001. sor Hozzáadhat egy új paramétert a padlótípushoz (FLOOR_TYPE) és egy paramétert, amely lehetővé teszi annak elrejtését vagy megjelenítését (ShowFloorType), és egy 2D-s szkriptbe háromszöget vonallánc és szöveg padlóval: ha ShowFloorType, akkor ADD2 0, * * sor POLY2_ 4, 1, -row * 1,4, -row * 0,8, 1, sor * 2,8,60,201, sor * 1,4, -row * 0,8, 1, 0,0700 text2 0,0, FLOOR_TYPE endif A padlótípushoz kívánatos egy külön paraméter hozzáadása a tollhoz, valamint pontok a padlójelző helyének grafikus szerkesztéséhez. Részletesen leírtam, hogyan kell grafikus szerkesztési pontokat hozzáadni a webináriumhoz, és a cikk végén található link segítségével letölthet objektumokat, és megnézheti, hogyan valósul meg ez a konkrét eset.

Végül vegyük fontolóra egy másik nagyon fontos altípust egy objektumnak, amely nagy lehetőségeket nyit meg - a könyvtár globális paramétereit (26. ábra).

nagyítás
nagyítás

Egy ilyen altípussal rendelkező objektum nem épít vagy rajzol semmit, a modell nézetekben meghatározza a paramétereket. Így ott kiveheti azokat a paramétereket, amelyeket közösen szeretne látni az objektum számára, ugyanakkor különböző értékeket állíthat be különböző típusokhoz.

Megmutatom ezt egy zónajelzővel. Olyan projektekre bukkantam, amelyekben többféle zóna volt, különböző rétegekben, különböző nézetekhez. Ha szükség van különböző jelölőkre, akkor a Library Global Parameters a legjobb megoldás.

Van egy jelölőnk, amely lehetővé teszi a padló típusának egy háromszögbe állítását és a jelölés típusának megváltoztatását (27. ábra). Ez a két paraméter pedig a Global Library Parameters altípus külön fájljába kerül (28. ábra).

nagyítás
nagyítás
nagyítás
nagyítás

Ahhoz, hogy ezek a paraméterek megjelenjenek a Model View Parameters párbeszédpanelen, regisztrálnia kell őket az objektum interfész szkriptjében (29. ábra). Nem foglalkozom részletesen a szkript speciális parancsaival, ezeket kellően részletesen és példákkal írják le a referenciakönyvben. Csak annyit mondok, hogy itt leírjuk, hol fog elhelyezkedni ez vagy az a címke vagy gomb (opcióval rendelkező mező, pipa stb.), Képek is beilleszthetők a felhasználói felületbe. A standard könyvtárban szinte minden objektum rendelkezik grafikus felülettel; láthatja az összes lehetőséget és láthatja, hogy ezek a szkriptek hogyan íródnak. Az Ellenőrzés gomb mellett a parancsfájlnak van egy Nézet gombja is. Ha rákattint, gyorsan láthatja, mi történik.

nagyítás
nagyítás

Az objektumot elmentheti és megtekintheti a Modellnézet beállításai párbeszédpanelen (30. ábra). Itt egyszerre módosíthatjuk a jelölés típusát a projekt összes zónájára (ezzel a jelölővel), de külön-külön a különféle típusokra.

nagyítás
nagyítás

Most a zónajelző objektumban meg kell kérdeznie az objektumot e két paraméter értékéről. A Fő szkriptben (amelyet először az objektum olvas el, tehát minden olyan számítást és értékdefiníciót, amelyet több szkriptben kell használni, jobb ide írni) két sort írok: így1 "," ShowFloorType ", ShowFloorType) siker2 = KÖNYVTÁRSASÁG (" LibraryGlobals20 "," mt ", mt)" siker "1 lesz, ha a kérés sikeres; különben 0 lesz.

Ez arra használható, hogy figyelmeztető üzenetet írjon egy zónajelző helyett, hogy a LibraryGlobals20 objektum nincs betöltve a könyvtárba.

Ezután az objektum a szokásos módon működik, két új értéket használva: ha a jelölés típusa ilyen és olyan, akkor írjon ilyeneket és így tovább. Ebben a cikkben a GDL képességeinek csak egy kis részét ismertettem. Segítségével nagyon egyszerű tervezési elemeket és nagyon összetett tárgyakat egyaránt létrehozhat.

Például kicsi és egyszerű SIP panel házakkal foglalkozik. Van egy konkrét listája a projekt megváltoztatásáról: - a ház hossza és szélessége 2,4 és 24 méter között lehet, 1,2 m-es lépéssel; - ha a szélesség meghaladja a 6 m-t, akkor középen másik falnak kell lennie; - két lehetőség a padló magasságára a panel méretétől függően; - emeletek száma - egy vagy két emelet; - az ablakok egy bizonyos méretű panelek bizonyos helyein lehetnek; - homlokzatok befejezése három változatban; - tetőfedés három változatban; - több szabványméretű falvastagság és így tovább.

Az objektum összes paraméterét beállíthatja úgy, hogy hozzáadja a panel négyzetméterenkénti költségét, a tetőt, a dekorációt stb. Az objektum 2D és 3D szkriptjeiben pedig teljesen meg kell építeni és rajzolni kell ezt a házat statikus méretek helyett változókkal. Annak érdekében, hogy a felhasználó ne keveredjen össze a hosszú paraméterlistában, több oldalra grafikus felületet írhat képekkel és diagramokkal. A Fő szkriptben számítsa ki az összes kötetet és jelenítse meg a költségeket. Lehetőség van egy tábla megjelenítésére a panelek elrendezésével 2D szkriptben a terv mellett. Egy ilyen objektum megírása sok időt fog igénybe venni, részletes műszaki specifikációt kell készítenie, rendelkeznie kell az összes árnyalattal, de akkor nemcsak egy tárgyat, hanem szinte egy programot kap, amelyben a paraméterek kiválasztásával Ön kaphat egy vázlattervet, kiszámítva az anyagokat és a költségeket az ügyfél számára. Remélhetőleg ez az áttekintés felkeltette valaki érdeklődését a GDL képességei iránt. Történetem élénk vágyával kezdődött, hogy néhány apró részletet megváltoztassak valamilyen szabványos zónajelzőben, és minél többet olvasom az útmutatót, annál inkább kiderül ennek az eszköznek a lehetősége, véleményem szerint, nagyon hasznos egy építész számára. Az alábbi linkről letöltheti az összes objektumot, amelyet ebben a cikkben példának tekintettek: Példák letöltése Jegyzet. Az ARCHICAD 20-at használták ezeknek az objektumoknak a megírásához, így a korábbi verziókban nem fognak megnyílni. A GRAPHISOFT-ról GRAPHISOFT társaság® forradalmasította a BIM-et 1984-ben az ARCHICAD segítségével® Az iparág első BIM megoldása a CAD ipar építészei számára. A GRAPHISOFT továbbra is vezető szerepet tölt be az építészeti szoftverek piacán olyan innovatív termékekkel, mint a BIMcloud ™, a világ első valós idejű együttműködő BIM tervezési megoldása, az EcoDesigner ™, a világ első teljesen integrált energia modellezési és energiahatékonysági értékelése, valamint a BIMx® A vezető mobilalkalmazás a BIM modellek bemutatásához és bemutatásához. 2007 óta a GRAPHISOFT a Nemetschek Csoport tagja.

Ajánlott: