abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

Wir schätzen Ihren Input!
Bitte nehmen Sie an der Umfrage zu Archicad 28 Startbildschirm und Lerninhalte/Schnell-Tutorials teil

Programmierung
Alles über Programmierung in GDL und Python

Objekt aus mehreren Objekten zusammengebaut

Roland_Schoepf
Contributor
Hallo GDL-Profis!
Ich habe da folgende Frage: ich habe mir aus einer Decke, und zwei *gsm Objekten (eines wurde über den Profiler erstellt) EIN
Objekt zusammengestellt. Das ganze Objekt in einem zu erstellen war nicht möglich.
Ich habe das ganze über 3D Ansicht etc. abgespeichert und unter einem neuen Namen gesichert.
Mir ist aufgefallen, daß das neue "Hauptobjekt" immernoch auf die alten "Unterobjekte" zugreift. Und zwar habe ich
diese gelöscht und beim 3d Aufbau die entspr. Fehlermeldung erhalten. Gibts eine Möglichkeit diese "Verbindung" zu trennen
oder muß ich die "Unterobjekt" ebenso aufbewahren. Oder mach ich was falsch? 😉
11 ANTWORTEN 11
zzyzx
Newcomer
nein, da machst du nichts falsch, das ist so erstmal die korrekte methode (sowohl von dir, wie auch von archicad...)
so ohne weiteres ist es nicht möglich, die verbindung verlustfrei zu kappen, dazu musst du den gdl text und die zugeordneten parameter des ausgangsobjektes in das hauptobjekt reinkopieren, und zwar an die stelle, wo das ursprungsobjekt per "call" aufgerufen wird.
das hört sich erstmal leicht an, kann aber zu problemen führen, wenn beide objekte dieselben parameternamen verwenden. die sind dann ggf überschrieben 8aber auch da kann man wege finden)
wenns klemmt nochmal nachfragen.
:winken:
Holger Kreienbrink
Graphisoft
Graphisoft
ArchiCAd benutzt die anderen Objekte als "Macros".

Der Sinn: wenn man bestimmte Objekte immer wieder in verschiedenen Objekten benutzt, werden diese als Macros angelegt (zb Tischbeine für verschiedene Tische) um sie immer wieder aufzurufen. So kommt auch das Standardverhalten von ARchiCAD beim Aufbau von zusammengebauten Objekten zustande.

Du musst die anderen Objekte mit vorhalten, sonst klappt es nicht.
Holger Kreienbrink
Director Product Intelligence
Munich, Germany
Archicad since Version 5....
If I sound too harsh, please forgive me: I am German.
Anonymous
Nicht anwendbar
Eine ähnliche Problematik hatten wir auch schon mal nach Einsatz eines "Profiler"-Objekts. Wir haben einen Extra-Ordner mit dem Namen Support in der zu ladenden Bibliothek angelegt und die "Hilfsobjekte" als Vorlage nicht platzierbar abgespeichert. Das hat zumindest den Vorteil, dass das Objekt nicht in der Auswahlbibliothek in AC erscheint und dort beim Anwender zu Verwirrung führt. Psychlogische Kriegsführung also.... 😉 😉

Dorothee
zzyzx
Newcomer
war da nicht mal was mit archivdateien?
- ich meine mich zu erinnern, dass per call eingebundene objekte unter umständen nicht ins archiv eingebunden werden (kann sein, dass ich mich täusche)
- was macht der object explorer, das web-plugin und der gdl skripter eigentlich damit?
:confused:
Anonymous
Nicht anwendbar
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">ich meine mich zu erinnern, dass per call eingebundene objekte unter umständen nicht ins archiv eingebunden werdenNur wenn der Call nicht absolut

CALL "TEST.GDL" ...

sondern indirekt

_OBJ="Test.GDL"
CALL _OBJ ...

erfolgt.
zzyzx
Newcomer
... ich muss nochmal was zum thema pla datei nachfragen:
wenn die call befehle nun in einer auswahlschleife eingebunden sind, werden sie dann auch alle ins archiv gepackt?
also etwa
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">if bedingung1 then
call "testobjekt_a"
else
call "testobjekt_b"
endif :confused:
Anonymous
Nicht anwendbar
Yup!

AC prüft nur, ob im Skript CALL-Token enthalten sind und sichert alle dahinterstehenden Makros mit. Nur wenn dort eine Variable steht, kann AC ja nicht alle Programmablaufvarianten durchspielen, um auch alle Namen zu erwischen.

Workaround: Alle möglichen Makronamen nebst CALL-Befehl ans Ende des 2D-Skriptes NACH dem END. Da schaden sie nichts und stellen nichts an. Werden aber in einer PLA dann mitgesichert.

In alten ACs ging der CALL sogar ohne CALL. Wenn ein Statement kam, das AC nicht kannte, hat der Interpreter vor der Fehlermeldung erstmal geschaut, ob es ein Makro mit dem Namen gibt und es damit probiert. Geht aber mindestens seit Version 7 nicht mehr. Wie AC da allerdings die Makros bei der PLA-Sicherung rausgeflöht hat, weiß ich nicht.
zzyzx
Newcomer
danke für die ausführlichen erläuterungen.
da müssen wir mal den novoferm-türenmann zu dir in' nachhilfekurs schicken 😉
Anonymous
Nicht anwendbar
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">...ich meine mich zu erinnern, dass per call eingebundene objekte unter umständen nicht ins archiv eingebunden werden.Dem muß ich nun, ohne es getestet zu haben, einen Nachschlag verpassen:

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">External file dependence

FILE_DEPENDENCE "name1" [, "name2", ...]

You can give a list of external files on which your GDL script depends on. File names should be constant strings.
All files specified here will be included in the archive project (like constant macro names used in CALL statements and constant picture names used in various GDL commands). The command works on this level only: if the specified files are library parts, their called maro files will not be included.
The command can be useful in cases when external files are referenced at custom places in the GDL script, for example: ADDITIONAL_DATA file parameters, data files in file operations.Seit AC9 (Der Kenner erkennts am Zitat aus dem englischen Handbuch; Hallo Holger, wann kommt das deutsche? 😉 ) gibt es nun diesen netten Befehl, mit dem man Dateien gezielt in Archive einbinden kann. Man müßte mal probieren, ob das schon mit der MASTER_GDL geht. So könnte man einem Archiv den Standard-Dateisatz, der zu einer BIB gehört mit reinpacken.