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

Fehlermeldung im 2D Sript

Anonymous
Nicht anwendbar
Hallo, ich versuche gerade nach Anleitung dieses GDL Tipps: Objekt kippen ein Objekt mit ROTx zum kippen zu bewegen.

im 2D Script bekomme ich folgende Fehlermeldung:


Kann mir jemand helfen? Was mach ich falsch?

Danke Gruß
3 ANTWORTEN 3
poeik
Virtuoso
Wenn das ursprüngliche 2D-Script nicht mit Parametern für die Grundrissdarstellung ausgerüstet war reicht wahrscheinlich:

PROJECT2 3, 270, 2

Den Rest des 2D-Scripts kannst du löschen.
Die von b-prisma vorgeschlagene IF-THEN Zeile sagt ja, dass das ursprüngliche 2D-Script zum Einsatz kommt, wenn das Objekt nicht gekippt wird. Bei komplexen Objekten kann die gekippte Projektion ziemlich Ressourcen benötigen.

Gruss, poeik
ArchiCAD CHE 5 - 27 - Windows 10
Anonymous
Nicht anwendbar
Der Script-Tipp stammt noch von einer ArchiCAD-Version 7 oder 8.
Seit ArchiCAD 9 werden Gleich- oder Ungleich-Vergleiche mit Fließkommazahlen bemängelt, da es zu Präzisionsproblemen führen kann.
Das "<>0" bedeutet "ungleich Null", was vom Wert 0 als Fliesskommazahl eine Präzion von 0.00000000 fordern würde.
Folgendes funktioniert jedoch ohne Fehlermeldung:

IF winx>0 OR winy>0 OR winx<0 OR winy<0 THEN 
PROJECT2 3,270,2
ELSE

ENDIF
Hier wird dem Wert Null eine mindere Präsision gestattet, da es nicht von 2 Seiten fixiert ist.
Also sind Vergleiche mit Fließkommazahlen immer nur mit > oder < zulässig, wenn man Fehlermeldungen vermeiden will.
Diese Art der Fehlermeldungen treten im Übrigen nur im Script auf und nicht bei der Anzeige der GDL-Objekte, z.B. im Grundriss.
Aus Gründen sauberen Scriptings sollte man sie aber vermeiden.
Siehe auch: Graphisoft GDL Technical Standards
Anonymous
Nicht anwendbar
Danke an euch beide, es ist tatsächlich so, das PROJECT2 3, 270, 2 ausreicht. Ansonsten steht nämlich nix im Script. Es handelt sich um ein einfaches, selbsterstelltes Objekt.