Element to Topo

Is it posible to select an element and make it follow a topo… driven by an offset.

for example piping if have created but i would also like to be able to have it follow a topo as i have a few miles of it.


Yes - it should be possible to have a topo drive the path that a pipe run follows - you will have to use the API though (no native nodes that I know of - but there is an API method to draw pipes based on points). I know there are examples out there of having railing and floors that follow topo.

No - “A element” means singular element with one element ID - the topo will likely not be single slope - so the path defined for the pipe run to follow will be broken up into many segments that follow the topo. This means you would likely be defining a new run of many small pipes and fittings to replace the single selected pipe. Unless you wanted to make the pipe be a single sloped pipe, and have Dynamo find the required depth and slope of the pipe to maintain a set cover below the topo.

The question then might be how important is preservation of the original element ID/tagging/etc…

Thanks for the reply…


it doesn’t mater if they are split up and don’t have fittings joining them together. they are effectively in the model as ‘dumb data’ as a rough reference…

If that is all they are needed for, it would be easier to create a Solid.BySweep in Dynamo and thing import it into Revit as an SAT than try to make families do it. Use Dynamo to capture your topo geometry (Select Model element - Element.Geometry) and a line that represents the path(Select Model element - Element.Geometry). Then extrude the line downwards as a plane (Curve.Extrude) and intersect it with the topo geometry (Geometry.IntersectAll). Then translate the resultant line down your desired amount (Geometry.Translate). Then use Solid.BySweep to sweep a circle along the path(s). Then use Import As SAT to bring the resulting “pipe” back into Revit as an ImportInstance.

If you want to get fancy, you could try to create an adaptive component that would follow the path as well…

Thanks for your reply. would it be possible to show me an image of the definition as I cant seem to get it to work.

I can get a radius to follow a “path” using solid sweep, however I cant seem to get the rest of it to work.


thank you for your help.

Thank you for your help I managed to do it using only OOTB nodes in the end.


All the best


Glad to hear you resolved it. I got busy and didn’t have time to work out an example. Would you mind sharing an image of your script for future people searching the topic?

I will I’m still testing it and getting it to work how I want it to work… it runs very slow over the scale that i am trying to use it for ( Aprox. 30km of geometry).

when I have it running will I will up load an image of it.


Thanks for all your help!!



Pipe to topo issue





As you can see from my images I am quite close to the result I am after… however it doesn’t create the pipe directly above the line. (tried to display this in the image above)

can anyone think of a solution to this?