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 - User Interface - Script Kommafehler

Andreas81ch
Expert

Hallo zusammen,

 

Möchte ein wenig mit GLD Scripts beginnen. Vor allem eigene User Interfaces bei Objekten.

 

Kachel:

User Interface Script

 

Gemäss GDL Handbuch folgender Befehl;

UI_SLIDER
UI_SLIDER "name", x0, y0, width, height [, nSegments [, sliderStyle]]

 

Wenn ich im Script jetzt folgendes schreibe;

UI_SLIDER "TEST SLIDER", x30, y10, 100, 30 [, 3 [, 0,]]

 

Kommt immer die Fehlermeldung:

Fehlendes Komma in Parameterliste bei Zeile X (...UI_SLIDER...) im Oberfläche-Script der Datei (XYZ).gsm

 

....Unter Parameter gibts ja keine nummerierten Zeilen, nur beim Sript selber......

 

PS:
Bei den Parametern gibt es bei der Darstellung 4 Punkte;

-Rotes Kreuz

-Striche mit Pfeil

-B

-U

Wie ist dies alles gemeint?

 

und Nachfrage; Wenn man Objekte selber erstellt auf der Arbeitsfläche oder über den Library Part Maker, kann man von diesen Objekten und den 2D-, resp. 3D-Script auch rein- und rauskopieren?

 

Danke im Voraus für detaillierte Antworten.

 

 

Operating system used: Windows 10

ArchiCAD v6.5 - 28 (CHE Swiss Edition) / macOS / Windows (Switzerland / Schweiz)
Workstation office specs: mac OS, Apple M2 Max, 64 GB RAM
6 ANTWORTEN 6
Andreas81ch
Expert

Noch eine Frage vergessen:

Was unterscheiden folgende Scripte;

-Masterscript

-Eigenschaftenscript

-Parameterscript

 

PS:
Beim Script Tool kann man die Befehle aufrufen, aber warum sieht man da nicht alle GDL Befehle? z.B. Vom User Interface kann man keine einzige direkt aufrufen.... !?

 

Und wenn ich dann das Objekt speichern möchte kommt folgenden Meldung:

"Es treten Fehler im User Interface-Script auf"

 

ArchiCAD v6.5 - 28 (CHE Swiss Edition) / macOS / Windows (Switzerland / Schweiz)
Workstation office specs: mac OS, Apple M2 Max, 64 GB RAM
Hmooslechner
Moderator

Grundsätzlich mal - Wenn du so einen Fehler siehst, stimmt etwas mit der Syntax nicht , also ist irgendwo wirklich ein Kommafehler oder ein fehlender Parameter für diesen angezeigten Befehl vorhanden. 

Versuch mal den Befehl ohne die optionalen Parameter (lass den Teil mit den Eckigen Klammern mal ganz weg und lass es testen).

 

Wenn in irgendeinem Script ein Fehler drin ist, verhindert Archicad das Speichern, weil ja sonst das Element nicht funktioniert und Du möglicherweise in Archicad dann gar nichts angezeigt bekommst, wenn Du es einsetzt.

 

Leider gibt es keine wirklich umfassende GDL-Doku mit ausreichend Beispielen. ABER - Du kannst Dir in der normalen Bibliothek ein Teil suchen, daß Deine gesuchte Funktionalität aufweist und dieses Teil mal im Script öffnen und nachschauen, wie "die Archicadianer" das selber gelöst haben. Aber auch hier gibt es eine seeeeehr lästige Einschränkung - viele Bibliothekselemente verwenden intern Aufrufe auf externe Scripts, denen nicht ganz so leicht nachzugehen ist. Trotzdem solltest Du. mal von den "Grapisoft-GDL-Experten" selber lernen, indem Du Gedanken aus den vorhandenen Elementen klaust.

 

Masterscript - wird einfach vor den 2D und 3D-Scripten ausgeführt - was man dort berechnet, kann man also in beiden (2D und 3D) dann nutzen.

Parameterscript - hauptsächlich - soll nur Deine Parameter einschränken und umformen, bevor sie dann in den eigentlichen Script verwendet werden - also zum Beispiel nur bestimmte Werte und Wertebereiche zulassen - (nur von 0 - 9 Stück oder nur von30-50° usw.)

Eigenschaftenscript: hab ich noch nie gebraucht.

 

Tip am Rande: Such mal im Netz nach GDL-Cookbook und/oder nach selfGDL

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
FStudzinski
Graphisoft Partner
Graphisoft Partner

Da stimmte einiges nicht

In der Doku stehen die optionalen parameter in eckigen Klammern, diese werden aber nicht in dem Befehl geschrieben. Variablen dürften keine Lehrzeichen etc. enthalten.

 

So klappt es dann:

UI_SLIDER "TEST_SLIDER", 30, 10, 100, 30 , 3 , 0

 

Anworten auf die anderen Fragen findest du auf den ersten Seiten des GDL Handbuchs

 

 
 
 
 
 
FST
Frank Beister
Moderator

Hast du schon mal programmiert? Also keine Excel Formel, sondern ein Programmskript geschrieben? 

Programmiersprachen sind vom Grundprinzip ähnlich und haben ähnliche Bestandteile. GDL ist sehr rudimentär in Aufbau und Syntax. Da wird dir eher was fehlen, als dass du auf unbekanntes triffst. Deine Probleme/Fragen sehen so aus, als hättest du da grundlegende Lücken.

"Tip am Rande: Such mal im Netz nach GDL-Cookbook und/oder nach selfGDL"

Bester Tipp dazu-

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
archig
Expert

@Andreas81ch  schrieb:

Möchte ein wenig mit GLD Scripts beginnen. Vor allem eigene User Interfaces bei Objekten.


Schön, 

Vor allem eigene User Interfaces bei Objekten.


aber damit anzufangen, würde ich eher nicht raten. Das ist der eher schwierigere Teil. Fang erstmal mit der eigentlichen Funktionalität des Objekts an, und mach das UI erst in einem zweiten Schritt

 

 

... von den "Grapisoft-GDL-Experten" selber lernen, indem Du Gedanken aus den vorhandenen Elementen klaust..

Dafür ist eine hohe Leidenstoleranz notwendig... 

ArchiCAD 25 / Windows 10

Guten Tag,


Danke für die Tipps, direkte Programmiersprache ist für mich ein wenig neu.

Zum Glück gibts SelfGDL auch auf deutsch.

 

Werde es mal so ausprobieren....

 

PS:
Es ist einfach Schade, dass Library Part Maker und Param-O etc. wieder separat sind und nicht zusammen zu bearbeiten sind.
Weil mit dem LPM Tool ist es relativ einfach Objekte zu erstellen mit Darstellungsoption. Finde da blöd, dass man da nur die Modell Darstellung einstellen kann und keine "Varianten"...... So kann man theoretisch 3 Varianten erstellen (muss man beim Objekt dann Modelldarstellung einzeln einstellen).

 

Es gibt ja div. Objekte von ArchiCAD, da muss man halt u.a. auch suchen und probieren, wieso warum, etc. Sachen so eingestellt sind.

 

 

ArchiCAD v6.5 - 28 (CHE Swiss Edition) / macOS / Windows (Switzerland / Schweiz)
Workstation office specs: mac OS, Apple M2 Max, 64 GB RAM

Setup info provided by author