am 2025-07-28 10:54 AM
Ich möchte eine Höhenkotenobjjekt erstellen welches in 3D und Grundriss sichtbar ist.
Hierzu möchte ich die absolute Höhe und die Abstand zum Ursprungsgeschoss durch den Befehl TEXT2 auslesen lassen.
DIese Parameter hab ich dazu gefunden:
https://gdl.graphisoft.com/reference-guide/built-in-property-guide/
Leider weis ich nicht ob dies hierzu brauchbar ist und ob ich diesen Parameter durch einen TEXT auslesen kann:
"Builtin.General_ElevationToSeaLevel"
Gelöst! Gehe zu Lösung.
am 2025-07-28 12:42 PM
Du kannst als Abstand den Parameter "GLOB_ELEVATION" verwenden.
TEXT2 0,0,GLOB_ELEVATION
Wenn du diesen in Bezug zu den 4 möglichen Referenzhöhen setzen möchtest...
... dann kannst du diese mit auslesen.
REQUEST ("REFERENCE_LEVEL_DATA", "", name1, elev1, name2, elev2, name3, elev3, name4, elev4)
also z.B. zur Meereshöhe:
n = REQUEST ("REFERENCE_LEVEL_DATA", "", name1, elev1, name2, elev2, name3, elev3, name4, elev4)
TEXT2 0,0,GLOB_ELEVATION+elev4*(-1)
PS: Die Werte sollten natürlich noch sinnvoll formatiert werden und nicht nur einfach so, wie in meinem Beispiel verwendet werden.
2025-07-28 01:06 PM - bearbeitet 2025-07-28 01:08 PM
Hier die Requests: REQUEST Options | GRAPHISOFT GDL Center
Hier die Globalen Parameter: General Libpart Parameters | GRAPHISOFT GDL Center
Der Request Befehl mit "Reference_Level_Data" liefert dir einfach 8 Werte zurück. Jeweils den Namen und den eingetragenen Wert (siehe Screenshot).
Es sollte im Screenshot übrigens nicht "Ansicht" sondern "Höhe" heißen. Das ist das Problem von der englischen Übersetzung von "Elevation"
am 2025-07-29 11:46 AM
n = REQUEST ("REFERENCE_LEVEL_DATA", "", name1, elev1, name2, elev2, name3, elev3, name4, elev4)
myVal = GLOB_ELEVATION + elev4 * ( - 1 )
eps = 0.00001
_plus = ""
IF ABS(myVal) < eps THEN _plus = "±"
IF myVal < 0 THEN _plus = ""
IF myVal > 0 THEN _plus = "+"
myString = _plus + STR(myVal, 4, 2)
TEXT2 0, 0, myString
So geht es am einfachsten, aber man kann die Nachkommastellen auch noch nach den Projektpräferenzen ausgeben lassen.
am 2025-07-28 12:42 PM
Du kannst als Abstand den Parameter "GLOB_ELEVATION" verwenden.
TEXT2 0,0,GLOB_ELEVATION
Wenn du diesen in Bezug zu den 4 möglichen Referenzhöhen setzen möchtest...
... dann kannst du diese mit auslesen.
REQUEST ("REFERENCE_LEVEL_DATA", "", name1, elev1, name2, elev2, name3, elev3, name4, elev4)
also z.B. zur Meereshöhe:
n = REQUEST ("REFERENCE_LEVEL_DATA", "", name1, elev1, name2, elev2, name3, elev3, name4, elev4)
TEXT2 0,0,GLOB_ELEVATION+elev4*(-1)
PS: Die Werte sollten natürlich noch sinnvoll formatiert werden und nicht nur einfach so, wie in meinem Beispiel verwendet werden.
am 2025-07-28 12:54 PM
Vielen Dank!
Stehen diese Angaben:
"
("REFERENCE_LEVEL_DATA", "", name1, elev1, name2, elev2, name3, elev3, name4, elev4)
"
irgendwo beschrieben?
Oder woher weis man, dass da name1,elev1,... usw. hinter dem Befehl stehen muss?
2025-07-28 01:06 PM - bearbeitet 2025-07-28 01:08 PM
Hier die Requests: REQUEST Options | GRAPHISOFT GDL Center
Hier die Globalen Parameter: General Libpart Parameters | GRAPHISOFT GDL Center
Der Request Befehl mit "Reference_Level_Data" liefert dir einfach 8 Werte zurück. Jeweils den Namen und den eingetragenen Wert (siehe Screenshot).
Es sollte im Screenshot übrigens nicht "Ansicht" sondern "Höhe" heißen. Das ist das Problem von der englischen Übersetzung von "Elevation"
am 2025-07-29 09:17 AM
Ich bekomme beim Textoutput . statt ,
Kann man das durch formatieren auf Komma ändern?
z.B.: 347,78 statt 347.78
Kann man den Textwert auf 2 Dezimalstellen begrenzen?
Kann man beim Outputwert + - ± automatisch einfügen?
am 2025-07-29 11:46 AM
n = REQUEST ("REFERENCE_LEVEL_DATA", "", name1, elev1, name2, elev2, name3, elev3, name4, elev4)
myVal = GLOB_ELEVATION + elev4 * ( - 1 )
eps = 0.00001
_plus = ""
IF ABS(myVal) < eps THEN _plus = "±"
IF myVal < 0 THEN _plus = ""
IF myVal > 0 THEN _plus = "+"
myString = _plus + STR(myVal, 4, 2)
TEXT2 0, 0, myString
So geht es am einfachsten, aber man kann die Nachkommastellen auch noch nach den Projektpräferenzen ausgeben lassen.