abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Bibliotheken und Objekte
Archicad- und BIMcloud-Bibliotheken, deren Verwaltung und Migration, Objekte und andere Bibliotheksteile, etc.
GELÖST!

Objekt 3D Höhenkote

TB Seidl
Contributor

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

AC 27 u. 28, Windows 10
1 AKZEPTIERTE LÖSUNG

Akzeptierte Lösungen
Lösung
Hmooslechner
Moderator

gute Idee!

 

hier mal das geänderte Objekt in einer AC28EduAut-Datei:

https://www.dropbox.com/scl/fi/yi7zuv5ybjhx2m04zabqa/Meeresh-he-mit-3D-H-henkote.pln?rlkey=xruvbv731...

 

 

Ä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

 

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

Lösung in ursprünglichem Beitrag anzeigen

8 ANTWORTEN 8
Lösung
Hmooslechner
Moderator

gute Idee!

 

hier mal das geänderte Objekt in einer AC28EduAut-Datei:

https://www.dropbox.com/scl/fi/yi7zuv5ybjhx2m04zabqa/Meeresh-he-mit-3D-H-henkote.pln?rlkey=xruvbv731...

 

 

Ä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

 

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

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

AC 27 u. 28, Windows 10
Hmooslechner
Moderator

Aufgrund Deiner Anregung habe ich noch die Möglichkeit eines Präfixes hinzugefügt. Damit dies für den Nutzer möglichst einfach zu erreichen ist, ohne gleich die Dialogbox wieder öffnen zu müssen, bietet es sich an, die Element-ID des Elementes zu nutzen, welches ja immer in der Infoleiste oben editierbar ist.

 

AC28EduAut:

https://www.dropbox.com/scl/fi/iwg5mt55ntt6bp37zg32j/Meeresh-he-mit-3D-H-henkote-6_2025.pln?rlkey=g7...

 

https://www.youtube.com/watch?v=xgDa4T0LFAo

 

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator

Hmooslechner_0-1749308208175.png

 

master-script:

 

if IDON = 1 then 
	Praefix = GLOB_ID
  else
	praefix = ""
endif

 

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

				if IDON = 1 then TEXT2 0, 0, praefix + " " + str(Dingz+Meereshohe, 7, 2) 
				if IDON = 0 then TEXT2 0, 0, str(Dingz+Meereshohe, 7, 2) 

			else

				if IDON = 1 then TEXT2 0,0, praefix + " " + str(Dingz, 7, 2)
				if IDON = 0 then 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)

				if IDON = 1 then TEXT  EPS, 0, praefix + " " + str(Dingz+Meereshohe, 7, 2) 
				if IDON = 0 then TEXT  EPS, 0, str(Dingz+Meereshohe, 7, 2) 

			else

				if IDON = 1 then TEXT  EPS, 0, praefix + " " + str(Dingz, 7, 2)
				if IDON = 0 then TEXT  EPS, 0, str(Dingz, 7, 2)

		endif

	  del 2
del 1

 

 

 

 

 

 

 

 

 

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

Lieber Heimo!

 

Vielen, vielen Dank!

Das ist echt Spitze!

Ich hoffe, dass sich viele den Beitrag ansehen und davon profitieren können!

 

Ganz liebe Grüße,

Claudia

AC 27 u. 28, Windows 10
Piscator
Booster

Tolle Arbeit Heimo,

aber ich frage mich, warum man nicht einfach das Koordinaten Objekt aus der Standard Bibliothek benutzt? Das kann doch schon alles oder?

Hmooslechner
Moderator

Ganz einfach - ich kannte es nicht.  Auch bei mir gibt es Wissenslücken. Große. 😂

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Piscator
Booster

wieder was gelernt 😛

Systemdetails des Autors dieser Nachricht