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 Editor

Anonymous
Nicht anwendbar
Zum gdl programmieren wäre e toll wenn der gdl editor überarbeitet würde
(keine Wunschliste mehr im Forum, deshalb poste ich hier)

Andere scripting editoren arbeiten mit unterschiedlichen Farben für.
-if schleifen
-Befehle
-Variablen
-eigene Vermerke
-........

Nur so als Anregung 😉
15 ANTWORTEN 15
graber
Advocate
zustimmung.
zudem hätte ich gerne eine (Rück)-Referenzierung: z.B. Wenn ich auf einen Endif Befehl klicke, möge er mir die entsprechende If-Zeile anzeigen, oder wenn ich auf einen del Befehl klicke den/die entsprechenden Befehl(e).
Anonymous
Nicht anwendbar
meine persönliche Einschätzung: äußerst geringe Chancen auf Umsetzung! der GDL Editor wird nur von den Anwendern verwendet, die Programmierer verwenden ein anderes Tool.

und die wunschliste gibt es ja eh noch! Nur muss man eingelogt sein, damit diese sichtbar ist.
Anonymous
Nicht anwendbar
mac_martin
Newcomer
Ich hab diesen Beitrag über google gefunden.

Nachdem ich mich seit einigen Tagen in GDL einarbeite, ist auch mir das Fehlen eines vernünftigen Editors aufgefallen.
Der in ArchiCAD integrierte Editor ist jedenfalls eine Qual, die schon fast an Sadismus grenzt.

Allein die Warnung "Nicht initialisierte Variable gefunden in Zeile ..." macht mich verrückt.
Ist es den wirklich zuviel verlangt, wenn der Name der Variablen mit ausgegeben wird, wenn in einer Anweisung 20 und mehr Variablen stehen können?

Neben den o. g. Vorschlägen würde ich mir noch ein vollständig konfigurierbares Syntax-Highlighting, eine konfigurierbare Auto-Indent (Einrückungen) und eine konfigurierbare Automatische Vervollständigung wünschen.
Außerdem eine ein- und ausschaltbare Zeilennummerierung, die man dann aber auch bitte mit dem Code kopieren kann (gut für Nachfragen im Forum)

Auto-Vervollständigung stelle ich mir so vor, dass ich z. B. SLAB eingebe und die erforderlichen Variablen und Parameter automatisch ergänzt werden.
Außerdem sollten verwendete Variablen sich durch TAB vervollständigen lassen.
Wer schon mal mit der Z Shell gearbeitet hat, weiß was ich meine.

Im Grunde gibt es schon einen Editor, der das alles kann (und noch viel mehr).
Er heißt vim und muss nur mit entsprechenden Syntax- und .vim-Dateien ausgestattet werden, was keine große Sache ist.
Das Problem ist nur, dass die Integration in ArchiCAD fehlt.

Besonders schön wäre ein Vorschaufenster in Echtzeit.

"foxarch" wrote:
meine persönliche Einschätzung: äußerst geringe Chancen auf Umsetzung! der GDL Editor wird nur von den Anwendern verwendet, die Programmierer verwenden ein anderes Tool.

Ich sag´s ja, Sadismus 😉.
Nein, jetzt mal im Ernst.
Die Programmierer erstellen vermutlich auch keine umfangreichen und langfristigen Planungen in ArchiCAD und trotzdem werden Werkzeuge entwickelt, die das ermöglichen und erleichtern.

Ich befürchte aber auch, dass solche Wünsche auf der Prioritätenliste ziemlich weit unten stehen.
"Komfortable IDE für Bibliothekselemente" dürfte für viele Benutzer kein umwerfendes Kaufkriterium sein.

Gruß
mac.martin
iMac 27'' - 3,4 GHz - RAM 16/32 GB - VRAM 2 GB
AC 10-aktuell
Frank Beister
Advisor
Graphisoft selbst entwickelt seine Bibliotheken mit einem eigenen System. Welchem weiß ich nicht, aber es wird auch nicht öffentlich gemacht. Hat man mir zumindest gesagt. Damit machen sie auch die Übersetzung und Mehrsporachigkeit. Deswegen wird es hierfür auch wohl keine Unterstützung für das Entwickler-Fußvolk geben.

Durch den XML-Konverter besteht aber prinzipiell die Möglichkeit extern zu entwickeln und automatisiert zu compilieren und dann in AC oder dem webcontrol zu testen. Müsste halt mal einer machen. 🙂 Als Platform ließe sich da sicher sowas wie Eclipse verwenden.

Ein paar hilfreiche Tools (Formatierung, Variablennamenanalyse...) könnte man allerdings auch in Java oder dergl. entwickeln. Aber auch da müsste sich einer mal ransetzen.

Es gab in früheren Zeiten mal 3d party - Entwicklungen einer IDE. Das war aber nie besser als die in ArchiCAD integrierte.

Wenn du dir nur mal Übersicht über den Quellcode verschaffen willst, probiere mal Proton. Ich habe dafür eine Erweiterung gemacht, die für die Syntax bis AC10 ein Syntax Highlighting anbietet. Mehr aber nicht. Link.

Auch meine These: Die IDE wird nicht grundlegend verbessert werden. Kein Markt.
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
mac_martin
Newcomer
Ach, opengdl ist auch von Dir. Wo man Dich überall findet 😉.
Die Seite hatte ich auch schon gegoogelt, aber noch nicht näher angeschaut.

Der Hinweis auf den XML Konverter ist gut.
Den kann man sogar auf der Unix Kommandozeile benutzen.
Wie das anderweitig richtig geht, hab ich noch gar nicht herausgefunden 🙂

Die "diversen" Skripte kann man in XML anscheinend ganz normal editieren
Die <ParameterSection> ist haarig und mit <Drawing> kann ich noch gar nichts anfangen.
Wenn der Editor hier hinter den Kulissen laufend rein schreibt, wird's düster für manuelles Editieren.
Muss man testen.
Die Zeilen 2 - 9 sollte ich wohl (zumindest vorerst) besser auch von ArchiCAD erstellen und dann in Ruhe lassen.

Ich werde mich dann wohl mal gelegentlich hinter ein Syntax File und ein abrev-Set für vim klemmen.
Gibt es irgendwo eine nackte Liste aller GDL-Anweisungen und andere Schlüsselwörter (am besten sortiert nach "Typ")?

Man könnte das sogar so weit treiben, dass man (zumindest für die wichtigeren Anweisungen) Hilfe Dateien schreibt. Dann bekommt man mit ":h CROOF_" beispielsweise eine Hilfe zu den einzelnen Variablen usw. Man müsste dann für viele Dinge gar nicht mehr ins Referenzhandbuch schauen.
Okay - ist wohl im Mom. nicht das Wichtigste.

Man kann auch direkt aus vim heraus kompilieren. Ein Makefile wird dann u.U. für weiteren Komfort sorgen können - das wird sich zeigen.

Ein Problem sehe ich noch darin, dass man Bibliotheken mit neu kompilierten Objekten in ArchiCAD neu laden muss, damit man die Objekte benutzen kann.

Hast Du eine Idee, wie man das automatisieren kann (am besten von außerhalb ArchiCAD)?
Am Mac geht's evtl. mit osascript und GUI Scripting.
iMac 27'' - 3,4 GHz - RAM 16/32 GB - VRAM 2 GB
AC 10-aktuell
Frank Beister
Advisor
Alle Befehlswörter hatte ich seinerzeit direkt aus einer ArchiCAD-Datei mit einem Resourcenmonitor (glaube ich) rausgeholt. Als Start kannst du ja meine Datei für Proton nehmen.

Als Editor empfehle ich dir einen, der mit XML vernünftig umgehen kann. Ich weiss nicht, an welcher Version es liegt, aber nicht alle gehen mit dem Umlauten korrekt um. Außerdem verwenden die Objekte intern auch erst ab einer höheren Version durchgängig Unicode.

In der Drawing-Sektion sind die geometrischen 2D-Elemente abgelegt.

Dein Ansinnen in Ehren, aber blos, weil man GDL-Objekte mit dem Konverter in lesbarer Form vor sich hat, ist ein besserer (!) Editor nicht im Handumdrehen geschrieben.

Im Übrigen wird wohl GS genau mit so einer IDE seine Bibliotheken entwickeln und gleich komplette Bibliotheken in mehreren Sprachversionen aus dem gleichen File erzeugen.

Wenn ich dich recht verstanden habe, arbeitest du dich gerade in GDL ein. Dann mache das erstmal. Da sind auch schon genug Fallstricke dabei und die sind nicht in der IDE begründet.
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
mac_martin
Newcomer
"Beister" wrote:
...
Dein Ansinnen in Ehren, aber blos, weil man GDL-Objekte mit dem Konverter in lesbarer Form vor sich hat, ist ein besserer (!) Editor nicht im Handumdrehen geschrieben.

Darum geht es nicht.
In lesbarer Form hat man die GDL Objekte ja auch im ArchiCAD Editor vor sich.
Ich möchte auch weder einen neuen Editor und schon gar keine IDE schreiben.
Ich möchte nur einem (aus meiner Sicht) sehr guten Editor beibringen, GDL so darzustellen, dass man etwas leichter damit arbeiten kann.
Mir ist auch klar, dass ich meine hochfliegenden Wünsche, zumindest vorerst auf einige wenige, aber essentielle Punkte, wie Auto-Vervollständigung, Highlightung, Einrückung und vielleicht noch eine integrierte Hilfe herunterschrauben muss.
Diese sollten sich aber mit überschaubarem Umfang umsetzen lassen, womit ich auch schon angefangen habe.

Im Augenblick hakt es ein wenig an der etwas eigenartigen
<![CDATA[
...
]]>-Klammerung in den Skripten.

"Beister" wrote:
...
Wenn ich dich recht verstanden habe, arbeitest du dich gerade in GDL ein. Dann mache das erstmal. Da sind auch schon genug Fallstricke dabei und die sind nicht in der IDE begründet.

Gerade weil ich mich erst einarbeite, kann eine Verbesserte Darstellung des GDL-Codes eine erhebliche Erleichterung sein.
Und gerade weil ich mich erst einarbeite, möchte ich mich auch nicht mit irgendwelchen Sprachen oder Editoren arbeiten, die ich nicht kenne.
In vim bin ich (mehr oder weniger) fit. Daher meine erste Wahl.


Gruß
mac.martin
iMac 27'' - 3,4 GHz - RAM 16/32 GB - VRAM 2 GB
AC 10-aktuell
mac_martin
Newcomer
Hier mal das Ergebnis meiner ersten Versuche.
Nicht perfekt, aber für mich schon mal ne Verbesserung.

Das Syntax-Highlighting lässt sich sehr leicht beliebig konfigurieren und ist auch noch nicht ganz so, wie ich es gerne hätte, z. B. wird später bei den Transformationen die ganze Zeile in der entsprechenden Farbe sein. Bei den Steueranweisungen (GOSUB) muss ich mir noch überlegen, wie ich die Sprungmarken haben will.

Autovervollständigung ist angelegt.
Wenn ich z. B. 'SLAB ' eingebe, kommt 'SLAB n, h, x1, y1, z1' und der Cursor springt auf 'n' zurück.

Die Zeilennummerierung lässt sich durch Knopfdruck (F3 / F4) ein- und ausblenden.

Die Einrückungen sind derzeit noch von Hand, aber auch hier kann man noch was machen.

Oben sieht man das Hilfe Fenster.
Durch Eingabe von z. B. ':h SLAB' kann man es direkt im Editor aufrufen.
Mit :q wird es wieder geschlossen.
Die Höhe lässt sich anpassen. Eingabe von z.B. z45 macht das Hilfe Fenster 45 Zeilen hoch.
Syntax-Highlighting im Hilfe Fenster hab ich (noch) nicht gemacht.

Beim Ausarbeiten ist mir noch die Idee gekommen, Faltungen anzulegen.
Das heißt, kann setzt an bestimmten Stellen im GDL Code Faltmarken. Dann kann man die entsprechend markierten Bereich durch "Knopfdruck" ein- und ausfalten.

Ach ja: Das Ganze hat mich bisher rund 2 1/2 Stunden Zeit gekostet und das auch nur, weil ich einige Sachen erst in der Doku lesen musste. Find ich gar nicht mal so aufwändig.

iMac 27'' - 3,4 GHz - RAM 16/32 GB - VRAM 2 GB
AC 10-aktuell