Revit Architecture

Revit Architecture

Reply
Contributor
diona.roland
Posts: 13
Registered: ‎10-02-2013
Message 1 of 8 (1,181 Views)
Accepted Solution

Revit family not working correctly when imported into project

1181 Views, 7 Replies
10-16-2013 01:05 PM

 

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

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.


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.

*Expert Elite*
Alfredo_Medina
Posts: 2,865
Registered: ‎06-11-2009
Message 2 of 8 (1,150 Views)

Re: Revit family not working correctly when imported into project

10-16-2013 07:05 PM in reply to: diona.roland

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.

-----------------------------------------------------------------------------------------------------------------
Planta1 Revit Online Consulting | info@planta1.com | my Twitter | The Planta1 Blog
Contributor
diona.roland
Posts: 13
Registered: ‎10-02-2013
Message 3 of 8 (1,134 Views)

Re: Revit family not working correctly when imported into project

10-17-2013 06:25 AM in reply to: diona.roland

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?

 

Contributor
diona.roland
Posts: 13
Registered: ‎10-02-2013
Message 4 of 8 (1,129 Views)

Re: Revit family not working correctly when imported into project

10-17-2013 06:46 AM in reply to: diona.roland

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!

Contributor
diona.roland
Posts: 13
Registered: ‎10-02-2013
Message 5 of 8 (1,112 Views)

Re: Revit family not working correctly when imported into project

10-17-2013 11:12 AM in reply to: diona.roland

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"))))))

*Expert Elite*
Alfredo_Medina
Posts: 2,865
Registered: ‎06-11-2009
Message 6 of 8 (1,103 Views)

Re: Revit family not working correctly when imported into project

10-17-2013 12:13 PM in reply to: diona.roland

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.

-----------------------------------------------------------------------------------------------------------------
Planta1 Revit Online Consulting | info@planta1.com | my Twitter | The Planta1 Blog
*Expert Elite*
CADastrophe
Posts: 3,421
Registered: ‎08-28-2009
Message 7 of 8 (1,097 Views)

Re: Revit family not working correctly when imported into project

10-17-2013 12:24 PM in reply to: diona.roland

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.

Corey D.                                                                                                                  ADSK_Logo_EE_2013.png    AutoCAD 2014 User  Revit 2014 User
──────────────────────────────────────────────────────────────────────
⁞|⁞ Please use Mark Solutions!.Accept as Solution and Give Kudos!Give Kudos as appropriate to further enhance these forums. Thank you!
Contributor
diona.roland
Posts: 13
Registered: ‎10-02-2013
Message 8 of 8 (1,087 Views)

Re: Revit family not working correctly when imported into project

10-17-2013 12:58 PM in reply to: CADastrophe

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.

Post to the Community

Have questions about Autodesk products? Ask the community.

New Post
Announcements
Do you have 60 seconds to spare? The Autodesk Community Team is revamping our site ranking system and we want your feedback! Please click here to launch the 5 question survey. As always your input is greatly appreciated.