Phillip Ohm rief mich gerade an und hat mich auf einen Rundungsfehler bei den Globalen Variablen aufmerksam gemacht; speziell geht es um die Geschosshöhen.
Zur Erläuterung eine Grafik von László Nagy (bei Graphisoft.com veröffentlicht).
<img src="http://www.download.b-prisma.de/objekte/Glob_Story.gif" alt=" - " />
Den Fehler bemerkte Phillip, weil das GDL-Objekt "Deckendurchbruch_Symbol.gsm" nicht korrekt funktionierte. Dieses Objekt erstellt z.B. im Keller das Symbol eines Deckendurchbruches und automatisch im Geschoss darüber das Symbol eines Bodendurchbruchs; leider trat der Fehler auf, dass in beiden Geschossen das Deckendurchbruch-Symbol angezeigt wurde.
Phillip kam auf die Idee sich die Globals mit TEXT2 anzeigen zu lassen und die Differenz, die eigentlich Null sein sollte, war ein Wert mit einem Exponenten von 10 hoch minus 16.
<img src="http://www.gdl-talk.de/objekte/Glob_Bug.gif" alt=" - " />
Das Script musste man deshalb minimal verändern, um die Rundungsfehler zu beseitigen.
Statt dem alten Script:
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"> if GLOB_CSTORY_ELEV=GLOB_HSTORY_ELEV+GLOB_HSTORY_HEIGHT then goto 20
würde man (abgekürzt) schreiben:
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">IF Q~<B_+Q_+0.001 AND Q~>B_+Q_-0.001 THEN GOTO 20Danke, Phillip für den Hinweis.
ArchiCAD 9 geht ja etwas anders mit Fliesskommazahlen um. Vergleiche mit selbigen (Z.B. IF A=1.5) werden mit einer Fehlermeldung quittiert. Vielleicht tritt obiger Fehler ja bei AC9 nicht mehr auf.
[ 02. Juli 2005, 22:19: Beitrag editiert von: Jochen Suehlo ]