Hi all, I’m a new Revit and Dynamo user and would like a bit of advice and direction as I start my first project.

I would like to use some control curves in Dynamo to set the positioning of some vertical fins and their profiles.

I have carried out a few Dynamo tutorials so only understand the basics. I am assuming I will set the three curves required in Dynamo. So far I have managed Curve 1 but I am now stuck on setting the parameters for Curve 2 in order that I can manipulate the profile in the Z-axis (possibly with a Sin function for example). The Curves 1 and 2 must maintain the points B+C on the fin profile in the same plan position. Curve 3 doesn’t need the Z-axis variable for the time being.

Hi Matt and welcome to the community!
I don’t know what your first curve is derived from, but here is a quick example of what I would do if I’ve read your description right.

Your approach is amazing - took me a little bit to get to grips with it as my brain thinks in line and curve parts rather than code.

I will need to show some different radii options for the curve sitting along the bottom i.e scaling up and down. How could this best be integrated?

Do you think I could control the mid curve with sliders to change amplitude and frequency in order to vary the curve controlled by the Math.Cos and Code Block. I’ve seen this done before with a Formula node like A*(Sin(F*x)) with sliders for A and F.

OK gave it a try and thought I’d got it but when I change the #number values for divisions in the code blocks it falls apart

Also having trouble getting the adaptive component (fin profile) to array in the Revit window. I am able to select the adaptive component as family type but it errors on run. Do I need a surface in Revit?

It should work as long as the division is the same. For the adaptive component make sure that the numbering in your adaptive component follows the structure of your list or vice versa.

Thanks! I got my numbering sorted and the adaptive components are now working.

However I noticed that the code is producing fins which are not following the line from the radius (as my original sketch showed). I understand this is probably because of the Code Block 0.2 is being added to the X,Y values. How could this code be changed so that all the points occur on radius lines?

Well I’m sure there’s a lot of ways to solve this, but you can try something like the image below. Here I’m giving a vector between pt(0,0,0) and the bottom row of points which gives us the direction to translate our points. (given that the bottom row is in z=0)