Form Finding with Solar Radiation Analysis

There's been a Solar Radiation "Technology Preview" plug-in for Revit available up on Autodesk Labs for a while now. I've been curious about it, but haven't had an idea to apply to it till now. So I mixed up a little form study of Foster and Partners' London City Hall to give it a test spin. Foster's design is a nice test case as the building form is directly driven by some relatively simple principles about passive solar design. In a temperate zone, maximize winter solar gain and minimize peak summer sun exposure. Through some clever geometric arrangements, the south face shades itself in the summer, and is basically fully exposed in the winter.

The idea of the Solar Radiation plug-in is that it allows Revit to "to understand and quantify solar radiation on various surfaces of your conceptual building model". There are a number of tutorials and demos about how to use it, so I won't cover that stuff. The thing that is particularly interesting to me about it is that the plug-in uses a new to r2011 API feature that allows the code to monitor and update the analysis model (also new to 2011) dynamically. That means that I can get the initial solar analysis up and running and then manipulate the model to get live feedback on the building's performance.

So my rough model of the building is based on an adaptive component. I won't go into detail here, but will mention that it is important to make the adaptive components category set to NOT "shared", that way, the adaptive component geometry will be subsumed in the mass into which it is nested. The solar radiation plug-in only works on mass category, so you need to expose the nested component geometry as mass. You can download the final file and dissect it if you like.

This component is nested into a partial ellipse with parameters to control the width and angle, as well as how tall the overall form is.

For this exercise, I only manipulate the angle, but you could play with all sorts of settings, including floor to floor height. I started off with the form loaded into an RVT environment, at a relatively upright 65 degree angle and ran the analysis

Units for the color gradient are displayed in the model space.

Now, if you want to monkey with the geometry, you need to keep the analysis dialog open, otherwise you get all sorts of out of sync data. (The plug-in actually creates "analysis results" geometry, which has an odd relationship to regular Revit elements. It is a temporary element that you can select and delete, and it disappears on save. Basically you need to save out images if you want to keep a record. Proceed with caution.)

With the dialog still active, I start incrementing the angle of the form downwards.

As I lower the angle, the form's self shading increases.

While it looks like I could probably get a little more shade out of the fa├žade by tilting further, I'm already at 45 degrees, and the upper portions of the form are starting to increase their exposure (more yellow). And besides, my constraints start falling apart around 43. This is probably significantly steeper than the real thing in London, but it's interesting to see how far you could push the idea.

Now, if I change my view settings to Winter Solstice, I see a nice (perhaps blinding) exposure to the low angle sunlight.

So, this was quick and dirty, but you can get a sense for how the plug-in allows for interactive analysis of building form. What you choose to do with the results and how you interpret them is of course up to you.

You can download my rvt file from here. The plug-in is available here.

Here's a 2 minute realtime demonstration of making the manipulations and getting analysis results.


AU 2010: Vote

This is old news, but . . . Vote for AU 2010 classes now! Polls close soon.
Amid the wide variety of classes and lab offerings, Robert Manna and I have two dealing with adaptive components and panels:
Au Bon Panel: baking your own Adaptive Components and Panels with Autodesk Revit (Lab)
Parametrics Laid Bare: Panels and Adaptive Components in Autodesk Revit (Lecture)


Help! I broke my pattern

User question: "How do you make a smooth, continuously divided pattern across multiple surfaces"

The problem here is that Revit does one divided surface per face, so you can't identify multiple faces and have a uniform pattern across them all by default. This video demonstrates a method for using the divided surface properties to even out your pattern.


Look Ma, no API: analyzing panel deflection

In designing curved surfaces, oftentimes it is not necessary that your panel be entirely planar, but rather planar within a tolerance. In the past, there were ways to do this with the API, but by using reporting parameters in conjunction with the adaptive component functionality, you can make a panel that will tell you how out of plan it is without any coding. In the above image, red is really out of plane, blue is pretty flat.

You need an adaptive component because you can only drive formulas with reporting parameters based on host references (otherwise you have a reporting parameter that can be used for scheduling, but not driving formulas). In a curtain panel by pattern template, the only applicable relationships are the built in points that come with the pattern, and for this application we need to measure something off the surface. Adaptive Point families, on the other hand, have as many host references as you want!

So, back to the conceptual level, first you need to have an element that can detect how far out of plane it is, and then repeat it along the surface.

With the above image you have a five point adaptive component, the little tail has a reporting parameter that controls the visibility of 5 different co-located colored surfaces, different increments of the reporting parameter allow different colors to be visible. So, if you pull the tail longer in the host file, the color of the component changes.

I figure there is a better way to do the coloration part, but I haven’t got it yet. It’s also tricky finding the right way to build a reporting parameter in the adaptive component family such that it relies on “host” references. The main thing to watch for is that you are dimensioning to the adaptive point itself and not the point’s Workplane.

Now load this 5 point adaptive component into a curtain panel by pattern family. You need to construct a three point surface that defines the plane of the panel (see this post on the Invisible 3 Point Workplane Hack), and create a measure by which it goes out of plane. This requires projecting the plane to an intersection point offset from the fourth point of the panel.

Now you have your 5 host points for your adaptive component. (In fact, if you are only interested in scheduling panel deformation and not getting visual feedback, this curtain panel design will be enough to achieve that, just slap a reporting parameter to the 5th point that is derived by intersection.)
Place the adaptive component as shown below.
Load the panels into a freeform surface, and shazaam!

There are probably some sizable gaps in the above description, but here is the file for your dissection.


Bitmap Panel Video by Emanuel Favreau

Emanuel Favreau, a Canadian architect, did a lovely video of some walls made using the Bitmap to Panel API that was posted here. It was done in the context of a presentation for Revit users in Montreal as an example of the potential for architects and designers to use the API in their projects.

[BTW, The bitmap to panel API script is now in the r2011 SDK samples. And luckily for all us non-programmers, Redbolt has compiled all the SDK samples for your enjoyment.]