BILT Speaker

BILT Speaker
RevitCat - Revit Consultant

Thursday, 1 August 2013

Scaling Revit Families Nested in Curtain Panel Patterns

Credits First

This post would not have happened without discussions at RTC or blog posts by the following people:
What I am showing here is a development of all those ideas, combined with a concept that I came up with for my RTC presentation "Fractal Fun with Revit Repeaters" earlier this year - more on that at a later date.

How to trim the edges of a pattern of repeated scaleable Revit families

The image on the left above shows a repeated pattern of complex shapes within a regular rectangular boundary - relatively easy to achieve in Revit!  On the right the boundary has been trimmed, and the pattern gets trimmed with it - not so easy.
Add in the ability to scale the pattern elements and it gets a whole lot trickier. 

Kelvin Tam showed us how to nest a planting category family into another planting family and then nest again into a different category family - this allows us to use the ability of planting category to automatically scale any irregular shape without having to create complex formulas and controlling geometry (see link above).

David Light applied that technique to nesting planting categories into curtain wall panels to create arrays of scaleable science fiction monsters marching across the landscape.

Andy Milburn applied the same technique to creating Musharabiya screens out of curtain walls.  He noted that there was a limitation of not being able to trim the edges of the pattern because curtain wall panels won't be be cut.

To solve that problem I used Marcello Sgambelluri's technique of questioning which similar category or situation does Revit allow you to do what you want?  In this case I knew from my RTC presentation "Fractal Fun" research that Revit will cut the edges of curtain wall panel pattern families when applied to divided surfaces.  So we should be able to apply that principle here - the only limitation being that it must be done in the conceptual modelling or adaptive component environment.

Here is how to do it:
  • First start a new planting category family and create the desired pattern element within it - in this case a simple smiling face within a square (but it could be a complex geometric design).
  • Then start another new planting category family;
  • Load the first family into the second;  this is to make use of Revit's capability of automatically scaling plants and trees - it only works with nested families;
  • Start a new "Curtain Panel Pattern Based" family;
  • Place a dimension between two adjacent points; 
  • Make the dimension an instance reporting parameter 

  • Load the second planting family into it, and place it on the pattern.  You may need to devise a way to control the location of the component by hosting it on specific points
  • Select the planting family and link its "Height" parameter to the new reporting parameter in the pattern family;  you may need to add a formula to scale it up or down to match the size of the pattern grid (depending on the original family size) 

  • Create a new mass family or In-Place mass within a project;
  • create an irregular shaped form (can be a flat surface or an extruded shape);
  • Select a surface and divide it
  • Make sure the divided surface pattern is square and orthogonal - you may need to rotate the grid or set the spacing to fixed distance;
  • Load the curtain panel pattern family into the mass
  • Select the divided surface and change its type to the pattern family - it should automatically trim the pattern elements around the edges
  • NB. I think this did not work in the first version of the new conceptual massing in v2010?  but it seems to have been changed at some point since.
  • Depending on the grid spacing and location, Revit sometimes misses out small pieces or fails to trim elements that are hanging over the edge by only a small amount.

  • Occasionally it gets it quite wrong - in this example it was an in-place mass, which looked ok until the mass was "finished".

All this was done without tricky formulas - just by using the tools that Revit developers gave us, albeit not in ways that they expected us to use them.  There are obvious limitations of not being able to apply this to a normal curtain wall, so you have to use the massing tools to create a divided surface.

Obviously you aren't going to make smiley face patterns, but you should be able to apply these principles to real architectural design solutions.


  1. Thanks Tim, I love the way this topic has been passed around and enhanced at every turn. Nice work !

  2. Wow nice explanation...
    Good read. I enjoyed your interpretation of the
    Thumbs up for a great
    These are awesome

    Posts ads free and quickly...