Forums
Forums >> Revit Building >> Technical Support >> Flexing an array
|
|
active
Joined: Tue, Feb 19, 2008
13 Posts No Rating |
Building a family of sliding doors with louvered panels. Everything is parametric, the vertical elements of the panels, the cross elements, the proportion between the upper and lower openings. The louvres consist of an array of 45 degree slats set in the openings of the panels. Everything flexes nicely in the vertical dimension; the door height, the width of the cross elements, the number of slats adjust to opening size; so far so good. Now when you flex anything in the horizontal, that is the vertical elements, or the door width, you get a "constraints not satisfied" message and the array of slats gets staggered. I just can't find a workaround. What should I try?
|
This user is offline |
|
|
|
active
Joined: Wed, Mar 5, 2008
208 Posts
|
Just take a brief look at your family and it seems like your door panel and the fins are not associated/locked/tied any of the reference plane.
This is not the best practice in my opinion when it comes to building families. Always set your ref planes before attempting to create your geometry/elements.
I would strongly recommend using ref. plane to constraint your geometry and assign parameters to the ref. plane other than assigning directly to the geometry.
I know some might disagree with me, but I would never do it that way. Also, use create the fin as a nested family and use it for the array in your panel. I had so much trouble in the past not using it as nested family. Even I got an warning in the past (from the family editor) that suggested using nested family for any array.
HTH
|
This user is offline |
|
|
active
Joined: Tue, Feb 19, 2008
13 Posts No Rating |
Hi pchan
Thank you for your advice. I gave it a try, although I had already gone that route unsuccessfully. Here's what happens.
When I define a single slat as a separate family and load it into the project, as I try to add it in as a component I get a message that goes: "this type of component cannot be placed in elevation or sectio view.". It can, however, be placed in a 3d view, but it doesn't bind to the lateral limiting plane. Here are the files. Could you give it a try with this example, and if you get it to work, either repost it or point out what I might be doing wrong?
|
This user is offline |
|
|
active
Joined: Tue, Feb 19, 2008
13 Posts No Rating |
Hi again
Do I define the side planes in the slat sub family or in the main family?
Edited on: Thu, Jul 7, 2011 at 12:56:15 PM
Edited on: Thu, Jul 7, 2011 at 12:56:50 PM
Edited on: Thu, Jul 7, 2011 at 12:57:36 PM
|
This user is offline |
|
|
site moderator|||
Joined: Fri, Feb 10, 2006
1874 Posts
|
here is a tutorial on the subject by Mr. Spot from our tutorial section that may be of help.
http://www.revitcity.com/tutorials/arrays_and_nested/
-----------------------------------
best regards, coreed,aia bmpArchitects,Inc. "Revit has to be implemented, Not installed." Long Live Revit |
This user is offline |
|
|
active
Joined: Wed, Mar 5, 2008
208 Posts
|
MadHaka,
I agree with Coreed, read the tutorial from Mr spot about array first. and start a new family and try to create a simple version of the louver and the panel.
I would re-do your door family if i were you, but first practice how an array works, then you will be able to re-do this much quickier, I also went thru this similar process when I first learn how array works.
so be patient! again the key is to understand how ref. plane works to control the behavior of the array
|
This user is offline |
|
|
active
Joined: Wed, Mar 5, 2008
208 Posts
|
Also, one more thing, your nested slat is not done correctly. Dont' set it in the middle of 'Z' plane.
and you will need a ref plane to lock from your host family to the slat, which you didn't do.
|
This user is offline |
|
|
active
Joined: Tue, Feb 19, 2008
13 Posts No Rating |
Looks like you're both right on the money.
Most likely, my errors had to do with not setting the origin properly, not locking down the dimensions and not linking the dimensions between nested family and host family.
Will do the tutorial, apply to door family, and keep you posted. Thank you very much.
|
This user is offline |
|
|
active
Joined: Tue, Feb 19, 2008
13 Posts No Rating |
OK, I did the tutorial, defined the reference planes, set the origin, locked the dimensions (in most cases), binded the planes and linked the parameters from the loaded family to the host family. Still no cigar. When I flex the single louvre, it adapts just fine. When I create an array, it still skews off to the side when I change either the door width, the jamb width, or the opening width. Everything else flexes properly. Can you please point out what I am still doing wrong?
|
This user is offline |
|
|
active
Joined: Wed, Mar 5, 2008
208 Posts
|
I still think your family has a number of issues.
first, I would add a ref plane to the center line of the door panel so that it can be used to lock the center of the slat.
(you didn't lock the slat for the first and last one, therefore, it is shifting to the side)
You also didn't set the height for the first slat to be constrained so it will be a problem later.
My suggestion is to rebuild the entire door panel with the louver as a nested family (meaning to have a slat nested to the panel and the panel nested to the host "wall") then you will be better off to control the behavior of the entire panel.
It will take your time again but I am sure it will be worthwhile.
|
This user is offline |
|
|
|
active
Joined: Thu, May 28, 2009
829 Posts
|
I have never been able to get vertically arrayed, parametric elements to array without skewing. I'll investigate this tonight though.
Edited on: Thu, Jul 7, 2011 at 6:45:58 PM
|
This user is offline |
|
|
active
Joined: Tue, Feb 19, 2008
13 Posts No Rating |
Two things are for sure:
1: Coreed's suggeted tutorial by Mr Spot is really, really very helpful. Thank you.
2: Pchan's tip of locking the upper element of the array onto the reference plane solves the skewing problem. Duh.
Also doing the tutorial (as Pchan insists I should) and creating nested families (even double nested in this case) is going to solve a whole bunch of issues I didn't even know I had. Thank you also.
So I'm going to get down to it; rebuild one more time, and let you know. Rebuilding always improves the product. It gives you more simplicity and clarity; and therefore robustness and the ability to go on to more complex structures.
|
This user is offline |
|
|
active
Joined: Wed, Mar 5, 2008
208 Posts
|
Good to hear you are listening and I am sure you will learn much more and be more efficient from now.
|
This user is offline |
|
|
active
Joined: Tue, Feb 19, 2008
13 Posts No Rating |
Here we go. Attached is a fully parametric louvered window. This one flexes nicely in all directions.
As Pchan and Coreed's tutorial pointed out, the answer is to make sure you anchor the last element of the array to the reference plane as well as the first element. Also, repeated nesting of components prevents a whole slew of problems.
Thanks again.
|
This user is offline |
|
|
active
Joined: Wed, Mar 5, 2008
208 Posts
|
It looks much better now, great job!
|
This user is offline |
|
|
|
Similar Threads |
Trouble with Array Parameter within a nested family |
Revit Building >> Technical Support
|
Wed, Sep 12, 2012 at 5:19:16 AM
|
5
|
how can I array along spline? [ 1 2 ] |
Revit Building >> Technical Support
|
Fri, Nov 28, 2008 at 7:07:32 AM
|
19
|
Array along a curved path |
Revit Building >> Technical Support
|
Tue, Nov 11, 2014 at 9:11:45 AM
|
5
|
extrusion not flexing as i would expect |
Revit Building >> Technical Support
|
Thu, Aug 2, 2012 at 1:50:18 AM
|
4
|
2-dimensional Array of Arrays |
Revit Structure >> Technical Support
|
Wed, Aug 3, 2011 at 7:47:12 AM
|
4
|
|
|
Site Stats
Members: | 2056669 | Objects: | 23074 | Forum Posts: | 152327 | Job Listings: | 3 |
|