How to place a surface based family along a 3D curve

I’m struggling with this garden path of a problem and can’t seem to find a neat solution on the forum.

I’m trying to place a face based family on a surface that is curving horizontally and vertically (ie the eternal 3D garden path made from a Floor) and as such is made up of many surfaces. I can pick one surface and it will place walls (ie face based generic family) along the path, that are obviously based on the face picked. However it does not maintain surface contact with the path for the whole length, and depends on which face you have picked (ie see results in the images below picking Face A and Face B).

Result if Face A picked

Result if Face B picked

What I’m struggling with is how do you pick a series of faces based on the path for a series of points ?

What I have is a linked CAD file for the point setout and dynamo reads these points for the placement of the Generic family, but how do you associate these points to the surfaces in the path ?

Any pointers here will be greatly appreciated.

There are also manually placed wall panels (type A2) in the Revit model which are controlled visually by vg filters.

Garden_Path.rvt (660 KB)
Down the Garden Path.dyn (178.4 KB)
D_POINTS.dwg (312.0 KB)

Revit used is 2018, units are metric, Dynamo is

I wasn’t finished with post but can’t edit it…

Create a new family based on generic adaptive component. Within it create 2 points, make them adaptive, draw a reference line between and draw your profile on the face of that line. extrude it and you good to go.

For node AdaptiveComponent.ByPoints you’ll need to provide a 2 dimensional list. Thus a list with a lists of 2 points.


Ah ha Alexander, I think you want to lead me “up the garden path” ! I appreciate your thoughts and I understand the concept, but I’m not that good at making Adaptive Components just at the moment. But I had a go at what I think your steps are.

I need the base of the wall to conform to the surface. So I think what you are saying is to use the adaptive family to be able to adjust for the different slope conditions. I’ve put together a family called Precast_H, that moves the wall panel up and down on a hinge point. And I note the family needs two points to place it.

However I could not seem to control the input of the second point in the family Instance node and it appears to ignore the second point and rather places a second family. The disadvantages is it loses the angle direction of the two point adaptive family and also any change in the elevation. Perhaps the problem is my family, or the graph or both. I’m open to different methods in solving this, but still would also like to see if it can be solved with a face based family.

Two point adaptive family and modified Garden Path.dyn
Down the Garden Path.dyn (294.5 KB)
PRECAST_H.rfa (312 KB)

I work in a newer version so can’t share an example. Here’s a video for you to try. Alternatively search on youtube for revit adaptive component tutorials. Any kind tutorial will suffice.

Video will be deletet from server shortly. It’s temp video sharing host… or something.


Alexander, I feel very grateful to have you in my corner, this tutorial is great, it is clear, succinct and to the point and taken time to put together. However in my case there is one small complicating factor, the wall modules are placed inline with the slope of the path, and therefore the vertical edges are not perpendicular to a level 0 plan, but rather will angle perpendicular to the slope of the path, hence why I was looking at a face based family. However your approach still should work with a family that takes account of the slope as well as a 3D curve. I know it’s Tricky.

Not sure how do you mean, but the edges are perpendicular (90 degrees in relation to the curve at that place) to the path in this example. So they aren’t vertical in relation to global z-axis. It’s the same effect you’d get if you use face based family.

OK I, will look at it more closely tomorrow morning Oz time, currently I am sitting a computer with no Revit access (1 am), but it did look as though the verticals were perpendicular to a global Z axis, and not perpendicular to the host line, sorry if I’m mistaken.

And the winner in the Blue corner by Knockout is Alexander Berg :boxing_glove:
Thanks so much for your help it is greatly appreciated.
My translation of the graph from the video is below.
PANEL LAYOUT.dyn (17.0 KB)

1 Like

You set up quite a high standard for thanking people for the help. Now, just a simple thanks won’t cut for me anymore :laughing:

Tip: learn everything you can from tutorials about ada’s . They are the best thing in Revit. Period.

It will do well to remember Eddie’s famous credo’s “I had no money, no training facilities, no snow, no ski jumps, no trainer, but I still managed to ski jump for my country - getting there was my gold medal”. - Eddie the Eagle