GDL
About building parametric objects with GDL.
SOLVED!

Custom label to list out pipe invert levels?

A_ Smith
Expert
I didn't try that and not sure if i'm right.

1. I guess you should read ConPosX, ConPosY, ConPosZ for each connection, which are here call "MEP_m_ConnectionsACL_4".

here was smth about labeling MEP elements
AC 22, 24 | Win 10
1 ACCEPTED SOLUTION

Accepted Solutions
Solution
kuvbur
Enthusiast
Coord Z of axis is storing in MEP_Position array.

dim _MEP_Position[] : _MEP_Position[1] = 0 : dim1d1 = 1 : dim2d1 = 1
nd1 = request("Assoclp_parvalue", "MEP_Position", namindd1, typed1, flagd1, dim1d1, dim2d1, _MEP_Position)
dim MEP_Position[][] : MEP_Position[1][1] = 0
n_rec = 1
for i=1 to dim1d1
	for j=1 to dim2d1
		MEP_Position = _MEP_Position[n_rec]
		n_rec = n_rec + 1
	next j
next i

MEP_StraightLength = 0
nd1 = request("Assoclp_parvalue", "MEP_StraightLength", namindd1, typed1, flagd1, dim1d1, dim2d1, MEP_StraightLength)

if vardim1(MEP_Position)>1 and vardim2(MEP_Position)=3 then
	! --- x,y,z coordinates of 1st point ---
	rx1 = MEP_Position[1][1]
	ry1 = MEP_Position[1][2]
	rz1 = MEP_Position[1][3]
	! --- x,y,z coordinates of 2nd point ---
	rx2 = rx1+MEP_Position[2][1]*MEP_StraightLength
	ry2 = ry1+MEP_Position[2][2]*MEP_StraightLength
	rz2 = rz1+MEP_Position[2][3]*MEP_StraightLength
endif

text2 0,0,rz1
text2 0,-0.3,rz2

Structural engineer, developer of free addon for sync GDL param and properties

View solution in original post

4 REPLIES 4
Lingwisyer
Guru
Hotspots are rarely exposed parameters... You could probably pull the relevant info to work it out yourself though. No idea about MEP specific info. Given Smith's post, if your pipe is an actual MEP object, then the connection points are.



Ling.

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win10 | R5 2600 | 16GB | GTX1660
Solution
kuvbur
Enthusiast
Coord Z of axis is storing in MEP_Position array.

dim _MEP_Position[] : _MEP_Position[1] = 0 : dim1d1 = 1 : dim2d1 = 1
nd1 = request("Assoclp_parvalue", "MEP_Position", namindd1, typed1, flagd1, dim1d1, dim2d1, _MEP_Position)
dim MEP_Position[][] : MEP_Position[1][1] = 0
n_rec = 1
for i=1 to dim1d1
	for j=1 to dim2d1
		MEP_Position = _MEP_Position[n_rec]
		n_rec = n_rec + 1
	next j
next i

MEP_StraightLength = 0
nd1 = request("Assoclp_parvalue", "MEP_StraightLength", namindd1, typed1, flagd1, dim1d1, dim2d1, MEP_StraightLength)

if vardim1(MEP_Position)>1 and vardim2(MEP_Position)=3 then
	! --- x,y,z coordinates of 1st point ---
	rx1 = MEP_Position[1][1]
	ry1 = MEP_Position[1][2]
	rz1 = MEP_Position[1][3]
	! --- x,y,z coordinates of 2nd point ---
	rx2 = rx1+MEP_Position[2][1]*MEP_StraightLength
	ry2 = ry1+MEP_Position[2][2]*MEP_StraightLength
	rz2 = rz1+MEP_Position[2][3]*MEP_StraightLength
endif

text2 0,0,rz1
text2 0,-0.3,rz2

Structural engineer, developer of free addon for sync GDL param and properties

Yves
Advocate
Hi,

current floor
text2 0,0,rz1 + GLOB_ELEVATION
text2 0,-0.3,rz2 + GLOB_ELEVATION
origin of the project
text2 0,0,rz1 + SYMB_POS_Z
text2 0,-0.3,rz2 + SYMB_POS_Z
Yves Houssier
Belgium
Archicad 19 -> 24
iMac - Mac Os 10,13
DGSketcher
Legend
I see you are deducting the pipe diameter to get the invert. If the reported pipe coordinates are on the centreline then the z-value to obtain invert points will only be lowered by half the pipe diameter. It's a small thing but could be a big problem on site if your pipes are being installed 75mm lower than expected!
Apple iMac Intel i9 / macOS Sonoma / AC27UKI (most recent builds.. if they work)

Didn't find the answer?

Check other topics in this Forum

Back to Forum

Read the latest accepted solutions!

Accepted Solutions

Start a new conversation!