Sweep to follow Topography


Hi I am trying to make a sweep follow a toposurface (to model the height in relation to boundary).
I am selecting model lines to create polycurves projected on the toposurface - that can be the path for the sweep. And I coverted the profile for the sweep to a polycurve to be used as profile.
The problem is I get a warning that the “Path Curve is tangential to the sweep profile”. How can I make it work?
Thanks in advance for any help!


You need to set the profile to be perpendicular to the curve so that it can be swept along the path. Rotate your profile lines acordigly and see if that helps.


Thanks @JacobSmall. I tried rotating the profile lines and I don’t get any warning.
The problem now is I can’t actually see anything being modeled in Revit… what am I missing?


You need to convert the Dynamo geometry to Revit geometry. There are a variety of ways to do this, the best in your case will depend on a variety of factors, but perhaps a direct shape is ideal here. Check section 8.4 of the dynamo primer for info on how to do this.



Thanks @JacobSmall. Getting closer …
If I create a sweep for only one segment of the boundary, it works. But if I want to create it for the whole path I get this error: "A problem with mitering occurred along the closed path. To resolve the issue, we highly recommend you make the profile perpendicular to the path"

Sweep to Follow Topography.dyn (25.5 KB)

Is there a way to place the profile perpendicular to the path, without having to manually locate and rotate the geometry to the start point of the path?
Thanks again!


Hi @monica.greco

Your profile is not perpendicular:

You can also use “Curve.SweepAsSolid” node and OOTB node FamilyType.ByGeometry for smooth Geometry in Revit:


See if this helps …
20171106-1.dyn (7.8 KB)


Thanks @Vikram_Subbaiah and @Kulkul. So I am getting closer to what I am trying to achieve. First of all I realized my profile would haven never worked along the whole sweep path due to corners and the shape of the profile. I need to run the script one boundary at the time.
The Springs.FamilyInstance.ByGeometry gives me a much better Revit geometry (Thanks Kulkul)
The last thing that I cannot solve is how to automatically place the geometry of the profile to be at the start of the polycurve and perpendicular to the polycurve every time, without changing the script for every boundary. For some boundaries it works, for other I get the error NO_X_LAT_TOSURF – Lateral curve does not intersect to_surface.
Any idea?

Sweep to Follow Topography.dyn (21.8 KB)


Hi everyone,

thanks for all your help. I just gave up trying to create sweeps in the end, but found a great alternative using adaptive components (I tweaked this script for Farm Fence to follow the topography). The result is great!


Would you mind sharing that family? It is doing my head in trying to build it lol. As far as i can get below. Cant get the length parameter to work and the adaptive things at the bottom wont host to the reference plane or topo. Howd you tweak the script? I cant get it to work at all :frowning:



Great that you found a solution @monica.greco

Another possible way of doing this using plane vectors and offsets :grinning:


Hi @vanman here’s the family
20_HIRB_Adaptive.rfa (332 KB)


Thanks @Ewan_Opie ! Will give this one a go as well


awesome! thanks so much. Not sure i would have ever worked it out but i see what you did with the reference point on the reference line for the length parameter. very smart. Just got to figure this farm script out now