Solved! Go to Solution.
Solved by ToanDN. Go to Solution.
Solved by ToanDN. Go to Solution.
...and, why not model this as true ducts instead of making a family that mimics ducts? In Revit 2017 there is a new option that breaks the long pieces of ducts into segments for fabrication, with the joints.
Ah, sorry about that. You mentioned "FabricationDuct", and never mentioned steel. 🙂
Ok, so a beam system needs beam families. Is this family that you're doing supposed to be categorized as structural framing?
Don't worry, but i mentioned the behavior as a Fabrication element.. it means that if you draw a line of ducts, the total length of the family is splitted automatically into numbers of elements with a fixed lenght except for the last item of course.
Yes, i would like to model these kind of profiles.. and then nest them in a Structure Frame family, so i can use it in a Beam System.
Even insert one joint every certain meters would be a success .. but the array command is useful for modular repetition from n=2 to n=x ... I need to start from n = 0 to n = x....
Please! Help me!
Hmm... Structural framing families don't work properly with nested families. I would try to do this in another way...
Just curious... for steel members to need a connector you must be dealing with large spans, like the spans for a bridge. Is that the case?
I've already created a Structural Framing nested family, with the "profile" as a Generic Model and the "rail support" as a Specialty Equipment.
What i need is that the profile has to split every 6m and any items of joint have to appear.
Build a family with this behavior for the profile, helps a lot to manage the exact number of profiles needed (i'll have the number of the families inside the model instead to create a parameter to divide the length of every family to 6 meters) and to manage the nests of the cut profiles. And of course having the exact number of the joint item too.
is it possible to implement it?! using Dynamo could resolve this problem?!
I think it is possible with simple families. No need to go to Dynamo. You need one "start" family, one array, and one "end" family. The connector family needs to nested, and applied at the end of the first piece, and at the end of the item of the array.
You need one "start" family, one array, and one "end" family. The connector family needs to nested, and applied at the end of the first piece, and at the end of the item of the array.
This is a good point. But.
I've always the issue with the array... what if, for example, the total lenght of the frame is between 18m and 12m
It could be made by the start element 6m long, the array element 6m long (with just the first element I havn't been able to parameterize an array starting from only one element, the minimum permitted number of array elements is 2) , and the end element 6m long too ...
And the same if the length is 12m or less... the array has to disappear.. but maybe this is an easier issue to fix
I'm desperate
IF L tot < 12m n=0 (array off) , La = 0
IF 12m < L tot < 18m n=1, l a = L tot - 12m
IF L tot > 18m l a = 6m
n=[INT(Ltot/6m)]-1
La = l a x n
l e = L tot - L s - L a (<--- maybe always)
Am I in the right way!?... any correction to suggest!? And the main issue remain.. How can i manage an array with n=0 or n=1 ?!?!
I did it!
I have solved the problem overlapping, for the central part, a single element and an array with a visibility parameter that turns on and off one of them alternatively depending on how long the total length is.
Now...
I tried to reply this kind of family with another profile... and it doesn't work... muble muble muble!!!
Even if I assign the array to his visibility parameter, and the flag in the tab is off... It doesn't disappear ... Whyyyyy??!?!? 😞
The MQ family works... the MI doesn't work...... could anyone help me?!
I think it should be quite simple unless I miss something. An array of a fixed length element + a flexible End piece to fill the length. See the attached file.
Here is the version I have renamed and cleaned up the parameters so that they are easier to understand. Hit back if you need any explanations.
wow.. that's great! so simplified!
It seems you don't need the first element.
But what if the total length is close to the module value? like 6050 mm .. the joint has his dimension of 300mm and It can't be outside the total length.
My solution was that, in case the last element is shorter then 500mm, the firs element is 500mm shorter (5,5m longer), so the last could be longer then 500mm and is possible to insert the joint. Those are steel profile and in the boundaries I have walls.
But It is ispiring though.
I would like to insert the possibility to define the position of the first join and the others follow each 6m. If I nest your family in another with the first element editable in length I have what I need.. am I right?!
@Anonymous wrote:
wow.. that's great.. how did you handle the visibility of just the first element of the array?! (6m < L < 12m)... I didn't get it....
Array must have a minimum of 2 instances or it will fail. That's why I created [Array Validity] parameter to make sure the Array is never less than 2.
Array Validity: if(Length > 12000 mm, 0, if(Length < 6000 mm, 2, 1))
Translation: if Length > 12m then leave the Array alone, if 6m < Length < 12m then add 1 to Array to make it 2, if Length < 6m then add 2 to Array to make it 2
Then, the Array must be off when Length is < 12m, controlled by [Array Visibility]. In such case, another piece is turned on to replace the Array, controlled by [Non-array Visibility].
Yes, you're right. Now I got it.
I had the same logic overlapping an array and a single element when you need an array with n=1.
But your formulas are so simplified compared to mine O_o
However the problem of the joint and the first element is still there... but you already helped me a lot!
many thankss!!
Now I try to understand why the overlapping works with a profile and it doesn't with another....
@Anonymous wrote:
wow.. that's great! so simplified!
It seems you don't need the first element.
But what if the total length is close to the module value? like 6050 mm .. the joint has his dimension of 300mm and It can't be outside the total length.My solution was that, in case the last element is shorter then 500mm, the firs element is 500mm shorter (5,5m longer), so the last could be longer then 500mm and is possible to insert the joint. Those are steel profile and in the boundaries I have walls.
But It is ispiring though.
I would like to insert the possibility to define the position of the first join and the others follow each 6m. If I nest your family in another with the first element editable in length I have what I need.. am I right?!
This version will take care of conditions you mentioned above. I am going to bed now.
I really appreciate your effort, but my complex logic and formulas were meaningful.
I know the case limit are few... but I have to cover all the options.
The family you have shared in case of 5.5m length, crashes ... and with 6m happens this
but I'll improve the previous family (that one without the 500mm control) nesting it with another where you can edit the length of the first profile! 🙂
Actually is not a solution... When the length is a multiple of 6 the length of the "end piece" is zero and this generates a fatal error.
Can't find what you're looking for? Ask the community or share your knowledge.