abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Programmierung
Alles über Programmierung in GDL und Python

GDL aus AC21 funktioniert nicht mehr in AC20

Anonymous
Nicht anwendbar
Hallo zusammen,

wir haben hier eine ziemlich große eigene Objektbibliothek. Die meisten Objekte wurden mit AC20 erstellt. In letzter Zeit habe ich einige davon mit AC21 überarbeitet - heißt Kleinigkeiten wie 2D Darstellung angepasst, Vorschau ergänzt usw. auch neue Objekte wurden erstellt.

Nun ist es so, dass auf die selbe Bibliothek AC20 und AC21 Projekte zugreifen und ich in den AC20 Projekten nun fehlende Objekte habe. Das sind eben diese mit AC21 bearbeiteten und erstellten Objekte .

Den Warnhinweis die alte Version zu überschreiben habe ich auch so verstanden, dass man die Objekte nur noch in AC21 bearbeiten kann - aber von platzieren war nicht die Rede ...

Gibt es eine Möglichkeit in der Programmierung in AC21 etwas einzustellen damit die Objekte auch wieder in AC20 funktionieren? Sonst sind alle Projekte die auf die gleichen Objekte zugreifen und nicht AC21 sind ab jetzt unbrauchbar und für immer unvollständig. Das kann es ja irgendwie nicht sein ...

Ich bin um jede Hilfe dankbar.
Viele Grüße,
Marina
8 ANTWORTEN 8
Anonymous
Nicht anwendbar
GDL-Objekte sind (leider) grundsätzlich nicht abwärtskompatibel.
D.H. man kann kein in AC 21 erstelltes oder bearbeitetes Objekt in keiner früheren Version benutzen.
Es gibt mehrere Möglichkeiten, Objekte wieder zurückzukonvertieren:
a) Scripte händisch übertragen: allg. zu aufwändig
b) Objekte in ArchiCAD-PLN einbetten und dann die PLN speichern als ArchiCAD 20 Version und Haken setzen bei Objekte rückwärts kompatibel machen (das sollte theoretisch funktionieren, ich habe das aber noch nie in der Praxis ausprobiert, weil ich immer mit c) arbeite)
c) den sog. LP_XML_Converter verwenden (siehe http://www.graphisoft.com/ftp/techsuppo ... erter.html); damit kann man eine Bibliothek in einem Rutsch zurückkonvertieren.
Wenn Du damit nicht zurecht kommst, schick mir die Objekte, ich lass das kurz durchlaufen.

Empfehlung: Immer Objekte in der niedrigsten Version , welche man verwendet, bearbeiten,
Anonymous
Nicht anwendbar
Ok - danke für die schnelle Antwort.

Das ist natürlich schade. Vor allem weil man dann von Neuerungen der neuen ArchiCAD Versionen nicht profitieren kann.

Habe jetzt mal b) ausprobiert - das Problem scheinen die Baustoffe zu sein die seit AC21 mit in die Skripte eingebettet werden. Die Objekte die noch mit AC20 abgespeichert wurden und nur mit AC21 modifiziert wurden konnte ich in der abgesicherten AC20 Datei auch benutzen. Die restlichen - mit AC21 neu erstellten, nicht selbst programmiert - waren nicht sichtbar.

Kann das der Converter denn rausziehen? Ansonsten kann man auch die Skripte nicht kopieren, da sind ja auch überall Baustoffe drin ...

Dann hilft wohl nur umwandeln in Morph und nochmal von vorne ...
Anonymous
Nicht anwendbar
Das ist natürlich schade. Vor allem weil man dann von Neuerungen der neuen ArchiCAD Versionen nicht profitieren kann.

Naja. Die Neuerungen sind ja auch in der neuen ArchiCAD Version und nicht im GDL oder Objekt.

Der Konverter hat einen Schalter für das Downgrading.

C:/Program Files/Graphisoft/ArchiCAD 21/LP_XMLConverter.exe l2x -compatibility 20 ...


Wenn es da auch an den neuen Variablentypen hängt, musst du sie vielleicht vorab in 21 zurückstellen.

Achtung! Die Objekte unterscheiden / identifizieren sich an einer internen ID. Bildest Du Forks mit unterschiedlichen Funktionalitäten in unterschiedlichen Versionen, musst Du neue Objekte mit neuer ID erzeugen und ggf. Migrationsskripte in den neuen Objekten anlegen.
Anonymous
Nicht anwendbar
Also ich habe jetzt vor dem abspeichern als AC20 Datei die Objekte in der Eingebetteten Bibliothek händisch von den Baustoffen befreit - ging recht flott da es nicht so viele waren.

Danach gab es in der AC20 Datei keine Probleme mehr.
Habe die AC21 Objekte dann durch die AC20 Objekte ersetzt - Vorsicht kein neues Bibliothekselement erstellen - und dann funktioniert alles wieder ...

Danke für eure Antworten.
Anonymous
Nicht anwendbar
Es lohnt sich von den Objekten neue Versionen zu erstellen, die auch die neuen Möglichkeiten enthalten. Im Migrationsskript kann man festlegen, wie die Parameter dann auf die neuen Objekte übertragen werden. Und man muss auch festlegen, welche Altobjekte die neuen Versionen ersetzen.

Und immer am Ende einer Planungsphase ein PLA erstellen unud die verwendeten Objekte mit einbetten lassen. Diese Container können auch später mal als Quelle dienen, wenn doch mal irgendwo ein Objekt alten Datums fehlt. Das muss nicht immer ein Versionssprung sein. Manchmal entwickeln sich die Objekte im Lauf der Zeit auch "zu sehr" für alte Planungsdateien.
Anonymous
Nicht anwendbar
Das mit der Migration kling recht sinnvoll, vor allem für zukünftige Versionen!
Allerdings ist das ein Gebiet mit dem ich mich noch gar nicht befasst habe.

Hilft es da nur das GDL Handbuch zu durchforsten oder kann man sich dazu vielleicht ein Beispiel ansehen? Das GDL Kochbuch gibt dazu keine Infos und auf den einschlägigen selfGDL Seiten finde ich nur Infos über die einzelnen Befehle, aber nicht deren Zusammenhang.
Frank Beister
Moderator
"Marina_quer" wrote:
[...] und auf den einschlägigen selfGDL Seiten finde ich nur Infos über die einzelnen Befehle, aber nicht deren Zusammenhang.


-> selfGDL
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
Oh man - komplett übersehen. Danke.