Placing Spot Elevations at the underside of piping runs

Hi everyone,

I am trying to place spot elevations for piping.
I’ve got the script working but the final piece to the puzzle for me, is how to slide a point along a plane that is slanted?

I am trying to get the points illustrated by the red arrows. What I currently have is the point to the center of the pipe, not the underside.
I have translated that point downwards by the Radius of the pipe, effectively getting the underside value for flat pipes.
When it comes to slanted pipes, I cant seem to create a point that is at the bottom of the pipe run, relative to its direction. I am trying to create a plane that is perpendicular to the curve vector, which I can then use to create a point at the under side of the pipe.

How do I create a plane that is perpendicular to the pipe, which I can use to slide the point down?

Also, if I am over thinking this and there is a node out there that does this, please let me know :see_no_evil:

Any advice or direction would be highly appreciated.


Hi @Sigma here is an example for ducts, could probably work for pipes as well


Hi @sovitek - Thanks for helping me out again.

I recreated your script but I just get a null as the output

It is a bit different compared to ducting, so I might have done something incorrect. I’m not sure if you can spot anything?

no should work the same way on pipes, , be sure you only crap the arch in the codeblock, you could just use a remove if not instead would be better, but it was just a fast example…try as here

spotelev.dyn (31.0 KB)

1 Like

Thanks that works!
Would you be able to guide me to a method which can accept multiple pipes rather than a single item?
I’m not sure I know how to deal with the list management from the code block after “Element.Faces” node?

yeah :wink: list level and some lacing,try play around with it and if you go stuck, then just show us your graph and we can try help…

1 Like

Great, thank you!

Here is my attempt, I think it is pretty close? I get 4 points at the end of it, but for some reason, only 3 tags get placed. I get a null for the other point and I’m not sure why this is?

I tried transposing the list.create node, which give me the missing value, but then excludes some of the other values…

not sure, i never do it that way i always just use a duct tag for that kind, think its better and more stable