Friday, 4 July 2014

Revit Repeater Instance Parameters

I mentioned in my last post that I learnt two new Revit Repeater tricks at RTC Australasia 2014 in Melbourne - both from Helen Gorina from the NY office of Perkins+Will, in her Lab "Applying Math and Logic to Facade Design".

The second trick was to do with how to access instance parameters of components in a repeater - I had already worked out one method for doing this, but Helen showed us a second way.  This concept has led me to analyse what exactly is happening with components in repeaters.

What happens to the original component when a Repeater is created?

When you select an adaptive component (or several) and turn it into a repeater, the original component disappears and new copies of it are created in a pattern.  You can select the whole repeater as one element, or you can tab-select individual components within a repeater.   When you select one of the components in a repeater, you will notice that it does not display all its normal instance parameters in the properties palette (or they may be grayed out) - so you cannot change its Mark, Comment or user defined parameters.  More of that later.

In the mass family editor (in-place or external), if you check the element IDs of two adjacent components within a repeater you will notice that they are not consecutive numbers - there will be a gap in the numbers.   eg.  ID# 85340 and ID# 85342.

So what has happened to the missing ID number between ( ID# 85341)?  It seems that Revit still has a copy of the component hidden away behind the repeater component.  You can't normally get at that hidden component.

Interestingly, if your repeater adaptive components are "Shared" and your mass family is In-Place, you can tab-select the components when not in mass edit mode - Revit will give you a different set of IDs, and these will be consecutive.  So that means that each component within a repeater has 3 element IDs - The mystery deepens.



Instance Parameters

There are also some interesting variations as to when you can or cannot see the instance parameters of selected components within a repeater:
  • If you select a component in the external mass family editor, it will normally display the type selector as "Default Component", and its instance system parameters (Mark & Comments) will be hidden (except for "Flip").
  • If you edit an in-place mass family in a project, and select one of the components in a repeater, it displays nothing in the Type Selector, and it displays user defined instance parameters, but not the system parameters (Mark & Comments).
  • If you are not in mass edit mode and you select a (shared) component within a repeater within an in-place mass family, you get quite different results again:  You can see the system instance parameters - Mark & Comments;  you can also change those values (but not the user defined instance parameters).  

And that was my trick for accessing the instance parameters of individual components within a repeater!

Helen's trick lets you get at the instance parameters within the external mass family editor:
  • Select one of the repeater components - it will list as "Default Component"
  • Change its type from the default component to the actual family/type that it was created from (show images).  Hey presto, - you can now access its parameters.  
  • This only works for external families.  For an in-place mass family it won't let you change it, sadly.

So, there are 3 different rules depending on the situation.  More complex Revit rules to learn!

To make use of this trick, you probably want to change all of the components within a single repeater.  But it is tricky to select them all in one go.  More of that in another post on this subject. . . . . Refer to Selecting Individual Components in a Repeater

No comments:

Post a Comment