Dynamo Topo Script

Hi, this script is to draw detail lines where a topo was cut with a section or an elevation. It seems if the topo is to big or complicated it will freeze up the system and take forever to process. Is there a way to get the script to run better?

Existing Ground Lines_Sections.dyn (11.3 KB)

<a class=“attachment”

I would run it on a smaller set of views for faster processing time.

One idea: filter out sections where the crop region doesn’t see the topo.

Another idea: filter out working views.

Another another idea: Use a different line style for your topo cut lines and filter out views which already have those an element on them (to prevent redrawing the same element twice after you add new views down the line).

Thanks Jacob, all great ideas

I had a topo that was over 200 meters in the one instance. took the script so long to draw the line in one view. Not sure if theres anything i can do about that?

Hi, Have you tried implementing Mesh.ToPolysurface from spring nodes and running an intersection with the planes and the resulting polysurface?

Sounds promising Jostein, getting myself confused though. I’m lost with running an intersection with planes for a poly surface. Cant find a node for that. What ive given a go below which is still a long process

Yeah, it’ll work if your topo isn’t too large and detailed relative to you RAM.

This might be better done as a zero touch node in C# so it process faster.

I was thinking if it only draws the line with in the constraints of the view window then that will be less processing too. Just not sure how to constrain the intersection with plane to the view window.

You can use Python and CropShapeManager (or something like that) to get the boundaries of the view crop. From there it shouldn’t be too much to get the intersection.