ARCHICAD: REVEALING GDL: Programmierung Für Die Einzigartigen Herausforderungen Des Architekten

ARCHICAD: REVEALING GDL: Programmierung Für Die Einzigartigen Herausforderungen Des Architekten
ARCHICAD: REVEALING GDL: Programmierung Für Die Einzigartigen Herausforderungen Des Architekten

Video: ARCHICAD: REVEALING GDL: Programmierung Für Die Einzigartigen Herausforderungen Des Architekten

Video: ARCHICAD: REVEALING GDL: Programmierung Für Die Einzigartigen Herausforderungen Des Architekten
Video: Archicad 16 GDL programmieren Einführungserklärungen 1 2024, April
Anonim

Dieses Expertenmaterial setzt die Artikelserie "ARCHICAD: Rediscovering" fort, die im Dezember 2016 mit einem Artikel von Vladimir Savitsky "Erstellung von Strukturen und Extraktion von Arbeitszeichnungen aus einem Modell" begann und anschließend mit den Veröffentlichungen von Svetlana Kravchenko "ARCHICAD" fortgesetzt wurde: Wiederentdeckung. Visualisierung - neue Möglichkeiten für einen Architekten "und Alexander Anishchenko" TEAMWORK: effektive Teamarbeit Schritt für Schritt ". Der Zyklus soll Benutzern helfen, das volle Potenzial von ARCHICAD auszuschöpfen®… Wir haben die Architekten gebeten, ihre persönlichen Erfahrungen mit der Verwendung des Programms unter Verwendung von nicht standardmäßigen Ansätzen, wenig untersuchten Funktionen und neuen Funktionen zu teilen, die vielen Benutzern möglicherweise nicht einmal bekannt sind. Als Entwickler der ARCHICAD-Anwendung sind wir zuversichtlich, dass nur ein tiefes Wissen über das Produkt seinen vollen Wert offenbaren und die Ergebnisse, Geschwindigkeit und Qualität der Arbeit des Designers entscheidend beeinflussen kann. Bevorzugen Sie auch "ungelesene Pfade"? Haben Sie Erfahrung in der Verwendung von nicht standardmäßigen Ansätzen bei der Arbeit mit ARCHICAD und verwenden Sie regelmäßig nicht die bekanntesten Funktionen der Anwendung? Gerne laden wir neue Autoren zur Zusammenarbeit ein: [email protected]. Die praktizierende Architektin Svetlana Kravchenko berichtet:

Zoomen
Zoomen

Sicherlich haben viele von Ihnen in ARCHICAD von GDL gehört, aber nicht jeder weiß noch, wie man es in der Arbeit einsetzt. Angesichts der unglaublichen Nützlichkeit dieser Funktion sowie der vielen Fragen nach meinem ersten Webinar zu diesem Thema habe ich mich entschlossen, näher darauf einzugehen, wie selbst das kleinste Wissen darüber in der täglichen Arbeit von viel helfen kann ein Architekt.

Beginnen wir mit den Grundlagen GDL (Geometric Description Language) ist eine BASIC-ähnliche Programmiersprache, die für die Arbeit in der ARCHICAD-Umgebung entwickelt wurde. Es beschreibt 3D-Festkörper (wie Türen, Fenster, Möbel) und 2D-Symbole im Grundrissfenster. Diese Objekte werden als Bibliotheksfunktionen bezeichnet.

Für diejenigen, die zumindest ein wenig mit Programmierung vertraut sind, wird es nicht schwierig sein, diese Sprache zu beherrschen. Mit ausreichendem Wunsch wird das Studium der GDL jedoch in der Macht einer Person liegen, die weit von dieser Umgebung entfernt ist. Jeder Architekt hat in seiner Zeit Geometrie und beschreibende Geometrie studiert, verfügt über ein ausgezeichnetes volumetrisches Denken, und dies ist bereits der halbe Erfolg. Sie müssen nicht sofort versuchen, komplexe Objekte zu schreiben. Es lohnt sich, mit den geometrischen Grundformen und -formen zu beginnen. Viele Informationen können durch Untersuchen der Skripte anderer Bibliothekselemente gewonnen werden. Die Hauptinformationsquelle ist das GDL-Referenzhandbuch, auf das über das Hilfemenü in ARCHICAD selbst zugegriffen werden kann. Warum kann ein Architekt von GDL-Kenntnissen profitieren? Im Gegensatz zu Grasshopper, mit dem Sie komplexe Strukturen erstellen können, ist GDL beispielsweise einfach unverzichtbar, um verschiedene Markierungen und Beschriftungen zu schreiben sowie spezielle Komponenten für andere Bibliotheksfunktionen oder -werkzeuge zu erstellen. Eine meiner ersten Anwendungen von GDL in meiner Arbeit war die Erstellung eines speziellen Türblatts für Paneele, das bei Größenänderung nicht in alle Richtungen skaliert, sondern nur die Paneelabmessungen geändert hat. Die Dicke des lockigen Rahmens und die Breite des Gurtzeugs blieben unverändert. Außerdem möchten Architekten sehr oft einige einfache Funktionen zu vorhandenen Objekten der Standardbibliotheken hinzufügen - und dies ist der Hauptgrund, warum sie beginnen, sich mit GDL zu beschäftigen. Natürlich sind Kenntnisse über GDL nicht unbedingt erforderlich, und viele dieser Aufgaben können mit Standardwerkzeugen ausgeführt werden. Sie können beispielsweise Füllungen mit Platten erstellen und diese als spezielles Türblatt speichern. Wenn Sie nur wenige dieser nicht standardmäßigen Türen haben, ist dies sogar noch schneller. Wenn es in Ihrem Projekt jedoch viele ähnliche Türen unterschiedlicher Größe gibt und sich ihre Breite während des Arbeitsprozesses ändert, beschleunigt und vereinfacht das Schreiben eines speziellen Panels in GDL die Arbeit erheblich. Die geometrische Beschreibung impliziert, dass jede der möglichen Formen entsprechend den Abmessungen oder Koordinaten in Text geschrieben werden kann. Für ein 3D-Skript gibt es einen Befehlsblock für grundlegende räumliche Formen, z. - BLOCK und BACKSTEIN - ein dreidimensional konstruiertes Parallelepiped mit dem Ursprung am Punkt 0 des Koordinatensystems BLOCK a, b, c ZIEGEL a, b, c

Zoomen
Zoomen

- ZYLIND - Zylinder entlang der Z-Achse mit Höhe h und Radius r ZYLIND h, r

- KUGEL - Kugel am Ursprung und Radius r zentriert KUGEL r

Zoomen
Zoomen

Eine Ellipse und ein Kegel werden auf ähnliche Weise beschrieben. Der nächste Figurenblock ist bereits komplizierter - das sind verschiedene Prismen. Sie werden durch einen Satz von Punktkoordinaten beschrieben. Das einfachste Prisma wird durch die Anzahl der Punkte (n), die Höhe (h) und die Auflistung der Koordinaten aller Punkte in der Reihenfolge bestimmt. PRISMUS n, h, x1, y1, … xn, yn

Es gibt viele Arten von Prismen. Die nächste Ansicht, PRISMA_Mit dieser Option können Sie den Koordinaten von Punkten Statuscodes anzeigen, die die Sichtbarkeit von Flächen und Kanten bestimmen. Außerdem können Sie gekrümmte Prismen und Prismen mit Löchern erstellen (siehe Abschnitt Statuscodes im Nachschlagewerk). Eine andere Art, BPRISM_erzeugt ein Prisma, das um die Y-Achse gedreht ist. FPRISM_ baut ein Prisma mit einer Fase oder einem Filet auf der Oberseite.

Zoomen
Zoomen

Es gibt mehrere Befehle, die komplexere Formen auf Polylinienbasis beschreiben: EXTRUDE, PYRAMID, REVOLVE, RULED, SWEEP, TUBE, COONS, MASS. Ihre Beschreibung mit Beispielen finden Sie in der Referenz. Bei einem 2D-Skript werden Formen durch andere Befehle beschrieben: Linie, Kreis, Rechteck, Polylinie, Spline. Sie können aber auch einen Befehl zum Erstellen einer Projektion aus einem 3D-Skript registrieren.

Das Erstellen von 2D- oder 3D-Formen ist nur ein Teil der Funktionalität von GDL. Wenn Sie nur eine Tabelle benötigen, ist es einfacher, sie mit den Tools von ARCHICAD selbst zu erstellen. Ein Objekt wird für den Fall geschrieben, dass eine Art Parametrismus erforderlich ist: die Möglichkeit, verschiedene Arten von Tischbeinen auszuwählen, die Anzahl der Beine, die Größe des Tisches zu ändern und dabei die verbleibenden Abmessungen beizubehalten, das Holz für seine Herstellung, sein Gewicht und seine Kosten zu berechnen. Das Objekt enthält möglicherweise überhaupt keine Geometrie, sondern führt nur Berechnungen durch. Hierzu werden auch Steuerklauseln (Steueroperatoren) verwendet, z. B. Schleifen, bedingte Anweisungen, die sich auf eine bestimmte Stelle im Code (Unterprogramm) beziehen. Machen Sie sich am besten gleich zu Beginn mit den Zyklen und Bedingungen vertraut - sie werden häufig verwendet. Alle folgenden Beispiele haben also bedingte Anweisungen. BEISPIEL 1 - Objektrotation Designer möchten oft ein Objekt drehbar machen. Anhand dieses einfachen Beispiels betrachten wir die Struktur des Bibliothekselements sowie die Hauptfenster des GDL-Objekteditors. Um ein Objekt im Projektbereich zu öffnen (wenn der Entwickler kein Kennwort eingegeben hat), müssen Sie es auswählen und die Tastenkombination Strg + Umschalt + O drücken. Eine andere Möglichkeit besteht darin, das Menü Datei> Bibliotheken und Objekte> Objekt öffnen zu verwenden. Wenn zu diesem Zeitpunkt noch kein Objekt ausgewählt wurde, wird ein Fenster zur Auswahl eines Objekts geöffnet. Fügen wir beispielsweise einem Luftklappengitter Rotationsparameter hinzu (Abb. 1).

Zoomen
Zoomen

Also haben wir das Fenster GDL Object Editor geöffnet (Abb. 2). Oben links befindet sich ein Fenster zum Anzeigen verschiedener Ansichten, wie im üblichen Fenster mit Objektparametern. Sogar links befinden sich Schaltflächen zur Auswahl einer Ansicht - Plan, Höhe, 3D-Fenster und Vorschau. Unten finden Sie Schaltflächen zum Öffnen von Parametertabellen, Datenlisten und Skripten. Skripte können auf zwei Arten geöffnet werden: Klicken Sie auf die Schaltfläche mit dem Namen des Skripts - öffnen Sie im selben Fenster, klicken Sie auf die Schaltfläche rechts mit dem Fenstersymbol - das Skript wird in einem separaten Fenster geöffnet. Dies kann nützlich sein, um verschiedene Skripte gleichzeitig anzuzeigen (Abbildung 3).

Zoomen
Zoomen

Am oberen Rand des Fensters eines Skripts befindet sich eine sehr notwendige Schaltfläche zum Überprüfen: Wenn Sie darauf klicken, werden Sie vom Editor gefragt, ob das Skript fehlerhaft ist. Die Nachricht enthält den Grund für den Fehler und die Zeilennummer, in der der Fehler gefunden wurde. Im Abschnitt "Details" können Sie einen Objektuntertyp auswählen: benutzerdefiniertes Türblatt, Türknauf, Vorhangfassadenrahmen usw. Daher werden im entsprechenden Fenster spezielle Objekte (Stift, Leinwand, Rahmen) zur Auswahl dieser Elemente angezeigt. Wenn ein 2D-Typ ausgewählt ist, hat das Objekt keine Fenster für die 3D-Geometrie. Dort können Sie auch Typen für verschiedene Markierungen auswählen - einen Knoten, Abschnitte, Führungsbeschriftungen, Zonen; Sie werden auch in ihren jeweiligen Werkzeugen angezeigt. In diesem Abschnitt können Sie eine Beschreibung des Objekts eingeben und ein Kennwort auswählen. Weiter - "Parameter", bei denen alle Daten, die in diesem Objekt verwendet werden und die während der Arbeit am Projekt geändert werden können, in Form einer Tabelle dargestellt werden. Hier müssen wir Parameter für die Kurven hinzufügen, die wir später verwenden werden.

Zoomen
Zoomen

Drücken Sie die Schaltfläche Neu über der Tabelle (Abb. 4). Es erscheint eine neue Zeile, in der Sie die Spalten ausfüllen müssen. Die erste dieser Spalten ist Variable. Hier schreiben wir den Namen der Variablen, die in Skripten verwendet wird, in lateinischer Sprache und ohne Leerzeichen. Sie müssen es so benennen, dass es leicht zu merken ist und gleichzeitig leicht zu verstehen ist, wofür diese Variable verantwortlich ist. In unserem Fall müssen wir zwei Variablen für den Wert der Drehwinkel entlang der X- und Y-Achse erstellen (das Objekt kann ohnehin direkt im Plan um die Z-Achse gedreht werden). Ich beschloss, sie angle_x und angle_y zu nennen. In der nächsten Spalte müssen Sie den Datentyp auswählen. Die Auswahlmöglichkeiten sind in Tabelle 1 dargestellt.

Zoomen
Zoomen

Die letzten beiden Typen werden bei der Erstellung des Objekts nicht verwendet, werden jedoch für mehr Klarheit und Ordnung der Liste im Objektparameterfenster benötigt. Wir brauchen eine Ecke - dies ist das zweite Symbol in der Tabelle. Die dritte Spalte ist Name. Hier können Sie ohne Regeln in einer beliebigen Sprache schreiben, was genau wir später im Objektparameterfenster sehen möchten. Und die letzte Spalte ist Wert. Jetzt können Sie hier 0 belassen: Dieser Wert ändert sich jederzeit sowohl im Skript als auch in den Parametern des Objekts. Abbildung 2 zeigt, wie die beiden neuen Optionen im GDL-Objekteditorfenster aussehen. 5. Verwenden Sie die Pfeile am Zeilenanfang, um die Zeile an eine geeignete Stelle zu verschieben.

Zoomen
Zoomen

Dann müssen Sie das Objekt unter einem neuen Namen speichern, da die Standardbibliothek fest im Container codiert ist und Sie darin keine Objekte überschreiben können. Das Fenster Objektparameter sieht nun folgendermaßen aus (Abb. 6).

Zoomen
Zoomen

Es gibt zwei neue Parameter, deren Wert jederzeit geändert werden kann. Aber jetzt wird nichts passieren, da noch keine Befehle mit ihnen geschrieben wurden. Jetzt müssen Sie das 3D-Skriptfenster öffnen. Hier finden Sie eine vollständige Beschreibung, wie Sie ein 3D-Modell basierend auf den angegebenen Parametern erstellen. Darüber hinaus können verschiedene Makros im Objekt verschachtelt werden. Vor allen Konstruktionen müssen Sie das Koordinatensystem drehen, in dem das Objekt erstellt wird. Hierbei ist es wichtig, die folgende Logik zu verstehen: Alle Rotationen, Bewegungen und Skalierungen erfolgen anders als bei der Arbeit in ARCHICAD. Wir nehmen kein Element und drehen es, sondern drehen das globale Koordinatensystem (nachdem es geändert wurde, wird es lokal). Vorderseite ein Objekt bauen. Verschieben (Befehl HINZUFÜGEN), Drehen (ROT), Skalieren (MUL) sind Koordinatensystemtransformationsbefehle. Weitere Transformationen können einzeln, mehrere oder alle gleichzeitig im Skript gelöscht werden. Das Nachschlagewerk beschreibt dies alles ausführlich und anhand von Beispielen. Ein Beispiel für die gleichzeitige Bewegung eines Koordinatensystems im 3D-Raum entlang drei Achsen ist in Abb. 1 dargestellt. 7. ADD a, b, c

Zoomen
Zoomen

Vor allen Konstruktionen drehen wir also das Koordinatensystem zuerst entlang einer, dann entlang der anderen Achse. Die Drehung entlang der X-Achse wird mit dem Befehl ROTX alphax ausgeführt, wobei alphax der Drehwinkel gegen den Uhrzeigersinn ist. Anstelle von Alphax müssen Sie eine zuvor erstellte Variable eingeben. Die Drehung entlang der Y-Achse erfolgt auf die gleiche Weise (Abb. 8).

Zoomen
Zoomen

Jetzt können Sie verschiedene Drehwinkel einstellen - und Änderungen am 3D-Modell finden im Ansichtsfenster oben links statt (Abb. 9).

Zoomen
Zoomen

Jetzt können Sie verschiedene Drehwinkel einstellen - und Änderungen am 3D-Modell finden im Ansichtsfenster oben links statt (Abb. 9). In 2D passiert aber noch nichts. In einem 2D-Skript wird ein Objekt mit separaten Linien und Polylinien erstellt, sodass das Zeichnen eines Objekts im Plan um ein Vielfaches schneller ist. An einer Stelle ist dies nicht wahrnehmbar, aber wenn das Projekt Hunderte solcher Gitter enthält, ist das Bremsen erheblich. Sie können die Koordinaten der Punkte dieser Linien berechnen und so zeichnen, wie sie in der Projektion des gedrehten Objekts aussehen würden. Dies ist jedoch nicht sehr einfach und nicht sehr schnell. In diesem Gitter schlage ich die folgende Lösung vor: Wenn die Winkel in X oder Y nicht gleich Null sind, wird das Objekt im 2D-Skript, dh für den Plan, als Projektion des 3D-Modells gerendert, und sonst auf die alte Weise. Die Projektion des Modells für ein 2D-Skript wird mit dem Befehl PROJECT2 projection_code, angle, method erstellt. Sie können im Nachschlagewerk lesen, was Projektionscode, Winkel, Methode bedeuten, aber wir werden den wichtigeren Befehl im Abschnitt der Steueranweisungen IF - THEN - ELSE - ENDIF kennenlernen. Dies sind bedingte Anweisungen, mit denen Sie die bedingte Klausel aus dem vorherigen Absatz erstellen können. In Abb. 10 Ich habe die hinzugefügten Befehle im 2D-Skript hervorgehoben und rechts "Übersetzung" in Rot hinzugefügt.

Zoomen
Zoomen

Jetzt müssen Sie nur noch das Objekt speichern und können es verwenden (Abb. 11). Der Vorteil dieser Methode gegenüber der Konvertierung in Morph besteht darin, dass das Objekt parametrisch bleibt. Es kann in den Spezifikationen gelesen werden. Darin können Sie die Abmessungen der Lamellen, die Größe des Rahmens und alles andere ändern, was sich im ursprünglichen Objekt befand.

Zoomen
Zoomen

In diesem Beispiel haben wir die Hauptfenster und Skripte des GDL-Objekteditors im Detail untersucht. Wenn das Objekt, das Sie für die Drehung ausgewählt haben, Parameter nicht in Form einer Liste wie in diesem Gitter, sondern in Form von Bildern und Diagrammen hat, bedeutet dies, dass der Entwickler auch eine grafische Oberfläche geschrieben hat. Am häufigsten wird die Standardliste mit Parametern ausgeblendet, wie in Abb. 12: In der Dropdown-Liste der Parameterseiten befindet sich kein Abschnitt "Alle Parameter".

Zoomen
Zoomen

In diesem Fall müssen Sie in das Parameterskript gehen und den Befehl suchen, der alle Parameter verbirgt (Abb. 13). Dieses Skript beschreibt alle Aktionen, die sich auf die Parameter auswirken: - Festlegung von Optionen oder Bereichen möglicher Werte (VALUES); - etwaige Berechnungen, deren Ergebnis dem Parameter (PARAMETER) zugeordnet ist; - Ausblenden oder Sperren von Parametern (HIDEPARAMETER, LOCK).

Zoomen
Zoomen

Die Zeile HIDEPARAMETERS ALL kann einfach gelöscht oder durch Setzen eines "!" Am Anfang der Zeile unlesbar gemacht werden (gemäß der GDL-Syntax wird eine Zeile, die mit einem Ausrufezeichen beginnt, als Kommentar betrachtet Übersetzungen in den Screenshots nach dem "!" - Zeichen). Danach wird die Zeile "Alle Parameter" in der Liste der Parameterseiten angezeigt. Wenn Sie sie auswählen, wird eine Standardliste mit Parametern angezeigt, unter denen sich neue Zeilen für die Drehung befinden. BEISPIEL 2 - Text auf einem Symbol Ich nehme das nächste Beispiel aus dem aktuellen Projekt. Bei der Arbeit mit dem Plan eines Mehrfamilienhauses musste der Buchstabe "K" auf den Außengeräten von Klimaanlagen angebracht werden - und zwar immer vertikal. Natürlich hätte der Brief einfach mit Text oder einem externen Inschriftentext oben hinzugefügt werden können, aber dann, wenn die Klimaanlage gedreht wurde, musste der Text möglicherweise auch verschoben werden. Zu Beginn habe ich vier neue Parameter hinzugefügt (Abbildung 14):

Zoomen
Zoomen

1. Text anzeigen: Der Parametertyp ist ein boolescher Wert, der zwei mögliche Werte impliziert: 0 (nein) und 1 (ja). Somit kann der Text ein- oder ausgeschaltet werden.

2. Sondertext: Parametertyp - Text. Ermöglicht das Schreiben von Text in das Symbol (ich beabsichtige, einen Buchstaben so zu verwenden, dass er in das Rechteck des Klimaanlagenblocks passt).

3. Schriftart: Typ - Text. Bitte beachten Sie, dass Sie bei einigen Schreibweisen dieser Variablen Schriftartenwerte in der Spalte aus der Liste der auf dem Computer installierten Werte auswählen können. "Fonttype" ruft diese Liste automatisch auf, aber wenn ich "typefont" oder nur "font" schreibe, muss ich den Namen der Schrift manuell schreiben. Ich habe diesen Moment zufällig in einem der Standardobjekte bemerkt.

4. Textstift: Typ - Stift. Hier ist alles klar.

Schauen wir uns nun die Symbole an, auf die ich am Anfang der Zeilen geklickt habe. In der ersten Zeile wird ein Symbol gedrückt

Image
Image

was fett - fett bedeutet. Das heißt, diese Zeile im Objektparameterfenster ist fett gedruckt. Die anderen drei haben ein Piktogramm

Image
Image

… Dies bedeutet, dass diese Zeilen in der Dropdown-Liste unter der ersten Zeile verschachtelt sind. In Abb. 15 ist ein Screenshot, der zeigt, wie es in den Objektparametern aussieht. Zu Beginn habe ich vier neue Parameter hinzugefügt (Abbildung 15):

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

Und in Abb. 16 - was ich in einem 2D-Skript hinzugefügt habe (traditionell mit Übersetzung und Kommentaren).

Zoomen
Zoomen

Feige. 16. Zeilen in einem 2D-Skript hinzugefügt Im nächsten Screenshot (Abb. 17) habe ich zur besseren Übersichtlichkeit verschiedene Arten von Wörtern / Befehlen / Variablen getönt.

Zoomen
Zoomen

Das Objekt ist fertig (Abb. 18).

Zoomen
Zoomen

Und wenn ich keine Linien mit Rotation und Skalierung schreiben würde, würde das Objekt wie in Abb. 1 aussehen. 19.

Zoomen
Zoomen

BEISPIEL 3 - Detaillierung Um die Arbeit an einem Projekt zu vereinfachen, können Sie beim Schreiben eines Objekts einen Textparameter mit einer Auswahl verschiedener Optionen für die Detaillierung hinzufügen (einfach, mittel, detailliert). Fügen Sie im 3D-Skript beim Erstellen verschiedener kleiner Teile eine Bedingung des Typs hinzu: Wenn der Detaillierungsgrad = "detailliert" ist, verdient (Beschreibung der Gebäudeteile) das Ende der Bedingung Globale Variablen besondere Aufmerksamkeit. Sie sind im Referenzhandbuch 40 Seiten lang und zur einfachen Suche nach Themen gruppiert. Im vorherigen Beispiel habe ich einige Objektorientierungsdaten im Projekt verwendet. Der gleiche Abschnitt des Referenzhandbuchs enthält globale Variablen für die Koordinaten des Objektorts. Sie werden verwendet, um Objekte wie eine Führungslinie mit Koordinaten oder Höhen auf einem Abschnitt / einer Höhe zu erstellen. Sehr oft wird GLOB_SCALE verwendet - der Maßstab der Zeichnung (abhängig von der Ansicht gemäß dem aktuellen Fenster), bei einem Maßstab von 1: 100 gleich 100, bei einem Maßstab von 1:20 gleich 20. Es wird am häufigsten verwendet, um die Schriftgröße in Modellmeter umzuwandeln oder umgekehrt. Dieser Parameter kann auch verwendet werden, um Anzeigeoptionen im Plan zu "hängen". Schreiben Sie beispielsweise für eine Bank Folgendes in ein 2D-Skript:

WENN GLOB_SCALE <100 DANN ! Wenn der Maßstab größer als 1: 100 ist, dann
PROJEKT 2 3, 270, 2 ! Erstellen Sie eine Projektion aus einem 3D-Modell
SONST ! Andernfalls
ENDIF ! Ende des Zustands

Auf dem Masterplan im Maßstab 1: 500 werden die Bänke als Rechtecke angezeigt, und auf einem Fragment mit einem größeren Maßstab wird eine detaillierte Projektion gezeichnet. Eine ähnliche Technik, jedoch für ein dreidimensionales Modell, wird in Standardbäumen verwendet - wenn Sie das Kontrollkästchen Automatischer Kronentyp aktivieren. In einem bestimmten Abstand von der Kamera ändert sich der Kronentyp von detailliert zu einfach und von einfach zu Ellipse. Damit die Skripte des Objekts erneut gelesen werden können, müssen Sie etwas damit tun. Nachdem Sie beispielsweise die Perspektive geändert, alle Bäume hervorgehoben, das Parameterfenster des Objekts geöffnet und einfach nichts geändert haben, klicken Sie einfach auf OK. oder aktivieren und deaktivieren Sie das Kontrollkästchen zum Ersetzen der Abdeckung.

Lassen Sie es mich am Beispiel der Annäherung einer Kugel zeigen. Folgendes habe ich in einem 3D-Skript geschrieben: 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) = 20 dann res = 50 wenn discam20 dann res = 20 wenn discam30 dann res = 10 wenn discam> 40 dann res = 5 resol res sphäre 1 Im Skript habe ich die globalen Variablen GLOB_EYEPOS_X verwendet, GLOB_EYEPOS_Y, GLOB_EYEPOS_Z sind die Koordinaten des Ortes von Die Kamera (Augen) im 3D-Fenster des Projekts und SYMB_POS_X, SYMB_POS_Y, SYMB_POS_Z sind die Koordinaten der Position des Objekts im Raum. abs - number Modul (entfernt "-", falls vorhanden); sqr - Quadratwurzel; ^ 2 - Quadrieren einer Zahl.

Im 3D-Fenster wird die Kugel in unterschiedlichen Abständen von der Kamera mit unterschiedlichen Näherungswerten gezeichnet. Aus Gründen der Übersichtlichkeit habe ich den Drahtgittermodus aktiviert (Abb. 20).

Zoomen
Zoomen

Über die globalen Variablen kann das Objekt Folgendes empfangen: - Daten über den Standort des Projekts (Norden, Breite, Länge, Höhe), die im entsprechenden Dialogfeld festgelegt wurden; - aktuelle Etage und eigene Etage; - den Typ der aktuellen Ansicht (in den GOST-Jumpern wird beispielsweise die folgende Bedingung verwendet: Wenn der Ansichtstyp eine Liste ist, erstellen Sie eine Ansicht des Jumpers in einem Abschnitt mit Positionsführern); Im Beispiel mit einem Gitter können Sie die folgende Bedingung hinzufügen: Wenn der Ansichtstyp eine Liste ist, drehen Sie das Koordinatensystem nicht, sodass in jedem Fall eine Frontalansicht in der Liste der Gitter vorhanden ist. - unvollständige Anzeige von Konstruktionen (Sie können dafür sorgen, dass das Objekt einige Teile nicht anzeigt, wenn nur der Kern ausgewählt ist).

Sie können Wanddaten in ein Fenster- oder Türobjekt ziehen. Callouts können viele verschiedene Informationen über das Element erhalten, dem sie zugeordnet sind, z. B. ein Kontrollkästchen mit Ebenen einer mehrschichtigen Struktur oder eine Führungslinie mit einem Volumen eines Elements. Und so weiter, 40 Seiten mit verschiedenen und sehr nützlichen globalen Variablen. BEISPIEL 4 - Zonenmarkierung Schauen wir uns an, wie eine benutzerdefinierte Zonenmarkierung erstellt wird. Wenn Sie ein neues Objekt erstellen und im Abschnitt Details den Subtyp Zone Passport auswählen, werden im Abschnitt Parameter alle spezifischen Parameter, die das Zonenwerkzeug an die Markierung übergibt, blau angezeigt (Abb. 21).

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

Mit dem Befehl TEXT2 können Sie jede dieser Variablen in ein 2D-Skript schreiben. Auf diese Weise erhalten Sie eine Markierung, die nur aus Text besteht (Abb. 22).

Zoomen
Zoomen

Mit den allgemeinen Parametern der Zonenmarkierung können Sie den Textstil und die Zeilenhöhe in Abhängigkeit von der Schrifthöhe definieren: DEFINE STYLE “ROOM” AC_TextFont_1, ROOM_LSIZE, 5.0 STYLE “ROOM” row = ROOM_LSIZE / 1000 * GLOB_SCALE * 1.5 text2 0, row, ROOM_NUMBER text2 0, 0, ROOM_NAME text2 0, -row, ROOM_AREA Sie können einen neuen Parameter erstellen, um den Markertyp auszuwählen (Abb. 23), Optionen dafür im Parameterskript (Abb. 24) und im 2D-Skript schreiben verschiedene Arten von Marker-Rendering für verschiedene Arten.

Zoomen
Zoomen
Zoomen
Zoomen

2D-Skript: Wenn mt = "Marker mit Nummer", dann Text2 0, 0, ROOM_NUMBER CIRCLE2 0,0, Zeilenende, wenn mt = "Nummer und Fläche", dann Text2 0, Zeile / 2, ROOM_NUMBER Text2 0, -row / 2, AREA_TEXT endif wenn mt = "Titel und Bereich" dann Text2 0, Zeile / 2, ROOM_NAME Text2 0, -row / 2, AREA_TEXT endif wenn mt = "Nummer, Titel und Bereich" dann Text2 0, Zeile, ROOM_NUMBER Text2 0, 0, ROOM_NAME text2 0, -row, AREA_TEXT endif wenn mt = "area only" dann text2 0, 0, AREA_TEXT endif In diesem Skript habe ich die vordefinierte Bereichsvariable nicht als Bereich verwendet, sondern den Bereich in Text konvertiert und hinzugefügt es Einheiten: Fläche = str (ROOM_AREA, 4, 2)! Konvertieren einer Zahl in Text mit 2 Dezimalstellen AREA_TEXT = area + "sq.m." ! Hinzufügen der Buchstaben "sq.m." zum Zeichenfolgenwert Sie können die Linien in der Markierung durch Linien ergänzen, die einige Linien trennen. Verwenden Sie den Befehl STW, um die Länge einer Zeichenfolge zu ermitteln. Fügen wir am Anfang des Skripts hinzu: tl1 = stw (ROOM_NUMBER) / 1000 * GLOB_SCALE tl2 = stw (ROOM_NAME) / 1000 * GLOB_SCALE tl3 = stw (AREA_TEXT) / 1000 * GLOB_SCALE wenn mt = "Nummer und Fläche", dann tl = MAX (tl1, tl3), wenn mt = "Nummer, Titel und Fläche", dann tl = MAX (tl1, tl2), wenn mt = "Titel und Fläche", dann tl = MAX (tl2, tl3), wenn mt = "nur Fläche", dann tl = tl3 UND fügen Sie in den Varianten der Marker die Zeilen mit dem Befehl LINE2 hinzu (Abb. 25).

Рис. 25. 2D-скрипт
Рис. 25. 2D-скрипт
Zoomen
Zoomen

Wenn die Zonennummer aus mehreren Ziffern besteht, können Sie für die Markierung unabhängig von der Schrifthöhe einen Parameter für den Radius eines Kreises erstellen oder anstelle eines Kreises eine ellipsenartige Form mit einer Länge beschreiben, die der Länge entspricht der Zonennummernlinie, die wir zuvor gefunden haben: POLY2_ 5, 1 + 2 + 4, -tl1 / 2, Reihe, 1, tl1 / 2, Reihe, 1, tl1 / 2, -reihe, 1001, -tl1 / 2, -row, 1, -tl1 / 2, row, 1001 Sie können einen neuen Parameter für den Bodentyp (FLOOR_TYPE) und einen Parameter hinzufügen, mit dem Sie ihn ausblenden oder anzeigen können (ShowFloorType), und in einem 2D-Skript ein Dreieck mit a hinzufügen Polylinie und Text mit einem Bodentyp: Wenn ShowFloorType, dann ADD2 0, Zeile * 3 POLY2_ 4, 1, -Zeile * 1,4, -Zeile * 0,8, 1, Zeile * 2,8,60,201, Zeile * 1,4, -Zeile * 0,8, 1, 0,0,700 text2 0,0, FLOOR_TYPE endif Für den Bodentyp ist es wünschenswert, einen separaten Parameter für den Stift sowie Punkte für die grafische Bearbeitung der Position der Bodenmarkierung hinzuzufügen. Ich habe in meinem Webinar ausführlich beschrieben, wie Sie Grafikbearbeitungspunkte hinzufügen. Über den Link am Ende des Artikels können Sie Objekte herunterladen und sehen, wie dies in diesem speziellen Fall implementiert wird.

Betrachten wir zum Schluss einen weiteren sehr wichtigen Subtyp eines Objekts, der große Möglichkeiten eröffnet - die globalen Parameter der Bibliothek (Abb. 26).

Zoomen
Zoomen

Ein Objekt mit diesem Subtyp erstellt oder zeichnet nichts, sondern definiert Parameter in Modellansichten. Auf diese Weise können Sie die Parameter herausnehmen, die für das Objekt gemeinsam angezeigt werden sollen, gleichzeitig jedoch unterschiedliche Werte für unterschiedliche Typen festlegen.

Ich werde dies anhand eines Beispiels für eine Zonenmarkierung zeigen. Ich bin auf Projekte gestoßen, bei denen es mehrere Zonensätze in verschiedenen Ebenen für verschiedene Ansichten gab. Wenn unterschiedliche Markierungen erforderlich sind, sind die globalen Parameter der Bibliothek die beste Lösung.

Ich habe eine Markierung, in der es möglich ist, die Art des Bodens in einem Dreieck festzulegen und die Art der Markierung zu ändern (Abb. 27). Diese beiden Parameter werden in eine separate Datei des Subtyps Global Library Parameters verschoben (Abb. 28).

Zoomen
Zoomen
Zoomen
Zoomen

Damit diese Parameter im Dialogfeld Modellansichtsparameter angezeigt werden, müssen Sie sie im Objektschnittstellenskript registrieren (Abb. 29). Ich werde nicht im Detail auf die speziellen Befehle für dieses Skript eingehen, sie werden ausreichend detailliert und mit Beispielen im Nachschlagewerk beschrieben. Ich werde nur sagen, dass wir hier beschreiben, wo sich dieses oder jenes Etikett oder diese Schaltfläche befindet (ein Feld mit einer Auswahl an Optionen, einem Häkchen usw.). Bilder können auch in die Benutzeroberfläche eingefügt werden. In der Standardbibliothek verfügt fast jedes Objekt über eine grafische Oberfläche. Sie können alle Möglichkeiten sehen und sehen, wie diese Skripte geschrieben sind. Zusätzlich zur Schaltfläche Prüfen verfügt das Skript über eine Schaltfläche Anzeigen. Durch Klicken darauf können Sie schnell sehen, was passiert.

Zoomen
Zoomen

Sie können das Objekt speichern und im Dialogfeld Modellansichtsoptionen anzeigen (Abbildung 30). Hier können wir die Art der Markierung für alle Zonen im Projekt (mit dieser Markierung) gleichzeitig ändern, jedoch separat für verschiedene Typen.

Zoomen
Zoomen

Jetzt müssen Sie im Zonenmarkierungsobjekt das Objekt nach den Werten dieser beiden Parameter abfragen. Im Hauptskript (das zuerst vom Objekt gelesen wird, also alle Berechnungen und Definitionen von Werten, die in mehreren Skripten verwendet werden sollen, ist es besser, hier zu schreiben) schreibe ich zwei Zeilen wie folgt: success1 = LIBRARYGLOBAL ("LibraryGlobals20 "," ShowFloorType ", ShowFloorType) success2 = LIBRARYGLOBAL (" LibraryGlobals20 "," mt ", mt)" success "ist 1, wenn die Anforderung erfolgreich ist; Andernfalls ist es 0.

Dies kann verwendet werden, um anstelle einer Zonenmarkierung eine Warnmeldung zu schreiben, dass das LibraryGlobals20-Objekt nicht in die Bibliothek geladen wurde.

Dann arbeitet das Objekt wie gewohnt mit zwei neuen Werten: Wenn die Art der Markierung so und so ist, dann schreibe so und so und so weiter. In diesem Artikel habe ich nur einen kleinen Teil der Funktionen von GDL behandelt. Mit seiner Hilfe können Sie sowohl sehr einfache Gestaltungselemente als auch sehr komplexe Objekte erstellen.

Sie haben es beispielsweise mit kleinen und einfachen SIP-Panel-Häusern zu tun. Sie haben eine spezielle Liste von Optionen zum Ändern des Projekts: - Die Länge und Breite des Hauses kann zwischen 2,4 und 24 Metern mit einer Stufe von 1,2 m liegen. - Wenn die Breite 6 m überschreitet, sollte sich in der Mitte eine weitere Wand befinden. - zwei Optionen für Bodenhöhen je nach Plattengröße; - Anzahl der Stockwerke - ein oder zwei Stockwerke; - Fenster können sich an bestimmten Stellen von Paneelen einer bestimmten Größe befinden. - Fertigstellung von Fassaden in drei Versionen; - Überdachung in drei Ausführungen; - Wandstärke mehrerer Standardgrößen und so weiter.

Sie können alle diese Parameter für das Objekt festlegen, indem Sie die Kosten pro Quadratmeter für die Platte, das Dach, die Dekoration usw. addieren. Erstellen und zeichnen Sie dieses Haus in 2D- und 3D-Skripten des Objekts vollständig mit Variablen anstelle von statischen Dimensionen. Damit der Benutzer nicht durch eine lange Liste von Parametern verwirrt wird, können Sie eine grafische Oberfläche für mehrere Seiten mit Bildern und Diagrammen schreiben. Berechnen Sie im Hauptskript alle Volumina und zeigen Sie die Kosten an. Es ist auch möglich, eine Tabelle mit dem Layout der Bedienfelder in einem 2D-Skript neben dem Plan anzuzeigen. Das Schreiben eines solchen Objekts nimmt viel Zeit in Anspruch, Sie müssen eine detaillierte technische Spezifikation erstellen, alle Nuancen berücksichtigen, aber dann erhalten Sie nicht nur ein Objekt, sondern fast ein Programm, in dem Sie durch Auswahl der Parameter kann einen Satz eines Entwurfsentwurfs mit einer Berechnung der Materialien und Kosten für den Kunden erhalten. Hoffentlich hat diese Übersicht das Interesse von jemandem an den Funktionen von GDL geweckt. Meine Geschichte begann mit dem starken Wunsch, einige kleine Details in einer Standardzonenmarkierung zu ändern. Je mehr ich den Leitfaden lese, desto mehr wird das Potenzial dieses Tools offenbart, das meiner Meinung nach für einen Architekten sehr nützlich ist. Über den folgenden Link können Sie alle Objekte herunterladen, die in diesem Artikel als Beispiele betrachtet wurden: Beispiele herunterladen Hinweis. ARCHICAD 20 wurde zum Schreiben dieser Objekte verwendet, sodass sie in früheren Versionen nicht geöffnet werden. Über GRAPHISOFT GRAPHISOFT Company® revolutionierte das BIM 1984 mit ARCHICAD® Ist die branchenweit erste BIM-Lösung für Architekten in der CAD-Branche. GRAPHISOFT ist weiterhin führend auf dem Markt für Architektursoftware mit innovativen Produkten wie BIMcloud ™, der weltweit ersten kollaborativen Echtzeit-BIM-Designlösung, EcoDesigner ™, der weltweit ersten vollständig integrierten Energiemodellierung und Energieeffizienzbewertung von Gebäuden und BIMx® Ist die führende mobile App zur Präsentation und Präsentation von BIM-Modellen. GRAPHISOFT gehört seit 2007 zur Nemetschek-Gruppe.

Empfohlen: