ARCHICAD: ODKRYWANIE GDL: Programowanie Pod Kątem Unikalnych Wyzwań Architektów

ARCHICAD: ODKRYWANIE GDL: Programowanie Pod Kątem Unikalnych Wyzwań Architektów
ARCHICAD: ODKRYWANIE GDL: Programowanie Pod Kątem Unikalnych Wyzwań Architektów

Wideo: ARCHICAD: ODKRYWANIE GDL: Programowanie Pod Kątem Unikalnych Wyzwań Architektów

Wideo: ARCHICAD: ODKRYWANIE GDL: Programowanie Pod Kątem Unikalnych Wyzwań Architektów
Wideo: Zapowiedź kursu - Archicad - Sposoby publikacji projektu - Arkusze, szablony, wydruki | CGwisdom.pl 2024, Kwiecień
Anonim

Ten materiał ekspercki stanowi kontynuację serii artykułów „ARCHICAD: odkrywanie na nowo”, która rozpoczęła się w grudniu 2016 r. Artykułem Vladimira Savitsky'ego „Tworzenie struktur i wydobywanie rysunków roboczych z modelu”, a następnie kontynuowała publikacje Swietłany Krawczenko „ARCHICAD: Odkrywanie na nowo. Wizualizacja - nowe możliwości dla architekta "i Aleksandra Aniszczenko" PRACA ZESPOŁOWA: efektywna praca zespołowa krok po kroku ". Cykl ma na celu pomóc użytkownikom uwolnić pełny potencjał ARCHICADa®… Poprosiliśmy architektów o podzielenie się osobistymi doświadczeniami związanymi z używaniem programu przy użyciu niestandardowych podejść, mało zbadanych funkcji i nowych funkcji, o których wielu użytkowników może nawet nie wiedzieć. Jako twórcy aplikacji ARCHICAD jesteśmy przekonani, że tylko dogłębna znajomość produktu może ujawnić jego pełną wartość i mieć decydujący wpływ na wyniki, szybkość i jakość pracy projektanta. Czy wolisz też „nieprzeczytane ścieżki”? Masz doświadczenie w stosowaniu niestandardowych podejść w pracy z ARCHICADem, regularnie korzystasz z niezbyt znanych funkcji aplikacji? Będzie nam miło zaprosić nowych autorów do współpracy: [email protected]. Swietłana Krawczenko, praktykująca architekt, mówi:

powiększanie
powiększanie

Z pewnością wielu z Was słyszało o GDL w ARCHICADzie, ale nie każdy nadal wie, jak go wykorzystać w pracy. Biorąc pod uwagę niesamowitą przydatność tej funkcji, a także wiele pytań po moim pierwszym webinarium na ten temat, postanowiłem bardziej szczegółowo omówić, w jaki sposób nawet najmniejsza wiedza na jej temat może bardzo pomóc w codziennej pracy architekt.

Zacznijmy od podstaw GDL (Geometric Description Language) to język programowania podobny do języka BASIC, zaprojektowany do pracy w środowisku ARCHICAD. Opisuje bryły 3D (takie jak drzwi, okna, meble) i symbole 2D w oknie rzutu. Te obiekty nazywane są elementami bibliotecznymi.

Dla tych, którzy przynajmniej trochę zaznajomili się z programowaniem, opanowanie tego języka nie będzie trudne. Jednak przy wystarczającym pragnieniu badanie GDL będzie w zasięgu osoby, która jest daleko od tego środowiska. Każdy architekt studiował w swoim czasie geometrię i geometrię opisową, ma doskonałe myślenie wolumetryczne, a to już połowa sukcesu. Nie musisz od razu próbować pisać skomplikowanych obiektów, warto zacząć od podstawowych kształtów i form geometrycznych; wiele informacji można uzyskać, analizując skrypty innych elementów biblioteki. Cóż, głównym źródłem informacji jest podręcznik GDL, do którego można uzyskać dostęp poprzez menu Pomoc w samym ARCHICADzie. Dlaczego więc architekt może skorzystać na znajomości GDL? Na przykład, w przeciwieństwie do Grasshopper, za pomocą którego można tworzyć złożone struktury, GDL jest po prostu niezbędny do pisania różnych znaczników i objaśnień, a także do tworzenia specjalnych komponentów dla innych funkcji biblioteki lub narzędzi. Jednym z moich pierwszych zastosowań GDL w mojej pracy było stworzenie specjalnego skrzydła drzwiowego panelowego, które po zmianie rozmiaru nie skalowało się we wszystkich kierunkach, a jedynie zmieniało wymiary panelu. Grubość kręconej ramy i szerokość szelek pozostały niezmienione. Ponadto architekci bardzo często chcą dodać kilka prostych funkcji do istniejących obiektów standardowych bibliotek - i to jest główny powód, dla którego zaczynają zagłębiać się w GDL. Oczywiście znajomość GDL nie jest niezbędna, a wiele z tych zadań można wykonać za pomocą standardowych narzędzi. Na przykład, możesz zbudować wypełnienia płytami i zapisać je jako specjalne skrzydło drzwi. Jeśli masz tylko kilka takich niestandardowych drzwi, będzie to jeszcze szybsze. Ale jeśli w twoim projekcie jest wiele podobnych drzwi o różnych rozmiarach i ich szerokość zmienia się w trakcie pracy, to napisanie specjalnego panelu w GDL znacznie przyspieszy i uprości pracę. Opis geometryczny oznacza, że każdy z możliwych kształtów można zapisać w tekście zgodnie z wymiarami lub współrzędnymi. W przypadku skryptu 3D istnieje blok poleceń dla podstawowych kształtów przestrzennych, takich jak: - BLOK i CEGŁA - równoległościan zbudowany w trzech wymiarach z początkiem w punkcie 0 układu współrzędnych BLOK a, b, c CEGŁA a, b, c

powiększanie
powiększanie

- CYLIND - walec wzdłuż osi Z o wysokości h i promieniu r CYLIND h, r

- Kula - sfera wyśrodkowana na początku i promieniu r KULA r

powiększanie
powiększanie

W podobny sposób opisano elipsę i stożek. Kolejny blok figur jest już bardziej skomplikowany - to różne graniastosłupy. Opisuje je zestaw współrzędnych punktów. Najprostszy pryzmat jest określany przez liczbę punktów (n), wysokość (h) i zestawienie współrzędnych wszystkich punktów w kolejności. PRYZM n, h, x1, y1, … xn, yn

Istnieje wiele odmian pryzmatów. Następny widok, PRYZMAT_, pozwala na wskazanie kodów stanu do współrzędnych punktów, które określają widoczność ścian i krawędzi, a także pozwala na tworzenie zakrzywionych pryzmatów i pryzmatów z otworami (patrz rozdział Kody stanu w podręczniku). Inny rodzaj, BPRISM_, tworzy pryzmat skręcony wokół osi Y. FPRISM_ buduje graniastosłup z fazą lub zaokrągleniem na górnej stronie.

powiększanie
powiększanie

Istnieje kilka poleceń, które opisują bardziej złożone kształty oparte na poliliniach: WYCIĄGNIĘCIE, PIRAMIDA, OBROT, REGULOWANE, ZAMIATANIE, RURKA, COONS, MASA. Ich opis wraz z przykładami można znaleźć w odnośniku. W przypadku skryptu 2D kształty opisywane są innymi poleceniami: linia, okrąg, prostokąt, polilinia, splajn. Ale możesz także zarejestrować polecenie tworzenia projekcji ze skryptu 3D.

Tworzenie kształtów 2D lub 3D to tylko część funkcjonalności GDL. Jeśli potrzebujesz tylko stołu, łatwiej go zbudować za pomocą narzędzi samego ARCHICADa. Obiekt jest zapisywany w przypadku, gdy wymagany jest jakiś rodzaj parametrycyzmu: możliwość doboru różnych typów nóg do stołu, ilości nóg, zmiany rozmiaru stołu przy zachowaniu pozostałych wymiarów, obliczenia tarcicy do jej wykonania, wagi i kosztu. Obiekt może w ogóle nie zawierać geometrii, a jedynie wykonywać obliczenia. W tym celu wykorzystywane są również klauzule sterujące (ang. Control Operators), takie jak pętle, instrukcje warunkowe, odwołujące się do określonego miejsca w kodzie (podprogramie). Z cyklami i warunkami najlepiej jest zapoznać się na samym początku - są one często używane. Tak więc wszystkie poniższe przykłady zawierają instrukcje warunkowe. PRZYKŁAD 1 - obrót obiektu Projektanci często chcą, aby obiekt był obracalny. Korzystając z tego prostego przykładu, przyjrzymy się strukturze elementu biblioteki, a także głównym oknom Edytora obiektów GDL. Aby otworzyć dowolny obiekt znajdujący się w przestrzeni projektu (jeśli programista nie umieścił na nim hasła), musisz go zaznaczyć i nacisnąć kombinację klawiszy Ctrl + Shift + O. Innym sposobem jest użycie menu Plik> Biblioteki i obiekty> Otwórz obiekt. Jeśli w tym momencie żaden obiekt nie został wybrany, otworzy się okno wyboru obiektu. Dodajmy parametry obrotu np. Do kratki żaluzjowej (rys. 1).

powiększanie
powiększanie

Tak więc otworzyliśmy okno GDL Object Editor (Rys. 2). W lewym górnym rogu znajduje się okno do przeglądania różnych widoków, jak w zwykłym oknie parametrów obiektu; nawet po lewej stronie znajdują się przyciski wyboru widoku - rzutu, elewacji, okna 3D i podglądu. Poniżej znajdują się przyciski do otwierania tabel parametrów, list danych i skryptów. Skrypty można otwierać na dwa sposoby: kliknij przycisk z nazwą skryptu - otwórz w tym samym oknie, kliknij przycisk po prawej stronie z ikoną okna - skrypt otworzy się w osobnym oknie. Może to być przydatne, aby wyświetlić różne skrypty w tym samym czasie (Rysunek 3).

powiększanie
powiększanie

W górnej części okna każdego skryptu znajduje się bardzo potrzebny przycisk Sprawdź: po jego kliknięciu edytor zapyta, czy w skrypcie są jakieś błędy. Komunikat będzie zawierał przyczynę błędu i numer wiersza, w którym błąd został znaleziony. W sekcji „Szczegóły” możesz wybrać podtyp obiektu: niestandardowe skrzydło drzwi, klamka, rama ściany osłonowej i tak dalej. Tak więc specjalne obiekty (długopis, płótno, ramka) pojawią się w odpowiednim oknie do wyboru tych elementów. Po wybraniu typu 2D obiekt nie będzie miał okien dla geometrii 3D. Tam możesz również wybrać typy dla różnych znaczników - węzeł, sekcje, podpisy linii odniesienia, strefy; pojawią się również w odpowiednich narzędziach. W tej sekcji możesz wypełnić opis obiektu i wybrać hasło. Dalej - „Parametry”, gdzie wszystkie dane, które są używane w tym obiekcie i które można zmienić podczas pracy nad projektem, prezentowane są w formie tabeli. Tutaj musimy dodać parametry dla zakrętów, których użyjemy później.

powiększanie
powiększanie

Wciśnij przycisk Nowy znajdujący się nad tabelą (Rys. 4). Pojawi się nowy wiersz, w którym należy wypełnić kolumny. Pierwsza z tych kolumn to Zmienna. Tutaj piszemy nazwę zmiennej, która będzie używana w skryptach, po łacinie i bez spacji. Trzeba ją nazwać tak, aby była łatwa do zapamiętania, a jednocześnie łatwo była zrozumieć, za co odpowiada ta zmienna. W naszym przypadku musimy stworzyć dwie zmienne dla wartości kątów obrotu wzdłuż osi X i Y (obiekt i tak można obracać wokół osi Z w planie). Postanowiłem nazwać je angle_x i angle_y. W następnej kolumnie musisz wybrać typ danych. Wybory przedstawiono w tabeli 1.

powiększanie
powiększanie

Dwa ostatnie typy nie są wykorzystywane do budowy obiektu, ale są potrzebne dla większej czytelności i uporządkowania listy w oknie parametrów obiektu. Potrzebujemy rogu - to druga ikona w tabeli. Trzecia kolumna to nazwa. Tutaj możesz napisać bez reguł w dowolnym języku, co dokładnie chcemy zobaczyć później w oknie parametrów obiektu. A ostatnia kolumna to Wartość. Teraz możesz zostawić tutaj 0: ta wartość zmienia się w dowolnym momencie zarówno w skrypcie, jak iw parametrach samego obiektu. Rysunek 2 pokazuje, jak dwie nowe opcje wyglądają w oknie GDL Object Editor. 5. Użyj strzałek na początku linii, aby przenieść linię w dogodne miejsce.

powiększanie
powiększanie

Następnie musisz zapisać obiekt pod nową nazwą, ponieważ standardowa biblioteka jest zakodowana na stałe w kontenerze i nie możesz nadpisywać w niej obiektów. Okno Parametry obiektu będzie teraz wyglądać tak (Rys. 6).

powiększanie
powiększanie

Pojawiły się dwa nowe parametry, których wartość można w każdej chwili zmienić. Ale teraz nic się nie stanie, ponieważ żadne polecenia nie zostały jeszcze napisane przy ich użyciu. Teraz musisz otworzyć okno skryptu 3D. Oto pełny opis, jak zbudować model 3D na podstawie podanych parametrów. Ponadto w obiekcie można zagnieżdżać różne makra. Przed wszystkimi konstrukcjami należy obrócić układ współrzędnych, w którym zostanie zbudowany obiekt. Tutaj ważne jest, aby zrozumieć następującą logikę: wszystkie obroty, ruchy i skalowanie zachodzą inaczej niż podczas pracy w samym ARCHICADzie. Nie bierzemy elementu i nie obracamy go, ale obracamy globalny układ współrzędnych (po zmianie staje się lokalny) z przodu budowanie obiektu. Przesuń (polecenie DODAJ), Obróć (ROT), Skala (MUL) to polecenia przekształcania układu współrzędnych. Dalsze transformacje można usuwać w skrypcie pojedynczo, kilka na raz lub usunąć wszystkie naraz. W podręczniku opisano to wszystko wystarczająco szczegółowo i na przykładach. Przykład przesunięcia układu współrzędnych w przestrzeni 3D wzdłuż trzech osi jednocześnie pokazano na rys. 7. DODAJ a, b, c

powiększanie
powiększanie

Tak więc przed wszystkimi konstrukcjami obracamy układ współrzędnych, najpierw wzdłuż jednej, a następnie wzdłuż drugiej osi. Obrót wzdłuż osi X jest wykonywany za pomocą polecenia ROTX alphax, gdzie alphax to kąt obrotu w kierunku przeciwnym do ruchu wskazówek zegara; zamiast alfabetu musisz wpisać wcześniej utworzoną zmienną. Obrót wzdłuż osi Y odbywa się w ten sam sposób (rys. 8).

powiększanie
powiększanie

Teraz możesz ustawić różne kąty obrotu - a zmiany w modelu 3D będą miały miejsce w rzutni znajdującej się w lewym górnym rogu (rys. 9).

powiększanie
powiększanie

Teraz możesz ustawić różne kąty obrotu - a zmiany w modelu 3D będą miały miejsce w rzutni znajdującej się w lewym górnym rogu (rys. 9). Ale w 2D nic się jeszcze nie dzieje. W skrypcie 2D obiekt budowany jest z oddzielnych linii i polilinii, więc rysowanie obiektu na planie jest wielokrotnie szybsze. W jednym miejscu jest to niezauważalne, ale jeśli w projekcie są setki takich siatek, hamowanie będzie znaczące. Możesz obliczyć współrzędne punktów tych linii i wykreślić je tak, jak wyglądałyby w rzucie obróconego obiektu, ale nie jest to bardzo proste i niezbyt szybkie. W tej kratce proponuję następujące rozwiązanie: jeśli kąty w X lub Y nie są równe zeru, to obiekt w skrypcie 2D, czyli dla planu, zostanie wyrenderowany jako rzut modelu 3D, oraz inaczej w stary sposób. Rzutowanie modelu dla skryptu 2D jest budowane za pomocą polecenia PROJECT2 kod_projekcji, kąt, metoda. Możesz przeczytać, co oznacza kod_projekcji, kąt, metoda w podręczniku, ale zapoznamy się z ważniejszym poleceniem z sekcji instrukcji sterujących IF - THEN - ELSE - ENDIF. Są to instrukcje warunkowe, które pomogą Ci zbudować klauzulę warunkową z poprzedniego akapitu. Na rys. 10 Podkreśliłem dodane polecenia w skrypcie 2D i dodałem „tłumaczenie” na czerwono po prawej stronie.

powiększanie
powiększanie

Teraz wystarczy zapisać obiekt i można z niego korzystać (rys. 11). Zaletą tej metody nad konwersją do morph jest to, że obiekt pozostaje parametryczny, można go odczytać w specyfikacji, w niej można zmienić wymiary listew, rozmiar ramy i wszystko inne, co było w oryginalnym obiekcie.

powiększanie
powiększanie

Tak więc szczegółowo, korzystając z tego przykładu, zbadaliśmy główne okna i skrypty Edytora obiektów GDL. Jeśli obiekt, który wybrałeś do obrotu ma parametry nie w postaci listy, jak w tej kratce, ale w postaci zdjęć i diagramów, oznacza to, że deweloper napisał również interfejs graficzny. Najczęściej standardowa lista z parametrami jest ukryta, jak na ryc. 12: Na liście rozwijanej stron parametrów nie ma sekcji „Wszystkie parametry”.

powiększanie
powiększanie

W takim przypadku musisz przejść do skryptu parametrów i znaleźć polecenie, które ukrywa wszystkie parametry (rys. 13). Ten skrypt opisuje wszystkie akcje, które mają wpływ na parametry: - oznaczenie opcji lub zakresów możliwych wartości (WARTOŚCI); - wszelkie obliczenia, których wynik jest przypisany do parametru (PARAMETRY); - ukrywanie lub blokowanie parametrów (HIDEPARAMETER, LOCK).

powiększanie
powiększanie

Wiersz HIDEPARAMETERS ALL można po prostu usunąć lub wstawić znak „!” Na początku wiersza uczynić go nieczytelnym (zgodnie ze składnią GDL wiersz zaczynający się od wykrzyknika jest uważany za komentarz. Dalej napiszę opisy i tłumaczenia na zrzutach ekranu po znaku „!”). Następnie na liście stron parametrów pojawi się wiersz „Wszystkie parametry”, a po jego wybraniu zobaczysz standardową listę z parametrami, wśród których pojawią się nowe wiersze do rotacji. PRZYKŁAD 2 - tekst na symbolu Biorę następny przykład z obecnego projektu. Podczas pracy z planem wielomieszkaniowego budynku mieszkalnego należało umieścić literę „K” na jednostkach zewnętrznych klimatyzatorów - i tak, aby zawsze znajdowała się ona w pionie. Oczywiście, list mógł być po prostu dodany na górze z tekstem lub zewnętrznym napisem-tekstem, ale wtedy, gdy włączono klimatyzator, tekst również musiałby zostać przesunięty. Na początek dodałem cztery nowe parametry (Rysunek 14):

powiększanie
powiększanie

1. Pokaż tekst: typ parametru to wartość logiczna, co oznacza dwie możliwe wartości: 0 (nie) i 1 (tak). W ten sposób tekst można włączyć lub wyłączyć.

2. Tekst specjalny: typ parametru - tekst. Umożliwia wpisanie dowolnego tekstu do symbolu (zamierzam użyć jednej litery, aby pasowała do prostokąta bloku klimatyzatora).

3. Czcionka: typ - tekst. Zwróć uwagę, że niektóre typy zapisu tej zmiennej pozwalają na wybranie wartości czcionek w kolumnie z listy zainstalowanych na komputerze. „Fonttype” wywołuje tę listę automatycznie, ale jeśli napiszę „typefont” lub po prostu „font”, to muszę ręcznie wpisać nazwę czcionki. Zauważyłem ten moment przypadkiem w jednym ze standardowych obiektów.

4. Pisak tekstowy: typ - długopis. Cóż, wszystko jest tutaj jasne.

Spójrzmy teraz na ikony, które kliknąłem na początku linii. W pierwszej linii jest wciśnięta ikona

Image
Image

co oznacza pogrubienie - pogrubienie. Oznacza to, że ta linia w oknie parametrów obiektu będzie pogrubiona. Pozostałe trzy mają piktogram

Image
Image

… Oznacza to, że te linie zostaną zagnieżdżone na liście rozwijanej pod pierwszą linią. Na rys. 15 to zrzut ekranu ilustrujący, jak to wygląda w parametrach obiektu. Na początek dodałem cztery nowe parametry (Rysunek 15):

Рис. 15. Окно Параметров Объекта
Рис. 15. Окно Параметров Объекта
powiększanie
powiększanie

A na rys. 16 - co dodałem w skrypcie 2D (tradycyjnie z tłumaczeniem i komentarzami).

powiększanie
powiększanie

Figa. 16. Dodane linie w skrypcie 2D Na następnym zrzucie ekranu (Rys. 17), dla większej przejrzystości, zabarwiłem różne typy słów / poleceń / zmiennych.

powiększanie
powiększanie

Obiekt jest gotowy (rys. 18).

powiększanie
powiększanie

A gdybym nie napisał linii z obrotem i skalowaniem, to obiekt wyglądałby jak na rys. 19.

powiększanie
powiększanie

PRZYKŁAD 3 - uszczegółowienie Aby uprościć pracę nad projektem, podczas pisania obiektu można dodać parametr tekstowy z możliwością wyboru kilku opcji uszczegółowienia (proste, średnie, szczegółowe). A w skrypcie 3D, budując różne małe części, dodaj warunek typu: jeśli poziom szczegółowości = „szczegółowy”, to (opis części budynku) koniec warunku Zmienne globalne zasługują na szczególną uwagę. W podręczniku mają długość 40 stron i są pogrupowane tematycznie w celu ułatwienia wyszukiwania. W poprzednim przykładzie użyłem w projekcie pewnych danych dotyczących orientacji obiektu. Ta sama sekcja podręcznika zawiera zmienne globalne dla współrzędnych położenia obiektu - służą one do tworzenia obiektów, takich jak linia odniesienia ze współrzędnymi lub rzędnymi na przekroju / elewacji. Bardzo często stosowana jest GLOB_SCALE - skala rysunku (zależna od widoku według bieżącego okna), w skali 1: 100 równa się 100, w skali 1:20 równa 20. jest najczęściej używany do konwersji rozmiaru czcionki na mierniki modelowe lub odwrotnie. Ten parametr może być również używany do "zawieszania" opcji wyświetlania na planie. Na przykład dla ławki napisz w skrypcie 2D:

JEŚLI GLOB_SCALE <100 TO ! jeśli skala jest większa niż 1: 100, to
PROJEKT2 3, 270, 2 ! zbudować rzut z modelu 3D
JESZCZE ! Inaczej
ENDIF ! koniec warunku

Czyli na planie generalnym w skali 1: 500 ławki zostaną wyświetlone jako prostokąty, a na fragmencie o większej skali zostanie narysowany szczegółowy rzut. Podobna technika, ale dla modelu trójwymiarowego, jest stosowana w drzewach standardowych - jeśli zaznaczysz pole wyboru Automatyczny typ korony. W pewnej odległości od aparatu typ korony zmienia się ze szczegółowego na prosty iz prostego na elipsę. To prawda, że aby skrypty obiektu zostały ponownie odczytane, trzeba coś z nimi zrobić - np. Po zmianie perspektywy, podświetleniu wszystkich drzewek, otwarciu okna parametrów obiektu i bez zmian wystarczy kliknąć OK, lub kliknij i usuń zaznaczenie pola wyboru wymiany okładki.

Pokażę to na przykładzie aproksymacji kuli. Oto, co napisałem w skrypcie 3D: 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_By ^ 2 + discam_z <^ 2 + discam_z = 20 to res = 50 jeśli discam20 to res = 20 jeśli discam30 to res = 10 jeśli discam> 40 to res = 5 resol res sphere 1 W skrypcie użyłem Global Variables GLOB_EYEPOS_X, GLOB_EYEPOS_Y, GLOB_EYEPOS_Z to współrzędne lokalizacji kamera (oczy) w oknie 3D projektu i SYMB_POS_X, SYMB_POS_Y, SYMB_POS_Z to współrzędne położenia obiektu w przestrzeni; abs - moduł numeryczny (usuwa "-", jeśli istnieje); sqr - pierwiastek kwadratowy; ^ 2 - podniesienie liczby do kwadratu.

W oknie 3D, przy różnych odległościach od kamery, sfera zostanie narysowana z różnymi przybliżeniami. Dla jasności włączyłem tryb szkieletowy (rys. 20).

powiększanie
powiększanie

Poprzez zmienne globalne obiekt może otrzymywać: - dane o położeniu projektu (północ, szerokość, długość geograficzna, wysokość), ustawiane w odpowiednim oknie dialogowym; - bieżące piętro i własne piętro; - rodzaj aktualnego widoku (na przykład w zworkach GOST jest stosowany warunek: jeżeli typ widoku jest listą, to zbuduj widok skoczka w sekcji z liniami odniesienia); w przykładzie z kratą można dodać następujący warunek: jeśli typ widoku jest listą, to nie obracaj układu współrzędnych, aby w każdym przypadku na liście krat był widok od przodu; - niepełne wyświetlanie konstrukcji (możesz sprawić, że obiekt nie będzie pokazywał niektórych części, jeśli wybrany jest tylko rdzeń).

Możesz przeciągnąć dane ściany do obiektu okna lub drzwi. Objaśnienia mogą uzyskać wiele różnych informacji o elemencie, z którym są powiązane, na przykład pole wyboru z warstwami struktury wielowarstwowej lub linia odniesienia z objętością elementu. I tak dalej, 40 stron różnych i bardzo przydatnych zmiennych globalnych. PRZYKŁAD 4 - znacznik strefy Przyjrzyjmy się, jak tworzony jest niestandardowy znacznik strefy. Jeśli utworzysz nowy obiekt i wybierzesz dla niego podtyp Passport strefy w sekcji Szczegóły, to w sekcji Parametry wszystkie parametry, które narzędzie Strefa przekazuje do znacznika, są wyświetlane na niebiesko (Rys. 21).

Рис. 21. Параметры объекта подтипа Паспорт Зоны
Рис. 21. Параметры объекта подтипа Паспорт Зоны
powiększanie
powiększanie

Za pomocą polecenia TEKST2 dowolną z tych zmiennych można zapisać w skrypcie 2D - w ten sposób otrzymamy znacznik składający się tylko z tekstu (Rys. 22).

powiększanie
powiększanie

Używając ogólnych parametrów znacznika strefy, można zdefiniować styl tekstu i wysokość linii w zależności od wysokości czcionki: DEFINE STYLE „ROOM” AC_TextFont_1, ROOM_LSIZE, 5.0 STYLE „ROOM” wiersz = ROOM_LSIZE / 1000 * GLOB_SCALE * 1.5 tekst2 0, row, NUMER_POKOJU text2 0, 0, NAZWA POKOJU text2 0, -row, ROOM_AREA Można utworzyć nowy parametr do wyboru typu znacznika (Rys. 23), ustawić dla niego opcje w skrypcie Parametry (Rys. 24) oraz Skrypt 2D zapisuje różne typy renderowania znaczników dla różnych typów.

powiększanie
powiększanie
powiększanie
powiększanie

Skrypt 2D: jeśli mt = "znacznik z numerem" to tekst2 0, 0, ROOM_NUMBER CIRCLE2 0,0, koniec wiersza jeśli mt = "liczba i obszar" to tekst2 0, wiersz / 2, NUMER_POKOJU tekst2 0, -row / 2, AREA_TEXT endif if mt = "title and area" then text2 0, row / 2, ROOM_NAME text2 0, -row / 2, AREA_TEXT endif if mt = "number, title and area" then text2 0, row, ROOM_NUMBER text2 0, 0, ROOM_NAME text2 0, -row, AREA_TEXT endif if mt = "area only" then text2 0, 0, AREA_TEXT endif W tym skrypcie nie użyłem predefiniowanej zmiennej powierzchni jako obszaru, ale przekonwertowałem obszar na tekst i dodałem do to jednostki: area = str (ROOM_AREA, 4, 2)! konwersja liczby na tekst z 2 miejscami po przecinku AREA_TEXT = obszar + „mkw.” ! dodanie do wartości ciągu liter „mkw.” Możesz uzupełnić linie w znaczniku liniami oddzielającymi niektóre linie. Aby znaleźć długość łańcucha, użyj polecenia STW. Dodajmy na początku skryptu: tl1 = stw (ROOM_NUMBER) / 1000 * GLOB_SCALE tl2 = stw (ROOM_NAME) / 1000 * GLOB_SCALE tl3 = stw (AREA_TEXT) / 1000 * GLOB_SCALE if mt = "number and area" to tl = MAX (tl1, tl3) jeśli mt = „numer, tytuł i obszar”, to tl = MAX (tl1, tl2), jeśli mt = „tytuł i obszar”, to tl = MAX (tl2, tl3), jeśli mt = „tylko obszar”, to tl = tl3 ORAZ w wariantach znaczników dodaj linie za pomocą polecenia LINE2 (Rys. 25).

Рис. 25. 2D-скрипт
Рис. 25. 2D-скрипт
powiększanie
powiększanie

Jeśli numer strefy składa się z kilku cyfr, dla znacznika można utworzyć parametr dla promienia okręgu niezależnie od wysokości czcionki lub zamiast koła opisać kształt elipsy o długości równej długości linii numeru strefy, którą znaleźliśmy wcześniej: POLY2_ 5, 1 + 2 + 4, -tl1 / 2, row, 1, tl1 / 2, row, 1, tl1 / 2, -row, 1001, -tl1 / 2, -row, 1, -tl1 / 2, row, 1001 Możesz dodać nowy parametr dla typu podłogi (FLOOR_TYPE) i parametr, który pozwala ci je ukryć lub pokazać (ShowFloorType), aw skrypcie 2D dodać trójkąt z polilinia i tekst z typem podłogi: jeśli ShowFloorType to ADD2 0, wiersz * 3 POLY2_ 4, 1, -row * 1.4, -row * 0.8, 1, row * 2.8,60,201, row * 1.4, -row * 0.8, 1, 0,0,700 text2 0,0, FLOOR_TYPE endif Dla typu podłogi pożądane jest dodanie osobnego parametru dla pisaka oraz punktów do graficznej edycji położenia znacznika podłogi. Szczegółowo opisałem, jak dodać punkty edycji grafiki w moim webinarium, a korzystając z linku na końcu artykułu możesz pobrać obiekty i zobaczyć, jak jest to realizowane w tym konkretnym przypadku.

Na koniec rozważmy jeszcze jeden bardzo ważny podtyp obiektu, który otwiera ogromne możliwości - Globalne Parametry Biblioteki (ryc. 26).

powiększanie
powiększanie

Obiekt z tym podtypem niczego nie buduje ani nie rysuje, definiuje parametry w widokach modelu. W ten sposób możesz pobrać te parametry, które chciałbyś widzieć jako wspólne dla obiektu, ale jednocześnie możesz ustawić różne wartości dla różnych typów.

Pokażę to na przykładzie znacznika strefy. Natknąłem się na projekty, w których było kilka zestawów stref na różnych warstwach dla różnych widoków. Jeśli istnieje potrzeba różnych markerów, najlepszym rozwiązaniem są parametry globalne biblioteki.

Posiadam marker, w którym można ustawić rodzaj podłogi w trójkącie oraz zmienić rodzaj oznaczenia (rys. 27). Te dwa parametry są przenoszone do osobnego pliku podtypu Global Library Parameters (Rys. 28).

powiększanie
powiększanie
powiększanie
powiększanie

Aby parametry te były wyświetlane w oknie dialogowym Parametry widoku modelu, należy je zarejestrować w skrypcie interfejsu obiektu (Rys. 29). Nie będę się szczegółowo rozwodził nad poleceniami specjalnymi dla tego skryptu, są one opisane wystarczająco szczegółowo i wraz z przykładami w podręczniku. Powiem tylko, że tutaj opiszemy, gdzie będzie znajdować się ta lub inna etykieta lub przycisk (pole z wyborem opcji, znacznik wyboru itp.), Obrazy można również wstawiać do interfejsu użytkownika. W bibliotece standardowej prawie każdy obiekt ma interfejs graficzny; możesz zobaczyć wszystkie możliwości i zobaczyć, jak te skrypty są napisane. Oprócz przycisku Sprawdź skrypt ma również przycisk Wyświetl. Klikając na nią, możesz szybko zobaczyć, co się stanie.

powiększanie
powiększanie

Możesz zapisać obiekt i obejrzeć go w oknie dialogowym Opcje widoku modelu (Rysunek 30). Tutaj możemy od razu zmienić rodzaj oznaczenia dla wszystkich stref w projekcie (tym znacznikiem), ale osobno dla różnych typów.

powiększanie
powiększanie

Teraz w obiekcie znacznika strefy musisz odpytać obiekt o wartości tych dwóch parametrów. W skrypcie głównym (który jest najpierw odczytywany przez obiekt, a więc wszystkie obliczenia i definicje wartości, które powinny być użyte w kilku skryptach, lepiej napisać tutaj) piszę dwa wiersze w ten sposób: success1 = LIBRARYGLOBAL ("LibraryGlobals20 "," ShowFloorType ", ShowFloorType) success2 = LIBRARYGLOBAL (" LibraryGlobals20 "," mt ", mt)" sukces "będzie równy 1, jeśli żądanie się powiedzie; w przeciwnym razie będzie to 0.

Można to wykorzystać do napisania komunikatu ostrzegawczego zamiast znacznika strefy, że obiekt LibraryGlobals20 nie został załadowany do biblioteki.

Wtedy obiekt działa normalnie, używając dwóch nowych wartości: jeśli typ oznaczenia jest taki a taki, to napisz taki a taki i tak dalej. W tym artykule omówiłem tylko niewielką część możliwości GDL. Z jego pomocą można tworzyć zarówno bardzo proste elementy konstrukcyjne, jak i bardzo złożone obiekty.

Na przykład masz do czynienia z małymi i prostymi domami z panelami SIP. Masz określoną listę opcji zmiany projektu: - długość i szerokość domu może wynosić od 2,4 do 24 metrów z krokiem 1,2 m; - jeśli szerokość przekracza 6 m, pośrodku powinna znajdować się kolejna ściana; - dwie opcje wysokości podłogi w zależności od rozmiaru panelu; - liczba kondygnacji - jedna lub dwie kondygnacje; - okna mogą znajdować się w określonych miejscach paneli o określonej wielkości; - wykończenie elewacji w trzech wersjach; - zadaszenie w trzech wersjach; - grubość ścianki w kilku standardowych rozmiarach i tak dalej.

Możesz ustawić wszystkie te parametry dla obiektu, dodając koszt za metr kwadratowy panelu, dachu, dekoracji itp. A w skryptach 2D i 3D obiektu całkowicie zbuduj i narysuj ten dom ze zmiennymi zamiast statycznych wymiarów. Aby użytkownik nie pomylił się w długiej liście parametrów, można napisać interfejs graficzny dla kilku stron ze zdjęciami i diagramami. W skrypcie głównym obliczyć wszystkie objętości i wyświetlić koszt. Możliwe jest również wyświetlenie tabeli z układem paneli w skrypcie 2D obok planu. Pisanie takiego obiektu zajmie dużo czasu, będziesz musiał sporządzić szczegółową specyfikację techniczną, uwzględnić wszystkie niuanse, ale wtedy otrzymasz nie tylko obiekt, ale prawie program, w którym wybierając parametry, może otrzymać komplet wstępnego projektu wraz z kalkulacją materiałów i kosztów dla klienta. Mam nadzieję, że ten przegląd wzbudził zainteresowanie możliwościami GDL. Moja historia zaczęła się od chęci zmiany jakiegoś drobnego szczegółu w jakimś standardowym znaczniku stref, a im więcej czytam przewodnik, tym bardziej ujawnia się potencjał tego narzędzia, moim zdaniem, bardzo użytecznego dla architekta. Z poniższego linku możesz pobrać wszystkie obiekty, które zostały uznane za przykłady w tym artykule: Pobierz przykłady Uwaga. ARCHICAD 20 został użyty do napisania tych obiektów, więc nie otworzą się one we wcześniejszych wersjach. O firmie GRAPHISOFT Firma GRAPHISOFT® zrewolucjonizował BIM w 1984 roku dzięki ARCHICAD® To pierwsze w branży rozwiązanie BIM dla architektów w branży CAD. GRAPHISOFT pozostaje liderem na rynku oprogramowania architektonicznego dzięki innowacyjnym produktom, takim jak BIMcloud ™, pierwsze na świecie rozwiązanie do projektowania BIM w czasie rzeczywistym, EcoDesigner ™, pierwsze na świecie w pełni zintegrowane modelowanie energii i oceny efektywności energetycznej budynków oraz BIMx® Jest wiodącą aplikacją mobilną do prezentacji i prezentacji modeli BIM. Od 2007 roku GRAPHISOFT jest częścią Grupy Nemetschek.

Zalecana: