I have created a lighting fixture family. The fixture length needs to be adjustable and the fixture heads need to flip. I have the family working correctly when I flex it in the family editor but not when I import into a project. When in the project the flip parameter works fine at the height of the family when imported. After you change the height of the fixture in the project then the flip parameter gets messed up.
The attached PLED10 is a nested face based family - Revit 2014 Family files
The attached CLED 10-13 is a nested face based family with swappable fixture heads - Revit 2014 Family files
Any help would be appreciated.
Regards,
Dion
Solved! Go to Solution.
Solved by CoreyDaun. Go to Solution.
Solved by Alfredo_Medina. Go to Solution.
I see that the fixture is hosted by a reference plane, and rotates with an angular dimension. Although it seems to work in the family editor, this will fail sooner or later in the project, as you have alreday seen. The recommended method for generic families is to host the work-plane fixture on a reference line that has its startpoint constrained at the intersection of two reference planes and has its rotation controlled by an angular dimension. Once the rotation is controlled, you set the angle to zero, and place the fixture on the reference line, by using "edit work plane" on the fixture.
There is another issue in the family, which is that extrusion in between the two fixtures. That extrusion is not responding correctly to changes in the length of the arm or the rotation of the fixtures.
Thanks for the help. When I try the reference line method, the line does not show up as an option under the set work plane window. Is this because the fixture family I am importing is face base and not work plane based?
Oh wait! I think i got it. I have to choose the reference line in 3D view. I think i got it to work. If i did i will repost the family. Alfredo you are the man!
I have attached the file were the fixture rotation works. I am trying to get the Length parameter to adjust to specify length 6",12",18",24",30",36". I have written this formula (see below) but keep getting an error bad if statement format. Am I missing a comma or something?
if( Length < 6", 6", if (Length > 6", 12", if (Length > 12", 18", if (Length >18", 24", if (Length > 24", 30", if (Length > 30", 34"))))))
You are missing a default value, at the end, after the number 34. Yyou need a comma and a default value before the closing parenthesis. That is the final "otherwise, use this" value for the last IF statement.
diona.roland wrote:"if( Length < 6", 6", if (Length > 6", 12", if (Length > 12", 18", if (Length >18", 24", if (Length > 24", 30", if (Length > 30", 34"))))))"
This formula is flawed. The way it is currently written (in addition to requiring a final default as per Alfredo's advice), if Length is anything greater than 6", a result of 12" will be returned. Because of this, the other expressions such as " if(Length>12",18",... " will never be checked because the first step was deemed True. Reverse the order of progression for the conditional statements; go from longest to shortest.
Edit: Revise your formula to...
if (Length > 30", 34", if (Length > 24", 30", if (Length >18", 24", if (Length > 12", 18", if (Length > 6", 12", 6")))))
You can omit the if(Length<6" condition because that will be accounted for by process of elimination, so place that 6" value at the end as your "default" for when none of the statements are True.
Thank you guys. After I made the corrections that Alfredo suggested I did run into the model only flexing the 6" and 12" in the formula. After reversing the order of progression it works now.
Thanks again Alfredo and Corey.
This is my first leap into formulas. This will help my future attempts a lot.
I have attached the fixture for all to use.