Searching X Y coordinates of the minimum cover between a pipe and the reference surface above.

Searching X Y coordinates of the minimum cover between a pipe and the reference surface above.

kevin.messiaen
Explorer Explorer
474 Views
2 Replies
Message 1 of 3

Searching X Y coordinates of the minimum cover between a pipe and the reference surface above.

kevin.messiaen
Explorer
Explorer

Hi,

 

I have the following question. Is it possible to get the x y coordinates of the minimum cover of a pipe and the reference surface. I know you can get the covers (min/max) in the part propertie data, but i'm looking for the coordinates of that location.

 

I would like to label or place a block or leader on that location.

I know there's much possible with dynamo and I searched the forum but without succes.  (only a beginner in dynamo btw)

 

Really looking forward to a response. 

 

Thx in advance.

 

kevinmessiaen_0-1725440073912.png

 

0 Likes
Replies (2)
Message 2 of 3

tcorey
Mentor
Mentor

That's a tough one. It's easy to get the minimum cover value but not where it is. Shouldn't you be able to have it report the station, at least? This topic is perfect for Civil 3D ideas. 



Tim Corey
MicroCAD Training and Consulting, Inc.
Redding, CA
Autodesk Platinum Reseller

New knowledge is the most valuable commodity on earth. -- Kurt Vonnegut
0 Likes
Message 3 of 3

MikeEvansUK
Advisor
Advisor

This is not possible OTB, through Dynamo it is probably possible Sorry not a dynamo user but in Vb.Net you could do this.

A long section would be the simplest method, you can use a label to anotate the chainage and other tools to place a maker/label in plan on the alignment.

 

To go down the other route is more tricky and you'll probably need to write something in DynamoPython which I cannot use?

 

So how I would do this in Vb.net;

You need to find a 3dpoint (XYZ) at distance on the pipe then using this point you can find the elevation on the centreline. Add on half the diameter + Wall thickness and you have the Outer Crown elevation.

 

Using the same 3ppoint you can get the surface Elevation.

 

Take one from the other and you'll get the depth of cover at the incremental distance.

So would be a similar logic to below (in .Net);

Ginc as double = 0.5

Depth as double = 1000

PointR as point3d= Nothing

 

For Dist = 0 to pipe.Length step Ginc

P3d as point3d = Pipe.GetPointAtDist(Ginc)

Clev as double = Pipe.GetParameterAtPoint

OCrwn as double = Clev + (pipe.wallthickness + (pipe.innerdiameterorwidth/2))

SElev as double = Surface.GetParameterAtPoint(P3d)

Cover as double = Selev - OCrwn

If Cover<Depth then

Depth = Cover

PointR= p3d

Next

 

This would work out in increments along the pipe with the Depth value being the lowest found and the PointR being the location.

You can then add a note label at this location and add the text for the values.

Won't be dynamic and not necessarily at the shallowest cover, to find the exact point you need to reduce the increment down to be smaller until it reports the same value.

 

Mike

 

Mike Evans

Civil3D 2022 English
Windows 7 Professional 64-bit
Intel(R) Core(TM) i7-3820 CPU @ 3.60GHz (8 CPUs), ~4.0GHz With 32768MB RAM, AMD FirePro V4900, Dedicated Memory: 984 MB, Shared Memory: 814 MB

0 Likes