Name
LIBRARYGLOBAL
Syntax
LIBRARYGLOBAL (objektname, parameter, variable)
objektname, Typ string
parameter, Typ string
variable, Variablenname (ohne "")
parameter, Typ string
variable, Variablenname (ohne "")
Funktioniert analog zum REQUEST-Befehl, ruft jedoch nicht globale Einstellungen von ArchiCAD-internen Zuständen ab, sondern Parameterwerte, die in einem Globalen Objekt der geladenen Bibliothek eingestellt sind. Die Einstellungen des globalen Objektes werden auf einer Tabulatorseite der Modelldarstellungsoptionen vorgenommen. Der dort eingestellte Wert wird nach der Abfrage durch LIBRARYGLOBAL in der Variablen variable bereitgestellt.
Eine solche globale Bibliothekseinstellung ist dann verfügbar, wenn sich das globale Objekt in der geladenen Bibliothek befindet oder wenn das globale Objekt früher geladen wurde und sich seine Einstellungen in der aktuellen Modelldarstellungs-Kombination befinden.
Gibt den Wert 1 zurück, wenn erfolgreich, andernfalls den Wert 0.
objektname: Name des globalen Objektes
parameter: Gültiger Parametername aus der Parameterliste des Objektes objektname.
variable: In dieser Variable wird der Wert des abgefragten Parameters abgelegt.
Eine solche globale Bibliothekseinstellung ist dann verfügbar, wenn sich das globale Objekt in der geladenen Bibliothek befindet oder wenn das globale Objekt früher geladen wurde und sich seine Einstellungen in der aktuellen Modelldarstellungs-Kombination befinden.
Gibt den Wert 1 zurück, wenn erfolgreich, andernfalls den Wert 0.
objektname: Name des globalen Objektes
parameter: Gültiger Parametername aus der Parameterliste des Objektes objektname.
variable: In dieser Variable wird der Wert des abgefragten Parameters abgelegt.
success = LIBRARYGLOBAL ("LibraryGlobals13", "iDetlevelMVO2D", det)
if success > 0 then
text2 0, 0, det
else
text2 0, 0, "Nicht verfügbar"
endif
oder
success=LIBRARYGLOBAL("global_multifenster", "mater", matr)
PARAMETERS matr=mater
if success > 0 then
text2 0, 0, det
else
text2 0, 0, "Nicht verfügbar"
endif
oder
success=LIBRARYGLOBAL("global_multifenster", "mater", matr)
PARAMETERS matr=mater
In ArchiCAD 11 wurde in der Modelldarstellungs-Kombination die optionale Änderung von GDL-Objekten an Hand der Auswahl "Grundriss" und "Deckenspiegel" eingeführt. Siehe FLOOR_PLAN_OPTION.
In ArchiCAD 13 wird dieses Konzept deutlich erweitert. Man kann nun ein globales Bibliothekselement definieren, in dem beliebige Parameter über die Modelldarstellung an andere Objekte übergeben werden.
Dazu sind 2 Schritte erforderlich:
1. Anlegen eines globalen Objektes:
Erstellen Sie ein neues Bibliothekselemnt und wählen als Suptype "Bibliothek Globale Einstellungen" unter der Rubrik "Zeichnungssysmbol". Definieren Sie hier die Parameter, die Sie global verändern möchten. Speichern Sie das Objekt in die geladene Bibliothek. Damit die Einstellungen in der Modelldarstellungs-Kombination möglich sind, muss ein User Interface im Interface-Script des globalen Objekte für die gewünschten Parameter-Einstellungen definiert werden.
Es können mehrere globale Objekte angelegt werden, von denen dann jedes in der Modelldarstellung eine eigene Tab-Seite besitzt (deshalb den Namen im UI_DIALOG-Befehl nicht vergessen).
2. Zugriff der platzierbaren GDL-Objekte auf die in der Modeldarstellung geänderten Parameter über den Befehl LIBRARYGLOBAL
(Siehe Beispiel). Der Befehl kann nur im Parameter- oder Master-Script verwendet werden.
Die Graphisoft-Bibliothek von ArchiCAD 13 enthält bereits diverse Optionen für GDL-Objekte.
In ArchiCAD 13 wird dieses Konzept deutlich erweitert. Man kann nun ein globales Bibliothekselement definieren, in dem beliebige Parameter über die Modelldarstellung an andere Objekte übergeben werden.
Dazu sind 2 Schritte erforderlich:
1. Anlegen eines globalen Objektes:
Erstellen Sie ein neues Bibliothekselemnt und wählen als Suptype "Bibliothek Globale Einstellungen" unter der Rubrik "Zeichnungssysmbol". Definieren Sie hier die Parameter, die Sie global verändern möchten. Speichern Sie das Objekt in die geladene Bibliothek. Damit die Einstellungen in der Modelldarstellungs-Kombination möglich sind, muss ein User Interface im Interface-Script des globalen Objekte für die gewünschten Parameter-Einstellungen definiert werden.
Es können mehrere globale Objekte angelegt werden, von denen dann jedes in der Modelldarstellung eine eigene Tab-Seite besitzt (deshalb den Namen im UI_DIALOG-Befehl nicht vergessen).
2. Zugriff der platzierbaren GDL-Objekte auf die in der Modeldarstellung geänderten Parameter über den Befehl LIBRARYGLOBAL
(Siehe Beispiel). Der Befehl kann nur im Parameter- oder Master-Script verwendet werden.
Die Graphisoft-Bibliothek von ArchiCAD 13 enthält bereits diverse Optionen für GDL-Objekte.
Funktioniert nur in platzierbaren Objekten, die Parameteränderungen eines globalen Objektes übernehmen sollen, dessen Werte in den Modelldarstellungs-Kombination eingestellt werden. Mit der Funktion können nicht die Werte/Einstellungen beliebiger Objekte abgefragt werden. Das Master/Server-Objekt muss ein Objekt des Tys "globales Objekt" sein.
Die Einstellung nach globalen Werten sollte möglichst optional sein, sonst sind keine Ausnahmen möglich. So sind z.B. in der ersten Fassung der Archicad-Bibliothek 13 die Türaufschläge entweder generell als Linie oder als Bogen darzustellen, jedoch nicht gemischt, was in einigen Fällen sehr sinnvoll ist. Siehe Link unten. Ein Schalter im Objekt, der die Verwendung der globalen Einstellungen abschalten kann, ist sinnvoll.
Parameter des globalen Objekes und Variablen im Abfrageobjekt dürfen den selben Variablennamen verwenden.
Der Stringaufrufparameter objektname sollte niemals als Variable, sondern immer als Stringkonstante gegeben werden. Andernfalls wird das Objekt nicht sofort aktualisiert, wenn man zwischen verschiedenen MVO-Darstellungen wechselt (sondern erst nach einem forcierten Neuaufbau).
Bis Archicad 16 gibt es folgende Beschränkungen bei der Verwendung von Arrays:
1. Es werden nur zweidimensionale Arrays unterstützt. Eindimensionale Daten müssen im LibraryGlobal-Objekt also z.B. mit schriftarten[15][1] angelegt und auch so abgefragt werden.
2. Dynamische Arraygrößen werden nicht in den Modelleinstellungen angepasst. Ist ein Array-Parameter mit einer bestimmten Anzahl an Werten einmal angelegt, dann wird dieser in den Modelleinstellungen in dieser Dimension gespeichert. Selbst ein Ändern des Objektes selbst führt zu keiner Anpassung dieser Einträge.
Workaround: Objekt gänzlich aus der Projektbibliothek entfernen - Jede Modelleinstellung durch eine Änderung/Rückänderung neu überschreiben, sodass die alte Eintragung in Ermangelung des Objektes entfernt wird. Neu dazuladen des geänderten LibraryGlobal-Objektes.
Außerdem funktioniert LIBRARYGLOBAL nicht mit dem in Archicad 23 eingeführten Dictionary-Parameter.
Die Einstellung nach globalen Werten sollte möglichst optional sein, sonst sind keine Ausnahmen möglich. So sind z.B. in der ersten Fassung der Archicad-Bibliothek 13 die Türaufschläge entweder generell als Linie oder als Bogen darzustellen, jedoch nicht gemischt, was in einigen Fällen sehr sinnvoll ist. Siehe Link unten. Ein Schalter im Objekt, der die Verwendung der globalen Einstellungen abschalten kann, ist sinnvoll.
Parameter des globalen Objekes und Variablen im Abfrageobjekt dürfen den selben Variablennamen verwenden.
Der Stringaufrufparameter objektname sollte niemals als Variable, sondern immer als Stringkonstante gegeben werden. Andernfalls wird das Objekt nicht sofort aktualisiert, wenn man zwischen verschiedenen MVO-Darstellungen wechselt (sondern erst nach einem forcierten Neuaufbau).
Bis Archicad 16 gibt es folgende Beschränkungen bei der Verwendung von Arrays:
1. Es werden nur zweidimensionale Arrays unterstützt. Eindimensionale Daten müssen im LibraryGlobal-Objekt also z.B. mit schriftarten[15][1] angelegt und auch so abgefragt werden.
2. Dynamische Arraygrößen werden nicht in den Modelleinstellungen angepasst. Ist ein Array-Parameter mit einer bestimmten Anzahl an Werten einmal angelegt, dann wird dieser in den Modelleinstellungen in dieser Dimension gespeichert. Selbst ein Ändern des Objektes selbst führt zu keiner Anpassung dieser Einträge.
Workaround: Objekt gänzlich aus der Projektbibliothek entfernen - Jede Modelleinstellung durch eine Änderung/Rückänderung neu überschreiben, sodass die alte Eintragung in Ermangelung des Objektes entfernt wird. Neu dazuladen des geänderten LibraryGlobal-Objektes.
Außerdem funktioniert LIBRARYGLOBAL nicht mit dem in Archicad 23 eingeführten Dictionary-Parameter.
Alle Änderungen in der Modelldarstellung dieses mit LIBRARYGLOBAL abgefragten Parameters, bei welcher der Einstellungsdialog des globalen Objektes angezeigt wird, werden auf das Abfrageobjekt übertragen und wirken sich bei Änderungen der Modellldarstellung genau so aus, als würde ein Parameter direkt im Objekt geändert werden.
Der große Vorteil ist, dass unterschiedliche Modelldarstellungen für jedes Ausschnittsset definiert werden können, wodurch mit einem Mausklick beliebig viele Parameter gleichzeitig geändert werden können (wenn dies in einer Modelldarstellung gespeichert wurde und als Ausschnittsset abgelegt wurde)
Das globale Objekt muss neben dem abfragenden Objekt neu erstellt werden und muss als folgender Subtyp definiert werden: Bibliothek Globale Einstellungen.
In diesem Objekt müssen die zu ändernden Parameter des Abfrageobjektes neu eingegeben werden. Sämtliche Parameter sind in der Modelldarstellung nur im User Interface abrufbar, weshalb im Globalen Objekt ein User Interface mit allen Parametern anzulegen ist.
Für jedes globale Objekt erscheint ein separater Reiter in der Modelldarstellung.
Die globalen Objekte sind nicht typbezogen, d.h. hier können gleichzeitig Parameter für Raumstempel, Fenster und Etiketten u.a. an das Abfrageobjekt übergeben werden.
Die Modelleinstellungen für Objekte aus der Standardbibliothek sind im Makroobjekt "LibraryGlobals13.gsm" definiert, welches sich unter "Objektbibliotheken XX.lcf > 4. Macros XX > Main XX > Base Macros XX" in der Bibliothek befindet. Das "XX" gibt dabei die aktuelle Versionsnummer an. Aus Kompatibilitätsgründen bleibt jedoch die "13" im Namen des Makroobjekts.
Der große Vorteil ist, dass unterschiedliche Modelldarstellungen für jedes Ausschnittsset definiert werden können, wodurch mit einem Mausklick beliebig viele Parameter gleichzeitig geändert werden können (wenn dies in einer Modelldarstellung gespeichert wurde und als Ausschnittsset abgelegt wurde)
Das globale Objekt muss neben dem abfragenden Objekt neu erstellt werden und muss als folgender Subtyp definiert werden: Bibliothek Globale Einstellungen.
In diesem Objekt müssen die zu ändernden Parameter des Abfrageobjektes neu eingegeben werden. Sämtliche Parameter sind in der Modelldarstellung nur im User Interface abrufbar, weshalb im Globalen Objekt ein User Interface mit allen Parametern anzulegen ist.
Für jedes globale Objekt erscheint ein separater Reiter in der Modelldarstellung.
Die globalen Objekte sind nicht typbezogen, d.h. hier können gleichzeitig Parameter für Raumstempel, Fenster und Etiketten u.a. an das Abfrageobjekt übergeben werden.
Die Modelleinstellungen für Objekte aus der Standardbibliothek sind im Makroobjekt "LibraryGlobals13.gsm" definiert, welches sich unter "Objektbibliotheken XX.lcf > 4. Macros XX > Main XX > Base Macros XX" in der Bibliothek befindet. Das "XX" gibt dabei die aktuelle Versionsnummer an. Aus Kompatibilitätsgründen bleibt jedoch die "13" im Namen des Makroobjekts.
Parameter-Script oder Master-Script.
ab 13