Monday, October 06, 2014

Family Array Basics & Tips



Basics
  • In the Family Editor you can Array a geometry or nested family (ex. linear or radial)
  • Always group and associate to assign an integer parameter for the array
  • Move to 2nd or Last depending on how you will dimension and calculate the Array
  • After an array, select an instance of the new group and then the array "dimension"
  • Assign a "Label" in the options bar to control the array count with an Integer Parameter


Tips

1. It's not uncommon for a family content builder to parameterize the array count and then leave the count open for the end user to flex.  Consider adding an Optimal Spacing parameter so that when the length of the family is flexed, the spacing between shelves, muntins, rafter tails, etc. remains a desirable constant and let Revit calculate the Array Count.  The designers will love you.

Not good enough? For scheduling (ex. rafter tail counting) make the Array Count a shared parameter and the PMs will celebrate too.

Formula examples:
  • Optimal Spacing = a default "Length" value for the office standard
  • Array Count = (Length/Optimal Spacing) + 1
 
2. Ever need an array count of 1? There are a number of ways to do this:
  • Offsetting the first and last instance of an array (toward the center of the array) with an Offset Array parameter, so that the first and last overlap in the center when the array count is equal to 1.

Formula examples:
  • Optimal Spacing = a typical "Length" value for the office standard
  • Array Count = (Length/Optimal Spacing)
  • Array Count True = If(Array Count < 2, 2 , Array Count)
  • Offset Array = if(Array Count < 2, (Length / 2), 0')

  • Other Possible Solutions:
    • hiding the first and last element of the array in the geometry of another element like muntins in the stile of a wood panel door
    • Using yes/no parameters to visibly turn off the array and turn on a single instance when Array Count = 1

3. Are you getting errors when you try to model 2 arrays in the same family?
  • Create the arrays in separate families and nest them into a host family

4. Are your muntins, shelves, or other crossing element arrays giving you the tic-tac-toe (#) look at an intersection? Does a join geometry not always work for you?
  • Consider adding a slight curve to the front and back of your muntins/shelves and don't join geometry
    • might also be helpful for many railing family intersection challenges.

2 comments:

Unknown said...

Another way to avoid problems if Array count is 1 is to have a single instance of the object placed, in addition to the array of the element. Then, use a formula to hide the single instance unless Array Count is less than 2, in which case hide the array.

This method is more reliable for scheduling when using nested families (it should avoid double-counting).

David said...

Thank you Luke. Another possible solution is to nest the element into an adaptive component family, then nest the adaptive onto a conceptual mass family surface and use the repeater tool which can have an array count of 1.