That ain’t normal! Diagnosing point behavior


You just finished making this lovely Adaptive Component, a robust triangulated truss, standing up in a proud structural posture:


you continue placing it in a host file and <sad trombone>, “flop” . . .  it does THIS!




OR, OR, OR . . .  THIS!!!



Indeed.  I am regularly baffled by AC behavior, BUT I will testify that on inspection it is almost always doing something aggressively logical.  To figure out what that logic is I made this little diagnostic tool to interrogate normals and local coordinates for adaptive points placed on different surfaces.


The construction is 3 points, each hosted on one of the 3 workplanes of an adaptive point, offset, and connected by a different colored line.


Relatively simple, but when loaded into a host it illustrates behaviors that are usually invisible, or baffling, or both.

For instance, look at what it shows for different hosting behavior on this single surface.


A freaking mess, right?  Remember, red was “up” in the Adaptive Component family.  Again, you may say, WTF. In this video I will try and show some of what I understand to be normal “normal” behaviors on points, nodes, surfaces, edges, solids, and workplanes in Revit and Vasari.

Diagnosing Point Behavior Part 1

So now that we have an understanding of how normals behave in any particular hosting condition, let’s look at our truss to understand the behavior.

Diagnosing Point Behavior Part 2

Download the diagnostic tools and sample family shown in the video.

So, now that you understand why the truss DOESN’T work, you might want to know how you would make it work.  This is another post entirely, and until I can get around to it, let me point you to Robert Manna and my Paneling and adaptive component class that we taught at Autodesk University 2010.  This class covers some of the same territory, but is more focused on solutions.  There is a step by step walk through making a more tightly controlled truss-like element on pages 21 to 28 of the handout, and datasets that accompany the documentation.


  1. That widget looks familiar :-)

  2. Thanks for enlightening us on why and how adaptive components misbehave when you load them into another adaptive or mass family. However, when you start nesting adaptive families inside each other it gets really complicated and comfusing: I created a shared adaptive family, loaded it into another adaptive family and then loaded that into a third adaptive family. the rotation of the original one changes between the first and second level of nesting. It kind of makes sense when you think of what its doing, but the question is how to control it without making the original one "not shared"?

  3. Zach,

    Terribly helpful stuff. I had to trial and error to the 'in which direction the line is drawn' surface normal problem, but never really groked that if I had just made forms instead of surfaces I would have been just fine. For kicks here is the post on Revit Forum:


    Thanks gain,

  4. Thanks for this blog entry, that diagnostic tool really helped me to recreate some surfaces and test if they are facing the "right direction". I think this is something Autodesk should include with the next Revit release - an ability to control which mass face side is "exterior" and which "interior" by the user.

    Love your blog!