Craig_L
2009-06-05, 12:38 AM
We have recently started work on a new project which requires us to model some purlins onto a curved roof surface.
This presented a bit of a problem because (as far as I know, and from other comments I read on the forums) this can't be handled by revit.
There was talk on the forums of creating families that have the "always vertical" turned off and are not "hosted" to a level as purlins normally are. The problem with these generic families is that you can not then list them in member schedules or counts at all, which for us was not an option. To be honest I didn't even go down this path for that reason alone, however from the comments on the forum it appeared that the attempts with this method were not particularly succesful anyway.
I initially thought getting these purlins down on the roof was going to be easy, there is after all a "radial array" option - however when it comes to an element hosted on a level you get the error "can not rotate member relative to ground level" which is a paramater built into the family so that the member always remains aligned with its reference plane or level.
I also thought it could be handled by putting in an arced reference plane - but revit will not allow a reference plane to be anything other than flat! (Perhaps something for the wishlist?)
So basically - forget about using the radial array command, or trying to attach your purlins to a level it will just frustrate you.
I took a bit of a random approach, because I know AutoCAD 2D will handle this using the "array" and then "polar array" functions as it is not stuck with using the constraints forced on the 3d modelled components. I modelled the first row of purlins right at the centreline at the top of my roof curve(using revit). After placing my first purlin which sits without any rotation, I exported an elevation (you can use an elevation or section) to CAD format with my this row of purlins modelled in. Then once opened in 2D CAD I polar arrayed my purlins to suit the angle of rotation required (in my case 27.14degrees either side of centre). I had measured this angle using revit but you could just as easily measure this in 2D CAD. This was a pretty quick process, took me about 2 minutes to get my purlins layed out in elevation using 2D polar array function.
(See elev1.bmp)
Don't forget to mirror your top purlin before arraying the left side of the circular roof so that you get your purlins facing the right direction and then delete the mirrored purlin at the top of the arc.
Back to revit:
Simply save this CAD file and import CAD link into revit in your working elevation (or section). Once you have inserted your file you need to work out the rotation angle for each purlin. You can either do this in CAD using "list" command and selecting each purlin seperately and noting it somewhere, or in revit draw a detail line from the base of each purlin and measure the angle using DIMENSION>ANGULAR in your drafting tools.
Now Select the entire row of purlins that you placed at the top initially (with laps as required across each bay) do not try grouping them at this point, but keep the entire row selected. Copy this row across by snapping to the base end point of your modelled purlins and moving them to the same co-responding point of your purlin which is indicated by the linked CAD file.
With the row still selected you can now edit the properties of the entire row in the properties dialogue box and change the value for the "Cross-Section Rotation" to match the value that you measured for the coresponding purlin in the 2D file. (In my case the first purlin from the centre point on the right of the arc was 2.47degrees) repeat this process for each purlin around the arc. It is a bit time consuming but all up it's not that bad really.
Once you have done this you can then select all instance of your purlins for this roof, and group them if you wish. I did this because it makes them much harder to be accidentally edited or moved.
All up this process only took about 5-10 minutes for the entire roof.
I have shown an image of the purlins in the 3d model so you can see the finished product (for the right hand side of the curve) (see 3d.bmp)
It should be important to mention, that during this process REVIT will complain that the member is unsupported - sadly I dont believe this is avoidable but for us it wasn't an issue as we don't really need the analytical model - you can ignore these warnings.
Hope this helps!
(FINALLY! I worked out was wrong with my images...)
This presented a bit of a problem because (as far as I know, and from other comments I read on the forums) this can't be handled by revit.
There was talk on the forums of creating families that have the "always vertical" turned off and are not "hosted" to a level as purlins normally are. The problem with these generic families is that you can not then list them in member schedules or counts at all, which for us was not an option. To be honest I didn't even go down this path for that reason alone, however from the comments on the forum it appeared that the attempts with this method were not particularly succesful anyway.
I initially thought getting these purlins down on the roof was going to be easy, there is after all a "radial array" option - however when it comes to an element hosted on a level you get the error "can not rotate member relative to ground level" which is a paramater built into the family so that the member always remains aligned with its reference plane or level.
I also thought it could be handled by putting in an arced reference plane - but revit will not allow a reference plane to be anything other than flat! (Perhaps something for the wishlist?)
So basically - forget about using the radial array command, or trying to attach your purlins to a level it will just frustrate you.
I took a bit of a random approach, because I know AutoCAD 2D will handle this using the "array" and then "polar array" functions as it is not stuck with using the constraints forced on the 3d modelled components. I modelled the first row of purlins right at the centreline at the top of my roof curve(using revit). After placing my first purlin which sits without any rotation, I exported an elevation (you can use an elevation or section) to CAD format with my this row of purlins modelled in. Then once opened in 2D CAD I polar arrayed my purlins to suit the angle of rotation required (in my case 27.14degrees either side of centre). I had measured this angle using revit but you could just as easily measure this in 2D CAD. This was a pretty quick process, took me about 2 minutes to get my purlins layed out in elevation using 2D polar array function.
(See elev1.bmp)
Don't forget to mirror your top purlin before arraying the left side of the circular roof so that you get your purlins facing the right direction and then delete the mirrored purlin at the top of the arc.
Back to revit:
Simply save this CAD file and import CAD link into revit in your working elevation (or section). Once you have inserted your file you need to work out the rotation angle for each purlin. You can either do this in CAD using "list" command and selecting each purlin seperately and noting it somewhere, or in revit draw a detail line from the base of each purlin and measure the angle using DIMENSION>ANGULAR in your drafting tools.
Now Select the entire row of purlins that you placed at the top initially (with laps as required across each bay) do not try grouping them at this point, but keep the entire row selected. Copy this row across by snapping to the base end point of your modelled purlins and moving them to the same co-responding point of your purlin which is indicated by the linked CAD file.
With the row still selected you can now edit the properties of the entire row in the properties dialogue box and change the value for the "Cross-Section Rotation" to match the value that you measured for the coresponding purlin in the 2D file. (In my case the first purlin from the centre point on the right of the arc was 2.47degrees) repeat this process for each purlin around the arc. It is a bit time consuming but all up it's not that bad really.
Once you have done this you can then select all instance of your purlins for this roof, and group them if you wish. I did this because it makes them much harder to be accidentally edited or moved.
All up this process only took about 5-10 minutes for the entire roof.
I have shown an image of the purlins in the 3d model so you can see the finished product (for the right hand side of the curve) (see 3d.bmp)
It should be important to mention, that during this process REVIT will complain that the member is unsupported - sadly I dont believe this is avoidable but for us it wasn't an issue as we don't really need the analytical model - you can ignore these warnings.
Hope this helps!
(FINALLY! I worked out was wrong with my images...)