Sunday, July 28, 2013

ROW PLANTING

I have to admit that my first reaction to Marcello's scaling methods was to raise objections.  "How practical are they really?"  "Aren't you overstating your case a bit"  "Yes, very clever ... but ..."  Seemed a bit mean spirited though, so I had a go at the "Tuscan Column by Spline" challenge.  (see this post)  Not a big success ... but it jolted me into a much better understanding of basic Revit splines.  What once seemed a somewhat clumsy tool has become a little gem.  Actually this applies to many features of Revit's standard drawing toolkit.  Full of hidden gems.



But back to Marcello's scaling tricks.  I'm beginning to think he's a bit like Autodesk: very prolific, good at marketing, always up to something new ... :-)  So what should we do when the tools we get from Autodesk disappoint ?  Complain ?  Whinge ?  Write insulting remarks on an internet forum ?  Marcello himself would say something like "thanks for the gift, now I'm going to bend it to my will"  In other words, he's thrown out some interesting ideas.  Some of them will fly, some of them may bomb.  Doesn't matter.  Grab a hold of one and see where you can run with it.


So following on from my curtain wall screens, I started to think about linear repeating details. You know the kind of thing.  Egg and dart mouldings, classical balustrades, dentils, faience string courses, cast-iron facade panels. Lots of applications.

These things take a little while to model, and invariably you change your mind about the scaling of the design somewhere along the line.  Also you might want to re-use that detail elsewhere, but in a different context.  The edge detail for a table is scaled differently from the eaves of a Greek temple, but they could both contain egg & dart.


No I am NOT a big fan of fake classical, or whimsical period charm.  Some of our clients insist on lots of decorative detail, usually islamic, but I grew up with the modernist tradition really.  However, I am deeply interested in our built past, and I love to use Revit as a research tool for better understanding buildings of architectural note around the world.  That would be my main motivation for developing better ways of modelling this stuff.

So I set out to use the line-based Generic Model template and embed a double-nested planting family in it, similar to the curtain wall technique.  This turns out to be fairly easy.  You need to get your head around the fact that scaling of planting objects is based on height, whereas a line based repeating module will rely on a Length parameter to control spacing.



I dealt with this by having a factor which captures the ratio between "Module" and "Height".  Once again there is a lot of linking of parameters right down the nesting chain to the original planting family where the geometry is modelled.  It's a bit of a brain-teaser first time around, but once you have it working then you can repurpose the family as many times as you like with relatively little effort.



My first attempt was a balustrade.  Previously I have made these with the railings tool, which is fine, but rescaling is a bit of a mission.  You need to open up a baluster family and edit each of the revolves and extrusions, one by one.  Then adjust the spacings in the railing family, separately for horizontal and vertical.  This all gives you much finer control than simply scaling the whole thing up, but it's not the fast, responsive tool that you might want during early design explorations.

My line based family is very easy to use.  Two parameters control spacing and height, all the rest is automatic.  You might say that balustrades don't vary much in height, so why all the effort to make them scale automatically ?  Well actually this kind of classical detail is used in various contexts.  It might be a capping detail to a low wall  (400mm high ?) , or it could be a small detail on top of a wooden screen (150mm high ?) or it could be the roof line to a prominent public building (2m high ?)  I think scalable is useful.  Getting the top rail to scale up is easy enough.  Take advantage of the inbuilt scaling of splines.  All good.



In a new situation I can use one I made before and scale it up or down to suit.  Later on I might revisit the geometry of the embedded component, but at least this technique gets me up and running in a jiffy.  Quick, responsive early design with smooth continuity of workflow as we progress to detailed design and fabrication. Once again, after you've set one of these up the rest are straightforward.   So I had to do an egg & dart.  The modelling itself is a little bit tricky: solids & voids, swept blends, a revolve, couple of extrusions.  Not bad for a first try.  Scales a treat.


You just have to drill down to the original planting family.  Replace the 3d geometry.  Load back, load back, load back.  Give the line-based family a new name, you already have types with different sizes.  Just adjust & rename these to suit the new geometry.  Second attempt is a running freize, Greek style interlocking key pattern.  Piece of cake.


At this point I started to wonder about "Sectioning".  Planting families don't section (likewise Furniture, Plumbing Fixtures etc)  Generic Models do.  So what happens with the double-nested planting geometry inside a Generic Model.  Works fine.


So what about VG ?   Hide the planting category.  The planting geometry nested inside a Generic Model is still visible. Great.   Applying a material to the planting category in Object styles does affect the nested geometry but that is easily over-ridden with a material parameter.  All in all these line-based families have enormous potential.  Much more so than the Curtain Wall method IMHO.  Curtain Walls with double nested panels have to be an exact multiple of the module in both directions.  You need to disallow wall joins, otherwise you can get some unintended strange effects, overlapping panels, rows of little baby panels along the top,  Still potentially useful, but not as robust as these line-based items.



I set about attaching my egg & dart planting object to an inclined ref plane (within the planting host) and adding a running moulding ( a sweep within the line-based family)  Required a few equalised ref planes to get the sweep profile to scale up proportionately.


I added a bead & reel running ornament below the egg & dart, not universal, but very common.  Just a series of revolves.  It's worth thinking about all the parameter linking you would need to make an assembly like this scale up with the module of a line-based family if we didn't use the double-nested planting technique.  I'm sure it could be done, but not without some sweat and tears.



Here it is, all rigged up and ready to go.  This is a front elevation of the line-based family.



I think it's time to do a bit of rendering, and of course to put the scaling through its paces properly.


There are many versions of the egg & dart.  It's easy to imagine that Classical Architecture works to a formula, just because there are many recognisable themes and it all seems to "belong together".  But as I have remarked before, if you look closely, you soon realised just how much room for interpretation there is.  If you want to stay within the spirit of the Renaissance, then "cut & paste" should have no place in your thinking.  So after browsing through my collection of photo references I set about another version of egg and dart.  This time I stayed more faithful to real-world methodology.  To make an egg & dart moulding in wood, you start by running an ovolo (quarter round)  So I took a quarter-round sweep (actually quarter ellipse)  and cut the edges off with a void extrusion.



Next came a half-elipse void to cut out the hollow where the egg will sit.  The egg is also a part-elipse revolve.  And the dart is made by taking a second sweep, similar to the first but smaller.  Once again use a cookie-cutter void to trim away the edges.



The result is a repeating element which has a more horizontal proportion than my first version.  The dart is more elaborate, with an arrowhead below a circle.


Load this up, make a few types, use the material parameters and we're ready for another render.



Weekend wasn't quite over, so I thought I would try a row of dentils.  Now these can be just simple rectangular solids.  No need for the DNP trick in that case.  Probably better to use X,Y,Z parameters and retain the ability to vary the proportions.  But quite often there is some elaboration of the shape.  I chose one from the Opera House in Graz.  ( I was there last christmas visiting my Grandson)  This time the sweep is a separate element, a wall sweep in fact.  One of the drawbacks of the line-based families is that they don't mitre at the corners.  Wall sweeps handle mitres with ease.



So there is my basic dentil.  Double-Nest it and put it in a line-based family.  You can vary the size and the spacing independently using the scaling factor that previously allowed me to accomodate differently proportioned egg & dart modules.  And one final render to take us home.  I'm not quite happy with the window-head detail.  It would probably look better with a little bracked at either end framing the dentils, but I ran out of time.  At least it illustrates the ease with which these families can be re-sized.  And once again I found that my ability to manipulate splines is becoming more fluent every time I set up a new moulding profile.  Using scale, stretch, rotate and nudge to vary the proportions of the different segments in a complex moulding.  The hidden joys in Revit's 2d drafting tools never cease to amaze me.




Thursday, July 25, 2013

SAY CHEESE

Smile.  Some quick images following on from yesterday.

The topic is curtain panels that scale automatically.  The restrictions are you have to keep to the original proportions and the curtain wall must be a whole number of panels in both directions.

The advantages are : changing sizes on the fly even with complex geometry.  Take the following "swiss cheese" example.



You could make this without the double-nested planting families.  And you could edit the extrusion sketch manually, scale it down, save as a different name, reload into project.  It would only take a few minutes, but it's a less fluent way of working.  I'm backing the double-nested technique for situations where you want to play around with the size on the fly, experiment with design ideas quickly.

The next one is similar.

 
I guess you could even make this one parametric, but it would hardly be worth the effort.  Double-nesting is easy once you've set up the first panel and linked up the parameters the way you want them.  This is more of a tool for designers than documenters IMHO.

The speed advantage becomes much greater once you progress beyond a single extrusion.  The next example would be a real pain to resize multiple times by conventional methods.


Using double-nesting I created all three examples from scratch, including rendering and image processing in a couple of hours last night.  I only set up 3 different sizes for each panel design, because that's what I reckoned would show up clearly in a single image.  I could easily have created 10 different sizes for each though in a matter of minutes.

I have more on this.  Some egg & dart mouldings for Paul to salivate over :-) but that will have to be on Sunday.  Right now it's way past home time on a thursday afternoon, it being Ramadan and all.  So time to hit the weekend here in the Gulf.  Enjoy the cheesy designs everyone.


Wednesday, July 24, 2013

SCREEN PLANTING

Lots of people to credit here, but I'll point the finger at my good friend David Light and this recent post.      EMPIRE BIM

Each to his own, and as it happens I'm not particularly addicted to Star Wars. Maybe it's a generational thing.  But if you've followed this blog for any length of time, you'll know that I do have a thing for Musharabiya screens.



Make a new family, starting from a "Planting" template.  Go to the front elevation, use reference planes to mark out a square.  Mine is 1m x 1m. Make an extrusion within this square.  I started with something pretty boring, impatient to see results.  Nest this into another planting family & position at the origin (centre).



Nest the host planting family into a curtain panel family.  Again place at the centre.  Place a height dimension and make it a reporting parameter.  Mine reported 4m.  In type properties, set the height of the planting family to match this measurement.  It will scale, as all good double-nested planting families do.



Load into a project and make a curtain wall type with square panels and no mullions.  You need to size the wall so that there are no part panels at the edges.  I used an 800x800 panel and made the wall exactly 4 modules high by 7 modules long.



Set the panel type for this CW family to the panel family you have just made. Bingo.




Now try halving the module.  Just change the height & width parameters in the curtain wall definition.  All the panels resize like a charm.

Once you get the idea, it is easy to do some recursion.  Select a panel and unpin it.  Use the type selector to replace the panel with a wall type.  Choose a curtain wall with half the module size.  One panel becomes four.  Repeat this procedure to make ever smaller cells.



One of the drawbacks of this kind of blanket scaling is now revealed.  The panels get thinner.  We are back to CAD-style dumb scaling.  The whole idea of parametric modelling was that you had separate control over different aspects of a component.  Change the size of a door without scaling down the door frame or ending up with a non-standard thickness for the door leaf.  In our enthusiasm for clever new tricks we tend to forget these fundamentals.


So what if I wanted all the panels to have the same thickness ?  There is a way, and it's not too hard.  Go back to your original "nested planting" family.  Add a thickness parameter to control the thickness of the extrusion.  Define that thickness as "Height / Thickness Ratio".  Load back into the "host planting" family.

Link the "Thickness Ratio" parameter of "nested planting" to a matching parameter in "host planting".  Load into the curtain panel.  Link parameters again.  Now you can create different types with different "Thickness Ratios"   Basically if you know that the panels is half the size, just halve the thickness factor and the thickness will match the larger panel.



You can achieve subtle variations of thickness now, it is no longer totally dependent on panel height.



I went on to make a few more panels.  This is very easy once you've set everything up.  Just change the name, edit the original extrusion, load back, load back, load back.  Set a curtain wall to use the new panel.


This is the fastest method I have yet found for making a variety of screen designs with a module size that is easily adjusted.



One big drawback though.  You can only have whole panels.  No cutting and shaping at the edges.  Forget it.  Best I can think of is to make all the cut panels separately as Generic Models and place them one by one.  If there are part panels in a horizontal row, Revit will give you baby panels centred, with gaps between, as in the image below.

So it's an interesting technique but time alone will tell whether it will be useful on real projects.  Maybe for early studies where you are experimenting with module sizes.  Then once the module is fixed make families similar to the ones in my second ever post

HERE.

We are still using these.  Done solid service on several projects.  But changing the module size is a bit of a pain. Not too bad, but can't be done in a matter of seconds like you can with the planting version.  So once again, the best method for early design may not be the best method for construction documents.  No surprise there.  Always been the case.  6B pencil versus 4H.  Work smart, be flexible.