Placing and numbering lots of stuff


What do all these forms have in common?







These are all multiple instances of single Vasari/Revit families with a parameter called “increment” changed.

In a previous post on Incrementing, I noted that the real hassle in creating these forms comes from the manual process of placing and numbering each instance.  However, I have 2 workarounds for folks who are interested in playing around with this method of form creation.

The first is a family named 100increments.rfa, which has 100 instances of a family placed and numbered from 0 to 99. 


The placed family is currently named incrementFam, type incrementFam, with a parameter called “increment”.  But if you have your own incremented family, you can simply change the name and type inside of incrementFamily inside of 100increments.rfa to your family’s name and, as long as your own increment parameter is named “increment”, you can load and overwrite the existing one with your own and, whammo!, you have 100 neatly placed and instanced versions of your own design.  If you only need 50 instances, delete some.  If you need more, use the second option.

100 placed instances

The second option is a script for Vasari 2.0 users.  This is a journal file that has a tiny vb script that will loop through placing a family of your specification n-number of times.  To use it, you need:

  1. to place the included increment_generic.txt files in the same folder with your family to be incremented.
  2. the last saved state of you family must be in the default 3d view.
  3. make sure your family is saved with its increment set at 1 or 0.
  4. edit increment_generic.txt in the text editor of your choice and set the family name, family type, how many placements you desire, and the name of the parameter that is to be incremented.2011-05-30_0816
  5. Drag and drop the increment_generic.txt onto your Vasari2.exe

Some things to think about with incremented forms:

  • Not just for twisty towers!  With the right math you can make spirals, grids, trees, etc.   Just about anything is possible, formulas are your friend.
  • Make larger forms first  and add detail later by editing the base family.  Start simple and add geometry or nested families once you start getting the general results you want.
  • BIM-up:  load your results into a Vasari .rvt environment to schedule, do energy analysis, or render your stuff.  Open it in Revit to add more detailed architectural elements like Walls, Doors, and Windows

Download the 100increments example files

Download the incrementing script


  1. Thank you Zach for the work around. Any word on a graphical interface to perform this function and others?

  2. Finaaaaallly!!!!!! I was changing to grasshopper because of this manual condition to changes things... I'll still studying it, but the incrementing parameter is very important to reduce this distance. Congrats zach e vasari team.
    Hugo Tavares

  3. Hi, These tutorials are always so helpful. If you wanted to combine 'parameter from bitmap image' with type variation, would you recommend using this incrementing script or setting a grayscale if/then parameter function to each family type?

  4. I guess it depends on what the condition is that you are working on and what your inputs are. If you are dealing with a patterned surface, sounds like a panel and "parameter from bitmap" workflow. If you have something else, like a building mass, then doing an increment would work. If your input is math, the incrementer works best, if it is image based, use the bitmap addin. Also check out this stuff: https://github.com/ikeough/Dynamo/issues/182#issuecomment-19864347