Extruding geometry up to surface


I am trying to extrude the capped pipes shown up to the surface shown behind it. I have been searching for tutorials that apply, but have had no luck so far. Any help would be greatly appreciated. Thank you


ExtrudeToSurface.gh (1.4 MB)

Hi @geoffdeclouet,

Extending the pipes would be possible by scaling them in one dimension, but there’s an even smarter way!

First of all, the outputs of your Divide Surface component aren’t clean. You have some null values in the first few branches. This can be remedied by cleaning the tree.

Now, to prolong your pipes up to the surface, you simply look for a closest point for each pipe start point on the surface. You can then draw a line from the start point to its closest point on the surface and pipe that line.
There’s really no need for piping before that. Solutions should always first be thought of with simply and cheap geometries (i.e. points, vectors, curves). Expansive operations, like constructing pipes, should come last, if possible.

ExtrudeToSurfaceV2.gh (993.0 KB)

Alternatively, once your outputs are clean as brought up by @diff-arch, pull (project) the points to the surface, then make the line, then the pipe?

ExtrudeToSurface_3.gh (1.4 MB)

Your target surface is a “Trimmed” surface which means you won’t be able to get the result you want.
It would be a lot more easier to work with “Untrimmed” surface for your hair brush.

ExtrudeToSurface_re.gh (2.8 MB)

Thank you all for your input! That was very helpful.

Thank you so much! that is exactly what I was looking for.

Much appreciated!

1 Like