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.

Sunday, July 21, 2013

AMERICAN HISTORY & PRACTICAL MATHS - gherkin

Studying hard & hoping to pass.  Story of my life, kudos to Chuck.  I was lucky enough to see him twice during the 70s. Three times if you count sitting through  the whole show twice in Sheffield.



Back to the "Scalable Rectangular Rig" which I still regard as one of my best ideas ever.  A couple of months ago I realised that I could use it to generate curves based on a formula.  In short: graphing with X & Y axes.



It's just another feature of the "normalised curve parameters" that report the position of points along the line that hosts them.  The horizontal rungs slide up and down driven by the values Y1, Y2. Y3.  Previously I have always placed the points that define the curved spline by eye: nudging them around until I get the curve I want.  But it is very easy to label them as X1, X2, X3 and link them to their Y equivalents by way of a formula.



Of course you still have the ability to scale the rectangle up and down, plus vary its proportions with a "width factor" variable.  And by adjusting the formula you can also vary the shape of the curve.



One obvious application would be to revolve the curve around an axis.  Then you have a nice form-finding rig capable of generating a wide variety of forms.  In a way it's similar to the glass onion I posted about recently, but this time it's more controlled.



Not quite up to Zach's current Dynamo "hobby" but a small nod in the "computational" direction none the less.  And easier to set up, ... for me at least.



The original motivation for this was my recent paper on 3 buildings, prepared for RTC Auckland.  I was trying to simulate form-finding explorations for the Gherkin.  A series of systematic variations on the basic concept



As usual it all boils down to isolating a few key variables which control different aspects of a shape.  It helps to vary them one at a time.  It's a mass family of course with instance parameters, so you can make lots of copies, insert mass floors and explore different ways of achieving the same GFA.



For the  RTC session I also explored the spiral floorplates of the Gherkin in a bit more detail.  I;ve said it before & I'll say it again.  If (like me) you are interested in History of Architecture, Theory of Design or just How things Work ... then a BIM authoring tool like Revit is an amazing aid to research


Thursday, July 18, 2013

SNAKE OIL RIG

More circular rigs, or at least " use of circles in rigs".  Most of my rigs to date have featured planar paths (splines in a flat plane) used to host profiles.  I have favoured this approach because of it's simplicity (as in the old adage "keep it simple stupid")  Parametric form finding is only going to be useful if it's user friendly.  Too much complexity and people will revert to direct free-form modelling.

One approach is to hide some of the complexity under the hood.  Display three or four main controls up at the top & bury the rest deeper down.

So how do we escape from the flat plane ?  How to make a spline that twists around in 3d space ?  One approach would be to make a box and divide it up with a 3 dimensional grid.  I may well try that later, but it struck me that circles might reduce the clutter.  Let's say we want 5 points arrayed in 3d space to define the path of our spline.  The length of our object can be considered as a straight line & each point defined by an angle and a distance from this line.  Hence the circles.



So:  New Mass family, 2 ref planes equalised & with a Length parameter.  Place points where these new planes cross the existing axis (centre front/back)  Spline through points, & flex to check that the points move when the length is changed.  Change the line to a ref line & place 5 points along it.  Make their planes "always visible" & draw a circle on each.  Give the 5 circles Radius parameters.



Place a point on each circle. select these 5 new points and "spline through points"  Hey presto a twisty 3d spline.  For "total control" we need 3 parameters for each point.  These will define the following:

Position   (of the circle along the original staight line)    P1, P2, P3 etc
Angle   (of the point on the circumference of the circle)   A1, A2, A3 etc
Radius   (of the circle, already done)  R1, R2. R3 etc



The positions are values between 0 & 1 (Normalised Curve Parameter)  Select each point that hosts a circle & associate its NCP with an instance parameter.  For the Angles, select the points on the circumference of each circle, change the "Measurement Type" from NCP to Angle & associate parameters.



The rest is a matter of rigging up "Master Parameters" in order to "Keep it Simple".  Length is fine as it is but I would like the circles to scale up automatically when I increase the length.  Then I would also like to have a "Straightness" control.

How can I make "Length" automatically generate a scale factor ?  First of all add a number parameter called "Scale", then make it equal to "Length / 500mm".  I chose 500mm because this gives me a scale factor of 100 for the family as originally drawn.  Remember this scale factor will vary depending on the length I type in for each instance in the project.  I won't be setting the Radii directly.  They will be set by input values * scale.  I'm going to use F1, F2 etc for the input values & I want these to be easy read, let's say values in the range of 1 to 150.  With a scale factor of 100 that will generate circles of 100mm to 15m  which is about right.



Now I can add a "Straightness" parameter.  (originally called slenderness, but I changed it later on)  This will reduce all the circles at the same time.  Bigger numbers mean "more straight" so I want to add "divide by Straightness" to my formulae.  Just set the initial value of "Straightness" to 1 so that your initial spline is the default.  Radius formula now reads:

R1 = F1 * Scale / Straightness



Flex a few parameters to make sure it's all working properly.  Then it's time to load a profile and thread a few onto the spline.  I chose the one from my Brasilia Cathedral form-finding experiment.  It's just a triangle with 2 flattened edges.  Add 5 points. hosted on the curve "backbone" spline.  Make the workplanes "Visible : Always"  Place a profile on each.  I had to rotate my points 90 deg.  and adjust the profile sizes.  Then select the 5 profiles plus the backbone & create form.



Now you can play around with the Angles & Radii to see how this affects the form.  Later on I decided to add a "Slenderness" parameter.  This works just like Straightness, but this time it controls the width of the profiles.  Set up 5 parameters (W1 to W5) linked to the width of each profile.  Then control these by formulae.  For example, if a profile 5 has an existing width of 9m the formula will be:

W5 = 90mm * Scale / Slenderness

I visualised this form as a sinuous roof to an open air exhibition space / cafe.  Loaded into a project it was easy to make a roof-by-face & choose "Sloped Glazing" in the Type Selector.  Adjust the settings for mullions etc.  Along one edge I made a wall-by-face to represent an edge beam.  On the other side a made some walls using the Tangent-End-Arc tool which makes it easy to a draw sequence of smooth curves.  Placed a few round columns to support the beam, some topo & paving, a few flat people & off we go.



Now I could have made this roof using an in-place mass and "3 freehand" splines.  But the whole point of this is to explore "Form Finding"  This implies a controlled exploration of variations on a theme.  So I made a few copies and played around with the parameters.  The first row of 4 demonstrate the 3 main controls (Length, Straightness, Slenderness)



It's child's play to scale the whole roof up by say 5% without distorting the shape, just type in a new length.  Using the freehand method, it can be frustrating.  You have a form that you like, but when you lay out the cafe tables it's not big enough.  Not so easy to scale it up without distorting the shape.  Similary if you decide half-way through that the curves are too sharp (maybe there's too much twist on the glazing) it's a chore to adjust the freehand version.  You have to adjust the 3 splines separately and try to maintain the smooth flow of the shape.



I'm not saying my method is "always better".  Sometimes "quick & dirty" is the right approach.  But it's worthwhile learning how to make parametric forms & thinking hard about how to set up master controls.  The "Inner Logic" that you define may well show up in the resultant form.  And if you want to make 3 or 4 elements that read as variations on a single idea, the advantages are obvious.