PDA

View Full Version : Scaffolding family



Grumple
2008-10-24, 09:31 AM
Hi all,

How would I go about creating a scaffolding family that could A) be drawn from click 1 to click 2 (like a railing), and B) also be built in a way that would allow me to schedule the amount of components taken to make each instance.

So, for example, each 1.5m distance of a scaffolding section 4m high, might be made of 8 vertical poles, 12 horizontal poles, have 6 of bracket a, 8 of bracket b, 8 wooden boards etc etc etc...

So when I want to add a scaffolding to the outside of a wall I can click to start - click to end - then make a schedule to tell me exactly how many of each 'part' I would need to make it.

I've managed to make a scaffolding system based on a railing family (the posts being the vertical poles with brackets attached, the rails being made of the horizontal poles). But this doesn't allow for the scheduling of different parts.

Any ideas would be great.

Thanks

Scott Womack
2008-10-24, 10:07 AM
Hi all,

How would I go about creating a scaffolding family that could A) be drawn from click 1 to click 2 (like a railing), and B) also be built in a way that would allow me to schedule the amount of components taken to make each instance.

So, for example, each 1.5m distance of a scaffolding section 4m high, might be made of 8 vertical poles, 12 horizontal poles, have 6 of bracket a, 8 of bracket b, 8 wooden boards etc etc etc...

So when I want to add a scaffolding to the outside of a wall I can click to start - click to end - then make a schedule to tell me exactly how many of each 'part' I would need to make it.

I've managed to make a scaffolding system based on a railing family (the posts being the vertical poles with brackets attached, the rails being made of the horizontal poles). But this doesn't allow for the scheduling of different parts.

Any ideas would be great.

Thanks

Personally, I'd approach it like this (Long explanation):

Create a family (Specialty Equipment, or Site catagory?)that represents each part you wish to schedule, making each family shared. Now make another family that is a single level assembly of these pieces. You'll need to remake any parameters to control lengths, widths, etc. again, and then load the previous families into this, connecting the parameters in the families to those you made. Now make another family that is a vertical array of this single level family. Again, remake any parameters to control lengths, widths, etc. connecting the parameters to those in the nested single level family you load in. Add array parameters to control the number of vertical single level families up the array. Now create a Generic Line based family and nest the vertical array family into this. You have to decide how to space them, locking one at each end, or calculating the 2 point pick distance, using a set spacing length, calculating a number, doing math to get number of spacings, subtracting this from pick length, and then spacing starting distance and then array.

I know this is a complicated process, but it is the only methodology I found that reliable allows adjustment of the individual member's dimensions, adjustment of an array in two directions, with a predictable behavior. Because all of the families are shared, you'll be able to schedule the number of individual members in the total array.

Grumple
2008-10-24, 02:18 PM
Sounds perfect to me - Just wish I understood any of that advanced family modeling!!!

I've sent you a desperately confused email!

Thanks for your reply : )

twiceroadsfool
2008-10-24, 02:26 PM
Line Based Family is the way to go, its just going to take awhile to set up. You may want to consider loading in Structural Framing members, so you dont have to remake all of the bars, etc...

What do you need it for?

Grumple
2008-10-27, 09:46 AM
I'm the new 'Revit Guy' at a reseller, so any questions that a client ask about its capabilities come to me! We have a client that won't even consider buying Revit unless you can create scaffolding and schedule its seperate parts etc...

Problem being I only just heard about Revit 5 weeks ago and have to spend my time on this kind of thing rather than working out how to actually use the program...

Scott's suggestion seems ideal, I'm slowly attempting it!

Grumple
2008-10-27, 12:43 PM
All was going well...

Now can someone explain how to make array parameters?!

Found this: http://forums.augi.com/showthread.php?t=59495&highlight=family+array
http://forums.augi.com/attachment.php?attachmentid=41044&d=1177116865

But it just went right over my head...

If commands? Formulas?!

Help!

Scott Womack
2008-10-27, 02:15 PM
All was going well...

Now can someone explain how to make array parameters?!

Found this: http://forums.augi.com/showthread.php?t=59495&highlight=family+array
http://forums.augi.com/attachment.php?attachmentid=41044&d=1177116865

But it just went right over my head...

If commands? Formulas?!

Help!

Once you have created an array, select a member of the array, and you'll see a blue number appear, Select on one of the lines just below it, (Not the number itself) and then the parameters button (Label?) will appear on the toolbar above. Now you can create an integer parameter for that array number.

Grumple
2008-10-27, 03:49 PM
Found this incredibly helpful tutorial: http://designreform.net/2008/04/03/revit-line-based-parametric-array/

So I'm now slowly starting to understand the array formulas etc... I've basically copied the tutorial but instead of brackets used my Scaffolding section. I'm putting in the formulas to link the amount of Sections to the Length of the line drawn - But I get this error message:

"Instance Parameters can't be used in Type Parameter formulas.
Type Parameter "Num_Sections" is driven by Instance Parameter(s): "Length"."

How is Length down as an instance parameter? It is there as a default in the family...

Thanks for your input : )

twiceroadsfool
2008-10-27, 03:56 PM
Youre using a Line Based Generic Model, correct? All Line Based families have to have Length as an instance parameter, becuase every instance can have a different length.

So you cant have a TYPE variable being driven by an INSTANCE variable. Your variable Num_Sections will have to be an instance parameter.

Scott Womack
2008-10-27, 03:57 PM
Found this incredibly helpful tutorial: http://designreform.net/2008/04/03/revit-line-based-parametric-array/

So I'm now slowly starting to understand the array formulas etc... I've basically copied the tutorial but instead of brackets used my Scaffolding section. I'm putting in the formulas to link the amount of Sections to the Length of the line drawn - But I get this error message:

"Instance Parameters can't be used in Type Parameter formulas.
Type Parameter "Num_Sections" is driven by Instance Parameter(s): "Length"."

How is Length down as an instance parameter? It is there as a default in the family...

Thanks for your input : )

That would depend upon what family template you started that family from. If it is a Line Based type, than yes, length is an instance parameter. That is how they work.

The error message is telling you that you cannot use ANY instance-based parameter in the calculations of a TYPE-based parameter. You can use a Type-based paramter in the calculations for an instance parameter.

IF you can determine the paramter name, then one way to solve it would be to change that parameter from Type-based to Instance based.

I believe when you create a parameter, the default is for the parameter to be created as a type-based parameter, and you have to click on the little radio button in the lower right quadrant of the parameter creation box.

Grumple
2008-10-27, 05:15 PM
Ok, got that.

I managed to get it working within the family editor by adding the formula 'Num_Sections = Length/Section_Length

So the number of scaffolding sections multiplies along the length of the line at set increments constrained by a dimension.

When I go to load it into a project though, I select it as a component, draw the line path - and it creates absolutely nothing!

Thanks for your help, I just think I'm a little out of my depth...

Grumple
2008-10-28, 10:18 AM
As far as I can tell my repeating scaffolding section is working fine within the family editor...

When I load it into a project it just seems to be 'invisible' though...

The seperate parts of the section were created in a Speciality equipment template - the section of all these parts combined was created in a Line based template.

Any ideas?

twiceroadsfool
2008-10-28, 11:11 AM
We'll be able to help you out better if you upload the family here so we can take a peek at it.

When you loaded the components in to the LBF, what catagory are they? Also, are they set to shared? And youre sure theyre set to be visible in the LBF? Is that catagory visibile in the views your looking at? is it JUST not creating anything, or is it giving you the yellow Warning box at Lower Right that says *you built me but im not visible...*

Grumple
2008-10-28, 11:36 AM
Ok, here is the file (I hope)...

Thanks for your time - it is really apreciated : )

Grumple
2008-10-28, 12:07 PM
LBF?

When the line based model is loaded in project it lets me draw the line, then there is just a blank page. I can draw a selection box around the general area and it selects it as a 'generic model' and it has a dimension and 2 drag points at either end of the invisible line...

I see no yellow warning : \

twiceroadsfool
2008-10-28, 12:15 PM
I got it.

Go in to your LBF (line based family). Select the Family "Scaffolding section" and edit it. Go in to the Settings > Family Catagories and Parameters and put it on SHARED at the bottom.

You have the elements IN that family shared, and just forgot to share THAT element putting it in the LBF. Once you share it and load it back in to the LBF, and load the LBF in to the project, everything shows up. :)

Grumple
2008-10-28, 12:32 PM
Schweet!!

I was getting ready to start again!

It was either just a total mess or some lame newbie mistake... My bad.


Thanks very much for your help Aaron,
I'll be sure to pester you in the future!

twiceroadsfool
2008-10-28, 12:55 PM
No problem! BTW, also keep in mind that the Family can be 100% effective without ACTUALLY having all of that detail modeled. The junctions can and will schedule in quantity, even if you model them as a simple block. As far as that goes, you can have a family with just symbology in it, and it will still function.

I only bring it up because a lot of scaffolding in a project with all of those curves and junctions may start to hamper performance. Just because you CAN model everything... Doesnt mean you should. :)

Grumple
2008-10-28, 12:57 PM
Ok...

So would it now be possible to create the same thing - but with a start and end section added automatically?

Or, would it be a case of inserting a start section seperately, then using the array family, then adding an end section?

No urgent help needed now! Just thought it might be interesting...

Grumple
2008-10-28, 12:59 PM
No problem! BTW, also keep in mind that the Family can be 100% effective without ACTUALLY having all of that detail modeled. The junctions can and will schedule in quantity, even if you model them as a simple block. As far as that goes, you can have a family with just symbology in it, and it will still function.

I only bring it up because a lot of scaffolding in a project with all of those curves and junctions may start to hamper performance. Just because you CAN model everything... Doesnt mean you should. :)

Good point... I'll suggest that when this gets back to the client : )

Now to work out how to make the schedule!

Cheers

twiceroadsfool
2008-10-28, 01:18 PM
Specialty Equipment Schedule.

One thing you might want to think about, in terms of planning ahead:

I didnt look too closely at all the nested family catagories, but consider this:

Line Based Family > Assembly Family > Individual Pieces

If all three Tiers are SE families, theyre ALL going to schedule in your schedule. You wont really want the "assembly" or the "LBF" in the schedule, per se.

So you might want to do something like this:

LBF (generic model) > Assembly (generic model, shared) > Individuals (specialty Equip, shared).

Doing that, the LBF and nested assembly wont schedule.

Also, doing what you suggested with the start and the end is possibly, in many ways. Lock reference planes in the family for the location/size of the "start" and "end" pieces, and make sure the array is constrained in the middle. I do this very tactic for Dentil Moldings, where the ones on the end have to get truncated for not being even dimensions. :)

Grumple
2008-10-28, 04:02 PM
To be honest - its a bit of a mess...

But it is my first attempt at anything like this so I'm not too worried about that really!

I think you're right about the SE families. Are you suggesting I just save the nested families as different types? (Using: Settings > Family catergories & parameters)


Also (another newbie question I'm afraid), when I schedule it, how can I get a 'Total length' field???

I've added 'Horiz. D. Depth' as a field (which is one of my horizontal poles lengths) and it comes up with just one instance of it (580mm)

I thought the best way would be to create a field that was this single length * count...

But it won't allow 'count' to be used in a formula : \


Give me time and I'm sure i'll start asking some proper technical questions!!

twiceroadsfool
2008-10-28, 04:06 PM
Depends how the individual families were built. Do they all use a parameter "Length?"

If so, make it a SHARED parameter. If its shared, and you schedule the families the way i mentioned above, their lengths will all report. Then, you can simply tell the schedule to calculate the totals. You wont get them to schedule in the project environment, unless its a shared parameter...

But yeah, you got the gist of what i meant by catagories. You dont want all three levels of nested families to schedule (i dont think?). So change the catagories, or come up with another way to filter. Its a pragmatic thing, i guess. You might want the LB one to schedule, so you can tell WHERE the different pieces are on the project site.

BTW, i would consider making the model lighter (as i mentioned, with less detail) BEFORE you show it to the client... or youll be modeling nuts and bolts throughout the entire project. :)

Grumple
2008-10-28, 04:58 PM
As far as I remember I made pretty much everything shared (ironic as that may sound now...)

In the schedule I can choose my 'deep bar' depth, my 'wide bar' width, and my 'high bar' height. They are all recognised as lengths - they appear in the schedule just as a single instance though.

Count------Family--------'wide bar' width----Total length required
10-----------Wide bar-----500--------------------????????????????

If I could just do width ("length") x count - then it would surely just provide the total "length" required?

Just seems pointless not being able to use the count of an item in a formula : \


I dont mind the modeling - it's this schedule business I'd rather not deal with!

It's not a serious project anyways - I think they just want to know it is possible. Wouldn't mind being paid to model all the scaffolding families they need though : )

Thanks again

twiceroadsfool
2008-10-28, 05:17 PM
I wouldnt bother naming the lengths/heights different things. A pipe is a pipe, yes?

Go back in, and change them all to the same Shared Parameter "LENGTH."

You wont even need a formula...

d.stairmand
2008-10-29, 01:57 AM
Here is a Line Based Racking System, that is basically like the Scaffolding.
I have multiple Heights within the Family, an array & multiple Nested Components
It doesn't spit out any schedules or that - just Draws it all up

Grumple
2008-10-30, 09:58 AM
I wouldnt bother naming the lengths/heights different things. A pipe is a pipe, yes?

Go back in, and change them all to the same Shared Parameter "LENGTH."

You wont even need a formula...

Out of the office yesterday - Sorry

The reason I named the pipes was because I guess they would have a few different lengths.

They'd have:
pipe 1 - a short 1m depth one
pipe 2 - an average 1.5m width one
pipe 3 - a taller 2m height one

If the schedule was just giving out 'pipe length', they'd have a collective length but no idea how many of each pole to take...

Unless I've totally missed your point : |

Did you mean there is no need for the depth/width parameters? - I just thought at the time that was how to constrain their sizes (like I said its a bit of a mess!)

----------------------------------------------------------------------------------------------------------------------------

I'll probably re-make it so its cleaner and easier to understand - and add the end sections as suggested before.

One thing I have thought of though:

Dragging it along a wall is fine - But what about when I get to a corner?

Is there a way that I could make it work on multiple clicks in multiple 90 degree directions (Like a wall) - adding a 90 degree 'corner section' at each change of direction?


I'm guessing the answer is yes - but is it doable by a newbie like myself? : \

Thanks for all the input : )

Scott Womack
2008-10-30, 10:04 AM
Dragging it along a wall is fine - But what about when I get to a corner?

Is there a way that I could make it work on multiple clicks in multiple 90 degree directions (Like a wall) - adding a 90 degree 'corner section' at each change of direction?


I'm guessing the answer is yes - but is it doable by a newbie like myself?

Actually the answer to this last one is No. A line based family is limited to just two points to select. Also, the scaffolding at a corner would have a different spacing that the regular scaffolding itself. My suggestion would be to make another family, with the vertical array, made up of the same nested families as the one you are currently working on. In that way, it would schedule right along with the rest

Grumple
2008-10-30, 10:36 AM
Actually the answer to this last one is No. A line based family is limited to just two points to select. Also, the scaffolding at a corner would have a different spacing that the regular scaffolding itself. My suggestion would be to make another family, with the vertical array, made up of the same nested families as the one you are currently working on. In that way, it would schedule right along with the rest

As in a family that would just be dropped inand aligned to the straight sections?

I thought of another problem with this anyway...

My line based family is set to array the section which is a set length - which means it will most likely either over shoot the wall end, or not reach the wall end - which makes the corner redundant because it'd link the next piece either miles away from the next wall or through the first one.

Any way of making it possible to 'drag' the end section to meet the wall end? Or can I make the array more inteligent?

This is getting a tad more complex now : |

Cheers

Grumple
2008-10-30, 10:39 AM
Here is a Line Based Racking System, that is basically like the Scaffolding.
I have multiple Heights within the Family, an array & multiple Nested Components
It doesn't spit out any schedules or that - just Draws it all up

Very similar to my scaffolding : )

When you say different heights, do you mean a number of different types that you can select or can you actually adjust the height of the family in place?

Scott Womack
2008-10-30, 10:53 AM
My line based family is set to array the section which is a set length - which means it will most likely either over shoot the wall end, or not reach the wall end - which makes the corner redundant because it'd link the next piece either miles away from the next wall or through the first one.

Any way of making it possible to 'drag' the end section to meet the wall end? Or can I make the array more inteligent?

This is getting a tad more complex now

Yes you are definitely wandering into the area of more advanced families. I do not know if I can adequately describe this so you might understand the process, but here goes....

You have to have some sort of either starter or end section in your lined based family that is built to be adjustable in length. Now, calculate the length of the 2-points picked, and the number of preset scaffolding length units you can get from this. You then have to test the length of the number of units x preset length against the picked length. If the calculated length is longer that the picked length, subtract 1 from the number of units, and then subtract the length you now calculate from the lowered number of units x preset length to get the length to use for the internal adjustable scaffold in your two pick family, and then the array could start (or stop) at the end of the adjustable length parts.

At least in the US this is how some scaffolding works.

Another approach would be to have the array be longer that the two points picked, to that a portion of a section would stick out past the end of the building. Some scaffolding is built this way. It might even stick out past the end of scaffolding around the corner. This only becomes an issue when you are placing scaffolding inside of two inside building corners, like in between two building wings.

twiceroadsfool
2008-10-30, 12:26 PM
Out of the office yesterday - Sorry

The reason I named the pipes was because I guess they would have a few different lengths.

They'd have:
pipe 1 - a short 1m depth one
pipe 2 - an average 1.5m width one
pipe 3 - a taller 2m height one

If the schedule was just giving out 'pipe length', they'd have a collective length but no idea how many of each pole to take...

Unless I've totally missed your point : |



Youve got nested families though, so here is how i would do it.

"Pipe 1" "Pipe 2" and "pipe 3" are all different Families, nested within the assembly. Then, instead of all the "lengths", and "depths" and "Heights," they can ALL use a Shared Parameter LENGTH. As long as P1, P2, and P3 are all Shared Families, and the assmeblies in the LBF are all shared (which they are, that was the first issue we took care of), youll be able to generate a Specialty Equipment family that will basically read out as:

Pipe 1 - 164 ft
Pipe 2 - 225 ft
Pipe 3 - 22 ft

You can tell it to imtemize every instance or not, and just get totals.

As Scott mentioned, you are limited to a 2 click assembly. So you can do a couple of things: Build a seperate entity for the corners, or build the corner conditions in to the LBF, and use a visibility parameter (instance, im thinking) to turn it on or off.

Depending on how you plan your family, you may want that to be *after* the second point (the end of the "Length" so that you finish clicking on the wall, and it builds out for the corner.

The reason i say consider putting it IN the family, is that with connections and junctions, if its seperate youll have to start wrestling with "what goes where" between the families.

But remember my point earlier... You DONT have to model all of this to get your desired outcome...

Sounds like a fun project. If i had nothing to do id be happy to play with it.

twiceroadsfool
2008-10-30, 12:36 PM
They way i handle the length issue is this:

I use the array to the nearest whole number (subrtracting one), and then i have the remaining distance made up of one that is NOT part of the array. But as Scott mentioned, it really depends how it will be built in real life...

Here is a brief example of what i meant. This one os obviously WAY simpler, as its just a hacked dentil molding, but you get the point. You can see how the array goes ALMOST to the end, then there is a piece that is ACTUALLY in that family, to make up the distance.

So you could use your ARRAY piece to get almost there, and then have the native P1, P2, and P3 families in the LBF to cover the distance... And they will all still schedule together. :)

d.stairmand
2008-10-31, 02:20 AM
On the Racking System Family that i Included, Its basically the Same 3 Level Rack Arrayed vertically. The 3 levels within the Array can be adjusted to Suit all the Conditions.
Re the Heights - Yep i have set up default Heights of the Racking Modules - Say 10 Racks High, 11, 12, & 13. Like in the Scaffolding Family discussed, I think it would be best to automatically have some default Heights of the family & the Easiest solution we found was the Height of the Racking Units. Within the Scaffolding Family, i would most probably have the Defaults of 1, 2, 3...10 Scaffolding Units High. (This also helped me heaps when debugging the family as switching between the lot of them normally produced the Errors that needed sorting).

One thing i have found with the Line based Families - Its a Real File Size Hogger(Multiple Line based Racks added 4-5mb to the File Size, with the family being only 700kb)). Each Instance of a Line based Family that is different adds to the Project File Size. I found it easier in the end to just make then normal components & have both a Height & Length Variable on them. This way the File size was kept small.

Grumple
2008-10-31, 11:44 AM
wow - a lot of info to attack there guys!

I was put on a lame logo creating task for a day... Now I'm back to this beasty.

Thanks again for all the input, I'll get attempting all of your suggestions : )