Sunday, 12 May 2013

Swept Blend using Profiles in Adaptive Components

This process might seem obvious to anyone who regularly works in the Revit Conceptual Massing Environment (CME), but for those who are starting out with Adaptive Components, it might help the transition from the old Revit family environment.

The question is:
How do you create a solid extrusion or sweep using a profile in an adaptive component ?

A lot of people advise against nesting components too much, but profiles are incredibly useful in Revit - they can save a lot of time and usually give much better control of geometry, rotation and parameters than just drawing linework within a family.  But the problem in adaptive components is that Revit won't allow you to load a traditional Revit profile family.  The adaptive component environment also does not have any of the "Edit Path", "Load Profile" sort of commands that you regularly find in the family editor.

The Solution:

How to create a Swept Blend using Profiles in Adaptive Components

The answer is really quite simple:  create an adaptive component that just has 2d linework geometry.  It can have dimensions, parameters and reference planes just like a profile.  the main difference is that it is visible in 3d in editing mode and after you have placed one too.

There are a number of tricks that you need to know:

  • The adaptive "profile" component does not need to have an adaptive point.  In fact it is better without, because then you can use the reference planes to lock the geometry to the origin as in a normal profile.
  • When you place an adaptive profile into another adaptive component, you can place it on a workplane or host it onto another element.  If you host it to a reference line it will automatically orient itself to be prependicular to the line (or arc).
  • You can also host it on a point, which may itself be hosted on a line - very useful for controlling its location along the line parametrically.
  • You can host it on a divided path node;  but don't bother to convert it to a repeater because it cannot then be used to create a solid form.
 Here is a quick description of how to use profiles to create a swept blend, but this technique could be used for any shape, solid or void.


  • Host two different size adaptive profiles (different types) on an arc reference line;

  • Select the profiles and the arc;  
  • Create a form;

  • Select a profile and slide it along the arc;

Flex the form by changing the sizes of the profile, the radius of the arc or move the adaptive points.

This techniques features briefly in my upcoming RTC presentation:
"Fractal Fun with Revit Repeaters and Adaptive Components" at RTC 2013

Creating a more Complex Form

You could try something a bit more complicated by first applying a divided path to the arc

Then try hosting some different sized profiles on the divided path nodes
You can turn these into a repeater - but sadly you can't select a repeater and turn it into a form (Revit won't allow that as of v2014 *see below)
The alternative is to manually host the profiles on each node - the end result may look the same, and be more laborious but it is not a repeater
These manually placed profiles can all be selected and turned into a form
The profiles are still visible, but they can be hidden
This form can be somewhat parametrically controlled - spacing of nodes, profile sizes, arc radius etc;  but the number of profiles cannot be adjusted after the fact.

Addition to Post  20 Dec 2013
I notice that this post gets a lot of hits so it must be an issue that people struggle with on Revit.  So I thought I'd add a bit more information:

It is possible to use a traditional Generic Model family with flat geometry nested into an adaptive or mass family to create your sweep or lofted form.  However, a traditional generic model does not have the advantages that and Adaptive Component (Generic or other category) has:

  • When a traditional generic family is loaded in, it will normally just place flat on the Level work plane.  If you want it to be in a different orientation, you need to set its properties to not be always vertical, and also to be work plane based.  Then you have to stuff araound setting the work plane before placing it - what a hassle.
  • If you use an adaptive component (with 2d linework, preferably in a closed loop), you don't need to mess with its settings - just load it into the adaptive or mass family;  when you place it, it will automatically rotate to its host - either perpendicular to a line, or snapped to a point.
  • If the point is in free space (ie not hosted on something else), it will snap to the default work plane of the point (most likely horizontal)
  • If the point is hosted on a line/arc/curve (it will look smaller than a free point), it will again orient to the default work plane of that point - but that will already be oriented perpendicular to its host.  Its very easy.
  • Another advantage of placing the adaptive profile onto a hosted point is that the hosted point has a "Rotation Angle" property that is simple to control - the profile will rotate with it.  simple.

You can use the Rotation Angle property of your hosted points to rotate individual profiles to achieve a twist in your form really easily.

Postscript 11 June 2015:
What happens if you want to create a hollow section sweep?  Refer to this post.

In Revit 2016, you can now create a swept blend or loft from a repeater (sort of) - refer to this post


  1. I tried creating an adaptive profile (a hollow steel section) and revit does not seem to like it - i get "unable to create form element". Why?

  2. I wish I knew why Revit is so fussy about creating forms. Without knowing what kind of path and how many intermediate profiles you placed I cannot answer that. If the path doubles back on itself it is likely to fail - so my examples above work with a gentle curved path. If the path is more like a C shape it would fail for sure. maybe you could split the path ito two parts?
    I have been working on a technique that sometimes gets around the problem - will post that some time in the future.
    Another thought: If your profile has a loop for outside and another loop for inside that would probably fail. Revit cannot make a form that has its inside hollowed out, all in one command. You need to make a solid then create a smaller void inside it.

    1. Yes, it's a loop inside another loop. And it was a very simple path - one length and two 90 degree turns. I'd post a pic but I can't. In any case the structural shapes library (with type catalogs) is what I want to create for adaptive families. ie. all HSS, WF shapes, channels, angles etc etc. but HSS, pipes, tubes, and other hollow shapes are, as you say, difficult to do. I'd like to think someone has figured it out somewhere...

    2. I just posted a description on how to achieve what you want (I hope)