Revit MEP Forum
Welcome to Autodesk’s Revit MEP Forums. Share your knowledge, ask questions, and explore popular Revit MEP topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Linear frustration

25 REPLIES 25
SOLVED
Reply
Message 1 of 26
revitworkbench
657 Views, 25 Replies

Linear frustration

Hello, I am trying to get a linear family to flex incrementally to certain distances. I have written the equations and everything seems to flex fine in the family. But as soon as I load it into the project, It completely ignores my equation driven parameter? I have a feeling that it has something to do with the way a linear family is set up since I cannot delete the length parameter. Its really strange and illogical how it is behaving. I have attached the family. Please help!

25 REPLIES 25
Message 2 of 26

I put the family in and it looks like it stretches okay. Is it supposed to only expand in increments equal to the "Length of a Single Hole Cut".

Yay I'm talking about Revit and stuff
Message 3 of 26

Sorry, you won't be able to achieve what you are describing. It sounds like you are seeking the behavior of dynamic blocks in AutoCAD? The stretching action in Revit will always be arbitrary initially but if your formulas are well defined the family will adjust to be only an acceptable size afterward. You just won't get the notched or stepped sort of context you are looking for.

My other older self here: http://forums.autodesk.com/t5/user/viewprofilepage/user-id/46056
Message 4 of 26

To the OP :

 

Maybe you need to change your plan. My comments:

 

1) It is not a good practice to array an extrusion. You should array a nested element instead.

2) It is not a good practice to put so many voids in a family. (Is it really necessary that the elements are voids? They could be just a representation with model lines (nested).

3) If you want a family to have a certain length that is determined by a certain module, make it be driven by an integer parameter that controls the number of elements in the array.

 

Items # 1 and # 2 affect the performance of the family. Have you noticed how long it takes for this family to load and regenerate when you create one instance? Do you want your projects to have their performance affected, waiting for instances of this family to finish regenerating?


Alfredo Medina _________________________________________________________________ ______
Licensed Architect (Florida) | Freelance Instructor | Autodesk Expert Elite (on Revit) | Profile on Linkedin
Message 5 of 26

Yes it is so that the Unistrut can only be cut in between the holes. But when you say it stretches ok, do you mean in a project? or just in the family. Because thats what I found too. In the family I can get it to stretch fine but in the project it follows some other rules for some reason, and doesnt work. Thats my question.
Message 6 of 26

Thats what I did, I did define my formulas well, and it stretches fine in the family. And I want it to "adjust to be only an acceptable size afterward." Its just not DOING that. Have you looked at the family I attached?
Message 7 of 26

Its not important to me to have a lean family. My computer is hefty and my project is small. I tried the method you described in "3)" but I dont like the segmented look it gives. This project is heavy on aesthetics. Hence my current arrangement. If anything, I just want to know WHY my formula works in the family environment but not in the project environment.
Message 8 of 26

The family you are making is a structural framing family, that is created in the project by two clicks, endpoint and startpoint. How can you predict how many holes are going to be in each instance? You can't put all the possible numbers in that extremely long formula that you wrote.


Alfredo Medina _________________________________________________________________ ______
Licensed Architect (Florida) | Freelance Instructor | Autodesk Expert Elite (on Revit) | Profile on Linkedin
Message 9 of 26

I think you answered your own question. All my possible options are in fact in that formula. You'll notice that I limited it to 10' which made it a total of 62 possible out comes if I remember correctly.
Message 10 of 26

Isn't it better to control the length and number of items with an integer parameter instead of writing a formula with 62 embedded IF statements?


Alfredo Medina _________________________________________________________________ ______
Licensed Architect (Florida) | Freelance Instructor | Autodesk Expert Elite (on Revit) | Profile on Linkedin
Message 11 of 26

it it really doesnt take that long the syntax is repeating after you write the first two, then you just copy and paste. Then use jump to next number and type it in. Only took a coulple minutes. It might have been easier, but as I stated earlier, thats not my goal. Aesthetics are important in this project.
Message 12 of 26

What does aesthetics have to do with with controlling the length of an element and the number of items in the array with an integer parameter for the number of holes?


Alfredo Medina _________________________________________________________________ ______
Licensed Architect (Florida) | Freelance Instructor | Autodesk Expert Elite (on Revit) | Profile on Linkedin
Message 13 of 26

The integer parameter would only work with and independent length equation if the desired length variables were also integers. Which they are not, they vary by an incremental length specified to 1/32". If you look more closely at my family you will discover that the integer parameter which is set up for the holes is dependent on the length. Therefore, calling the number of holes into the length equation would create a circular reference. Therefore, the only way to do what you are saying would be to create an extrusion of only one of the incremental lengths, use it as a nested family and then array it. This although logically, and quantitatively effective, disappoints aesthetically because there is a visible distinction line between each incremental element once loaded into the project. There is no way to join them. Hence my dilemma. Furthermore, incremental or not, the truth of the matter is that my equation WORKS. Even if your method worked despite my former argument, it wouldn't work in a project environment because of an underlying systematic error which I (or seems like nobody else either) currently understand. Going back to one of my first statements. I believe it is in the way the linear family syntax communicates with the project environment. The project environment therefore, (I believe) terminates or exits the order of necessary operations before the order of operations could be completed. In other words, you can put any equation you want into this parameter and it will not work. Finally, I already tried deleting the length parameter and It wouldn't let me. I tried associating a new parameter for the length and it wouldn't let me. Despite my above argument, if you still believe that it will work, then go ahead and try it yourself. If you can get it to work, I will eat my words, and on top of that, I will be very grateful!
Message 14 of 26

For a family to ignore the length you define during placement the geometry can't be directly dependent on that value, it must be derived from it. In essence you'd need your own length parameter that reacts to the length defined during placement.

 

Since you intend to limit it to 10 ft. sections like commonly available off the shelf (though we used to buy 20 ft. sections) it might make more sense to create Types based on preset lengths 1,2,3,4,5... and then allow for variations by creating new types when needed. I accept the notion that it ought to be Structural Framing but that incurs Revit's own notion of analysis for that category. You probably won't actually be doing structural analysis on unistrut? A better category might be Structural Connections, Structural Stiffeners, or Speciality Equipment. It would be easier to place the family at a desired elevation with those too.

 

As Alfredo wrote earlier your family takes a long time to load into a project as well as to interact with each time. It's annoying enough for one, let alone many. My laptop isn't brand new super duper but it holds its own on very large projects and I'd resent using this family if I had to work with it much. The holes are a subtlety that I could live without for most applications (real world Unistrut sections w/o holes are stronger too). I might use it for a specific location to create a rendered view but otherwise I'd just be burdening the model with detail that would not only slow performance but also look bad because a single piece of unistrut in most views would turn into a thick blob of a line.

My other older self here: http://forums.autodesk.com/t5/user/viewprofilepage/user-id/46056
Message 15 of 26

There is a Structural Stiffer template (as Steve suggested), that is line-based; it seems a good choice of template for this family. This illustration shows a simple way of making the family, so that it loads and regenerates quickly without affecting the performance of the project. The element that repeats is a nested family.

 

1-31-2014 4-44-18 PM.jpg


Alfredo Medina _________________________________________________________________ ______
Licensed Architect (Florida) | Freelance Instructor | Autodesk Expert Elite (on Revit) | Profile on Linkedin
Message 16 of 26

How did you create this one? Are your #of items nested families? How did you make the holes?
Message 17 of 26

As I wrote in post # 4 above, it is not a good practice to put several voids in families. Revit has to "think" more to process a family with voids. Also, arrays should be made with nested families, for the same reasons of performance. But, nested voids cannot cut geometry. So, because of these rules of the game, we have to do it in another way.

 

Notice that your question is "how did you make the holes?" You don't even notice if those are voids or not. That proves the point the Steve and I are trying to make in this thread.

 

( I tried to attach the family to this post three times, but this forum gives me an error that says the "the contents of the attachment doesn't match its file type") I have no idea why. Sorry.

 


Alfredo Medina _________________________________________________________________ ______
Licensed Architect (Florida) | Freelance Instructor | Autodesk Expert Elite (on Revit) | Profile on Linkedin
Message 18 of 26

I am familiar enough with this family that I was trying to prove to you how it looks. The point being that these families behave differently in the project environment. Yours was clearly a snapshot from the family environment and not set to fine detail either. I notice that the holes didn't seem real, that's why I asked how you made them. Put it into the project environment, turn on shaded view, and put it to fine detail and you will see what I'm talking about. I'm not asking for advise on how to make this family easier for Revit to "think" about. It's not for anyone else to use than me. And I have 275GB of RAM and 32 parallel cores. Therefore I don't care. I just want it to look right. Thanks again!

Sent from my iPhone
Message 19 of 26

Then, you could do it as shown above, but with an array of void extrusions. That is against the recommendations for performance, but if you don't care, then do it like that. But, as you can see, it can be done in a very easy way without complicated formulas, but if you prefer the complicated formulas, too, then do it like that. I don't understand why you ask for advice and then ignore it completely.


Alfredo Medina _________________________________________________________________ ______
Licensed Architect (Florida) | Freelance Instructor | Autodesk Expert Elite (on Revit) | Profile on Linkedin
Message 20 of 26

Not that I dont sincerely appreciate your effort, I do,  its just that all your advise hasnt coincided with what I was asking. Your advise centered around optimization. My question centered around fuctionality. Meaning, the order of operations were not being fully carried out. Youve never addressed this issue. The fact that the family performs perfectly in like I want in the family environment but differently in the project environment was never addressed. You got derailed because the way I made my family was different than the way you would make the same family and never focused on the real issue. Im not against doing it a different way, if I meet the same requirements, but none of your solutions meet those requirements. Namely asthetics, for one, realizm.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report


Autodesk Design & Make Report