abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
BIM Coordinator Program (INT) April 22, 2024

Gehen Sie den nächsten Schritt Ihrer Karriere als zertifizierter Graphisoft BIM Koordinator!

Programmierung
Alles über Programmierung in GDL und Python

Mehrer Ebenen in einen GDL Objekt

mikeloidl
Newcomer
Hallo,

Wollte mal nachfragen ob das möglich ist mehrer Ebenen in einen GDL Objekt einbinden?
Zb. wenn Ich einen Korpus habe und normal ist die Ebene bei mir unter Einrichtung,
möchte Ich gerne die Front unter einer einer anderen Ebene haben (zb. Fronten).
Dann könnte Ich per Ebenkombinationen das so anleben Front sichtbar oder nicht.
Ansonsten muss Ich die Front immer extra einfügen!

Danke

Gruß Mike
10 ANTWORTEN 10
Frank Beister
Advisor
Das geht nicht. 1 Objekt 0 1 Ebene.
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
Hmooslechner
Rockstar
Es gibt im GDL-Handbuch Seite 333 zumindest den folgenden Befehl:


Allgemeine Parameter von Elementen:
GLOB_LAYER
Name der Ebene, der das Element zugewiesen wird
GLOB_ID
ID, wie im Dialogfenster für Einstellungen eingegeben
GLOB_INTGUID
Ebene des Elementes


Das Objekt selber kann also schon wissen, auf welchem Layer es eingesetzt wurde.

Leider finde ich keine Möglichkeit - Layergruppenschaltungen-Kombinationen auszulesen.

Das wäre doch die Frage gewesen oder?


Vorschlag zum flotten Workaround:

Das Ding eben mit Hilfe der Layergruppenschaltung 2x einsetzen STRG+C, STRG+V - einmal mit manuell eingeschalteten Fronten, einmal ohne. Verdoppelt deren Daten - leider..
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Frank Beister
Advisor
Du musst glaube ich mal erklären, was Du willst.

Ich glaube fast, Du möchtest sowas wie:

IF front_sichtbar THEN
BLOCK b,h,d
ENDIF


Das geht. front_sichtbar muss dann ein Parameter in der Parameterliste sein.
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
mikeloidl
Newcomer
Hallo,

Genau hmooslechner,
das wollte Ich gerne, mit den Allgemeine Parameter von Elementen bin Ich auf keinen
grünen zweig gekommen. 😞

Beister zecks IF usw. habe Ich bereits und funktioniert ohne Probleme aber ist leider nicht das was Ich möchte oder hinaus will.

Fakt ist das Ich ein Objekt habe (Korpus mit Front) und mochte die Front über die
Layerkombinationen (Ebenenkombinationen) Anzeigen od. nicht Anzeigen lassen.
Das geht natürlich nicht mit IF Befehle nur über die Ebenen.
Zur Zeit mache Ich es so:
Extra Korpus mit Ebene (Einrichtung) und Extra Front mit Ebene (Fronten).
Da Funktioniert das ganze ohne Probleme, da Ich ja 2 verschiedene Objekte mit Ebenen habe.

Hätte halt das gerne auf ein Objekt zusammen gefügt da es um einiges weniger Arbeit wäre und
mann sehr schnell beim Konstruieren bzw. Planen ist (1 Arbeitsschritt weniger).

Danke Gruß Mike
Hmooslechner
Rockstar
Vielleicht wäre eine Filterung nicht nach Layerkombination, sondern nach Maßstab sinnvoll?
Den kann ein Bibliothekselement auslesen. Ich nehme an, dass die Korpusdarstellung nur in kleineren Maßstäben sinnvoll darzustellen ist.

In der Ausschnittmappe machst Du Dir dann einen Plan mit großem Maßstab für die Grundrissdarstellung alleine und einen mit kleinerem Maßstab mit allem drum und dran.
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Anonymous
Nicht anwendbar
Ich habe das Problem auch öfter im Möbelbau. Für den Tischler ist auch das Innenleben relevant für den Bauherrn eher die fertige Ansicht mit Fronten. Leider sind alle Elemente eines Objekts immer auf einem Layer. Das macht auf der anderen Seite irgendwie Sinn, weil verschiedene Layer innerhalb eines Objekts nur funktionieren können, wenn es diese Layer auch in der .pln Datei auch wirklich gibt. Oder es müsste dann Objektdialog die Möglichkeit geben, diesem Objekt zwei Layer zuzuweisen. Ohne diese Voraussetzungen wäre das Objekt, sobald es die genau dokumentierte eigene Büroumgebung verlässt, mehr oder weniger nutzlos, da vermutlich nicht nachvollziehbar bedienbar.

Ideal wäre z.B. eine Regelung mit objektinternen Layern, die über die Modelldarstellung angewählt werden könnten.

Ich habe eigene Möbelobjekte, bei denen ich die Fronten ausschalten kann. Die Fronten zeichne ich dann z.B mit Wänden auf eigene Ebenen. Das geht sehr schnell, da z.B. Wände in 3D in Höhe und Breite streckbar sind. Die Darstellung mit und ohne Fronten regle ich über eine Ebenenkombination.

Der Vorteil dieser Methode ist unter anderem auch, dass ich gerade bei etwas komplexeren Fronteinteilungen sehr flexibel bin und das Objekt nicht mit mit allen erdenklichen Varianten programmieren muss.

Ohne Fronten:


mit Fronten:
Anonymous
Nicht anwendbar
Über Ebenenkombinationen kann man keine Objektdarstellung filtern. Das geht leider nicht und wird auch in naher Zukunft nicht möglich sein.

Über die Maßstabsdarstellung geht das natürlich; das wird in ganz vielen Graphisoft-Objekten ja so gemacht, dass man bei unterschiedlichen Maßstäben unterschiedliche Level of Details oder Level of Informations hat.
Man kann das ganze dann über Ausschnitte steuern, da jedem Auschnitt ein Maßstab zugeordnet werden kann.
Wenn das noch zu unflexibel ist, kann man eigene Modelldarstellungen anlegen, welche auch über Ausschnitte aufrufbar sind. Dort kann man dann die Modelldarstellungen genauso benennen wie seine Ebenenkombinationen.

Ich persönlich würde ein Objekt (1 Möbel) nicht in 2 oder mehr Einzelobjekte aufsplitten, nur damit man per Ebenenkombination etwas sichtbar oder unsichtbar machen kann. Da ArchiCAD in den Ausschnitteinestellungen neben Ebenenkombis auch andere Dinge wie Maßstab oder Modelldarstellung anbietet, würde ich eins oder mehrere davon nehmen.

Frank Beister
Advisor
Jochen war schneller, dennoch mein Beitrag:

Ich verstehe schon, warum ihr das auf Layern haben wollt, aber damit macht ihr die Möbel unintelligent und die Bestandteile können nicht miteinander interagieren.

Dass man im Skript Elemente auf verschiedene Layer legen kann, glaube ich nicht, dass das irgendwann kommt. Das gibt IMHO kaum lösbare Probleme bei IA und IFC. Dann schon eher intearktive Objekte.

Was ihr wünscht ist durchaus machbar. Mit IF...THEN. 😉

Eine Möglichkeit ist, es maßstabsabhängig auszugeben. Mein Lieblings-Gegenargument:

Ausführungsplan 1:50: Durchbrüche sichtbar und vermaßt und etikettiert.
Bodenspiegel 1:50: Keine Durchbrüche erwünscht.

Die Lösung: Modelleinstellungen.
Dort kann man zentral für das Projekt Schalter anlegen und umlegen, wie man möchte und das in einem Ausschnitt speichern. Mein open source Projekt OpenLibraryGlobals hat in der aktuellen (nicht online) Version Schalter für Level of Detail, die man dazu benutzen könnte. Ich füge auch gerne noch weitere, allgemein verwendbare im Abschnitt Objekte hinzu, wenn ihr nichts eigenes programmieren wollt. Denkbar wäre z.B. "Detailierung Möbel" "Hülle (Korpus, Fronten und Bekleidung)","Hülle+Unsichtbare Elemente","nur Korpus"

Weiter Lösungsmöglichkeit, wenn es um reine Möbelkonstruktionszeichnungen geht:
Verwendung der Strukturdarstellung. Den Status kann man in GDL abfragen.
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
Anonymous
Nicht anwendbar
Man kann eigene Schalter zentral für die Modelldarstellung selbst programmieren ?
Das wäre ein ganz cooler Ansatz und ich schau mir den link bei nächster Gelegenheit an.
Einschreiben und zertifiziert werden!