Sunday, August 12, 2012

Revit software language problem with nested parameters

I was reading few months ago a post from Mr. Steve Stafford and I decided to post a bug related to Revit nested families. Here is the post followed by the issue :

" It's a fairly common situation - you create a nested family (child) and load it into a host (parent) but the parameters in the child don't seem to respond to the parents. If you've got kids that's not so shocking? Children not listening to parents?

You've got to "connect the dots" to get it to work. It might seem a bit obtuse but you have to "do the work over" in the host family to be able to flex or fill out a parameter in the nested "child" family. The image below shows a nested Type Parameter getting connected to the host's version.

It isn't necessary to name the parameters exactly the same but it might help keep things straight."

Read the complete post here.

So has I was saying, I recently had a headatche trying to fix a familly that was using a nested family. Unable to find out what was happening with the family I decided to try it on an other computer then mine. This usually happens when you are running out of ideas and you give a try to weird ideas ;-) ... but amazingly it have worked fine. So let me explain what was going on. As usual I develop families on my computer on Revit in English. Some of the built-in parameters, such as the length parameter in the beam family template, are translated automatically between different Revit software languages. For example, Lenght becomes Longueur when using a French version of the software. Usually when you use only these parameters in formulas this is not an issue but if you use more then one level of families (nested families) Revit doesn't translate theses built-in parameters in the nested family formula at the lower level. Ex.:

Revit EN 
Host family (level 1) :
CalcLenght = Length*2

Nested family (level 2) :
Calc Lenght = Length*2

Revit FR

Host family (level 1) :
CalcLenght = Longueur*2

Nested family (level 2) :
Calc Lenght = Length*2

Now if you associate parameters between the host  the nested family you can get unexpected behavior depending on what Revit language is installed on the current computer. The formulas in the nested family will also becomes static (the last value calculated inside the family will be used).

So next time you develop content for your international offices, using different Revit languages, keep that in mind !

No comments:

Post a Comment

Ask you comment or question here ...