Create Revit families with elements arrayed along 3D curves


Revit lets you create families with orthogonal or organic forms in the good old family editor or conceptual mass editor, respectively. But what if you need something in between, like the reception table above? The array of timber slats of a custom shape along a 3D curve is extremely difficult to do quickly, accurately and parametrically in the traditional family editor. On the other hand, conceptual massing can crack this in seconds, but who would want to have a mass as a piece of furniture? Even if you could give it a “real” material, if you have other masses in the model then turning this table on will make them all visible!

Instead, you will need an environment where:

  • Element category is correctly registered, e.g. “Furniture” and not “Mass”.
  • Advanced modelling tools for creating a parametric array of custom shapes along a 3D curve are available.

This environment and how to use it are exactly what we will show you today!

Expected output


Our furniture family will deliver key advantages:

CategoryFurniture. No more tiny massing objects lurking around in your model!
Available parameters
  • Slat material
  • Number of slats
  • Counter and cabinet materials

Slat shape can be quickly changed by editing the nested family. Counter’s and cabinets’ geometries are representative so feel free to customise!

File sizeVaries depending on how many units you want to have in the parametric array, but will rarely go over 1 Mb.
Family & Type namesGeneric, can be renamed to suit your company’s standards.
OthersHas no redundant constraints, construction geometries or subcategories.
Built in Revit 2014, easily upgradeable to Revit 2015 and later.

Or, follow steps below to make one yourself. You will need an intermediate level of Revit knowledge.

PRO TIP: Prefer learning by watching?
Click above to learn from our free YouTube training channel!

Step 1 – Create a slat profile family

To start, create a new Generic Model family.


Next, draw the side profile of a slat unit. Make it any shape you want as long as it’s closed!


Step 2 – Create the slat unit family

Create a new Generic Model Adaptive family and place 2 new adaptive points somewhere near the family’s insertion point.


Draw a line connecting these 2 adaptive points and place on it 2 new points whose distances to the nearest adaptive points are locked to a new “Gap Width” parameter.


Load the slat profile from Step 1 into this new family.


Place 1 slat profile at each hosted point’s location.


Create the slat unit’s solid form.


Step 3 – Create orthogonal elements of the furniture family

Start a new Generic Model adaptive family, change its category to Furniture, and draw the footprint of the reception table’s cabinet and counter top.


From these curves, create 2 extrusions for the counter top and cabinets below it. Adjust their dimensions as required.


Step 4 – Create a parametric array of slats

Create a divided path from the outer edge of the counter top and assign a parameter to its number of segments.


Load the Slat Unit family created in Step 2 into this Furniture family.


Place 1 Slat Unit on the divided path, then use the repeat command to array it along the entire curve.


Show time!

Unhide everything in the Furniture family if you haven’t already. The reception table is now complete!


Can’t stop learning?

Check out below our free Revit training channel on YouTube!



Until next time, happy Revit-ing!

Create Revit families with elements arrayed along 3D curves
Article Name
Create Revit families with elements arrayed along 3D curves
Publisher Name
RV Boost
Publisher Logo

2 thoughts on “Create Revit families with elements arrayed along 3D curves

  1. very nice publish, i actually love this web site, keep on it

  2. I sіmplү couldn’t go аway your site before suggeѕting that I extremely lovеd the standard information a person provide in your
    guests? Is gonna be again incessantly in order to check out new poѕts

Leave a Reply

Your email address will not be published. Required fields are marked *

Show Buttons
Hide Buttons