2025-01-09 10:06 AM - bearbeitet 2025-01-09 10:07 AM
Liebe Community!
Ich verwende sehr gerne das Objekt "3D Höhenkote" von Heimo Mooslechner.
Könnte mir jemand helfen wie ich es so umstellen/ umschreiben könnte, sodass mir der Wert "über Meeresspiegel" anstelle "bezogen auf Projekursprung" angezeigt wird?
Vielen Dank im voraus!
Claudia
Gelöst! Gehe zu Lösung.
am 2025-01-10 05:07 PM
gute Idee!
hier mal das geänderte Objekt in einer AC28EduAut-Datei:
Änderungen 10.1.2025: Normal-Null (Meereshöhe) alsOption hinzugefügt - einmal die Normal-Null des Projektes oder alternativ die Eingabe einer eigenen Höhenangabe.
neu angelegte Parameter:
"NN" - Schalter ob man die Normal-Null haben will - wenn ja, dann noch:
"eingeneNN" - wenn man dort eine Zahle eingibt, wird dann diese zur ermittelten Höhe des Objektes hinzugefügt, wenn dort 0 drin ist, dann nimmt es die Projekt-eingestellte Meereshöhe.
2D-Script:
Hotspot2 0, 0
Dingz = SYMB_POS_z
DEFINE STYLE BemTextStyle "Arial", zzyzx/3/GLOB_SCALE*1000, 8, 0
style BemTextStyle
circle2 0,0,ZZYZX/3
line2 -ZZYZX/3, 0, ZZYZX/3, 0
line2 0,-ZZYZX/3,0,ZZYZX/3
add2 0,zzyzx/3*1.2
if eingeneNN # 0 then
Meereshohe = eingeneNN
else
Meereshohe= GLOB_PROJECT_ALTITUDE
endif
if nn = 1 then
TEXT2 0, 0, str(Dingz+Meereshohe, 7, 2)
else
TEXT2 0,0, str(Dingz, 7, 2)
endif
del 1
3D-Script:
EPS = 0.00001 !!!Einfach ein kleiner Wert..
!CameraX = GLOB_EYEPOS_X !!!Versuch den Text immer lesbar hinzudrehen - aber dies erfordert einen Neuaufbau 3D
!Cameray = GLOB_EYEPOS_y
!Cameraz = GLOB_EYEPOS_z
!Dingx = SYMB_POS_X
!Dingy = SYMB_POS_y
Dingz = SYMB_POS_z
!xdist = CameraX - Dingx
!ydist = Cameray - Dingy
!
!Dist = SQR(xdist^2 + ydist^2)
!
!
!
!
! beta = xdist/dist
! IF beta > 1 THEN beta = 1
! IF beta < -1 THEN beta = -1
!
! alpha2D = ACS (beta)
!
material Pfeilmat
!!! CONE h, r1, r2, alpha1, alpha2
CONE zzyzx, 0, zzyzx/3, 90, 90
hotspot 0,0,0,1
material Textmat
DEFINE STYLE BemTextStyle "Arial", zzyzx/GLOB_SCALE*30000, 8, 0
addz zzyzx * 1.05
style BemTextStyle
!addy zzyzx/3*1.2
! TEXT EPS, 0, str(Dingz, 7, 2)
!del 1
rotz 0! Alpha2D+90 !!!Versuch den Text immer lesbar hinzudrehen - aber dies erfordert einen Neuaufbau 3D
rotx 90
if eingeneNN # 0 then
Meereshohe = eingeneNN
else
Meereshohe= GLOB_PROJECT_ALTITUDE
endif
if nn = 1 then
TEXT EPS, 0, str(Dingz+Meereshohe, 7, 2)
else
TEXT EPS, 0, str(Dingz, 7, 2)
endif
del 2
del 1
am 2025-01-10 05:07 PM
gute Idee!
hier mal das geänderte Objekt in einer AC28EduAut-Datei:
Änderungen 10.1.2025: Normal-Null (Meereshöhe) alsOption hinzugefügt - einmal die Normal-Null des Projektes oder alternativ die Eingabe einer eigenen Höhenangabe.
neu angelegte Parameter:
"NN" - Schalter ob man die Normal-Null haben will - wenn ja, dann noch:
"eingeneNN" - wenn man dort eine Zahle eingibt, wird dann diese zur ermittelten Höhe des Objektes hinzugefügt, wenn dort 0 drin ist, dann nimmt es die Projekt-eingestellte Meereshöhe.
2D-Script:
Hotspot2 0, 0
Dingz = SYMB_POS_z
DEFINE STYLE BemTextStyle "Arial", zzyzx/3/GLOB_SCALE*1000, 8, 0
style BemTextStyle
circle2 0,0,ZZYZX/3
line2 -ZZYZX/3, 0, ZZYZX/3, 0
line2 0,-ZZYZX/3,0,ZZYZX/3
add2 0,zzyzx/3*1.2
if eingeneNN # 0 then
Meereshohe = eingeneNN
else
Meereshohe= GLOB_PROJECT_ALTITUDE
endif
if nn = 1 then
TEXT2 0, 0, str(Dingz+Meereshohe, 7, 2)
else
TEXT2 0,0, str(Dingz, 7, 2)
endif
del 1
3D-Script:
EPS = 0.00001 !!!Einfach ein kleiner Wert..
!CameraX = GLOB_EYEPOS_X !!!Versuch den Text immer lesbar hinzudrehen - aber dies erfordert einen Neuaufbau 3D
!Cameray = GLOB_EYEPOS_y
!Cameraz = GLOB_EYEPOS_z
!Dingx = SYMB_POS_X
!Dingy = SYMB_POS_y
Dingz = SYMB_POS_z
!xdist = CameraX - Dingx
!ydist = Cameray - Dingy
!
!Dist = SQR(xdist^2 + ydist^2)
!
!
!
!
! beta = xdist/dist
! IF beta > 1 THEN beta = 1
! IF beta < -1 THEN beta = -1
!
! alpha2D = ACS (beta)
!
material Pfeilmat
!!! CONE h, r1, r2, alpha1, alpha2
CONE zzyzx, 0, zzyzx/3, 90, 90
hotspot 0,0,0,1
material Textmat
DEFINE STYLE BemTextStyle "Arial", zzyzx/GLOB_SCALE*30000, 8, 0
addz zzyzx * 1.05
style BemTextStyle
!addy zzyzx/3*1.2
! TEXT EPS, 0, str(Dingz, 7, 2)
!del 1
rotz 0! Alpha2D+90 !!!Versuch den Text immer lesbar hinzudrehen - aber dies erfordert einen Neuaufbau 3D
rotx 90
if eingeneNN # 0 then
Meereshohe = eingeneNN
else
Meereshohe= GLOB_PROJECT_ALTITUDE
endif
if nn = 1 then
TEXT EPS, 0, str(Dingz+Meereshohe, 7, 2)
else
TEXT EPS, 0, str(Dingz, 7, 2)
endif
del 2
del 1
Freitag
Hallo Heimo!
Hat ein wenig gedauert, bis ich es ausprübieren konnte.
In ArchiCAD 27 hab ich es nämlich leider nicht geschafft das Skipt zu ändern, sodass es klappt.
Aber eben habe ich ArchiCAD 28 installiert und gleich Dein neues Objekt geöffnet.
Es funktioniert super! Vielen Dank dafür!!!
Deine 3D Höhenkote macht vieles für mich einfacher.
Ganz liebe Grüße,
Claudia