In preparation to do a little more on sine waves in a later post, here’s a quick demonstration of how to make an equation visible using 2 points and 2 parameters.
For more things to do with this family, like making formula driven curves, check out this post.
“Change an object's form by translating and/or rotating its rigid components.”
“Use polygons with right angles as a shutter.”
“Model a scissor mechanism, that is, an arm whose horizontal extension is controlled by its handle's vertical movement along a line.”
There is probably an easier way, and I think it could just involve using regular family lines and parameters with some trig, but I‘ve shown it here with a bunch of nested adaptive components using a drafting mentality.
There are aspects of all software that will fall short of what you want to do. So the question often comes up about how to make your own tools? Revit does not have a point hosted arc, which can make for aggravation when trying to make complex geometry. This tutorial shows how to roll your own.
The Ramones changed rock with recombinations of 3 or 4 cords and we have arrived at Pattern 4. Therefore, even the beginning Vasari/Revit user should now be equipped to make a parametric “Now I Wanna Sniff Some Glue”, although you might have to sniff some glue first. [Note, neither Mr. Kron, Buildz or its subsidiaries endorse the sniffing of glue.]
The ideas I’m translating here are kind of raw, they aren’t in themselves projects, but they can be the underpinning drivers for real projects or sets of relationships that you might take on in a project. One of the fun things that happened a couple days ago was seeing an opportunity to recombine some of these patterns into something new. (You can combine the Post Shadow pattern shown below with the Altitude/Azimuth Controller pattern to create your own geometric Sun Path, I’ll do a separate post on this.)
“Produce a transformation of an object in another geometric context.”
“Simulate a row of posts casting shadows on the ground as a light moves by.”
“Project a collection of points onto a surface.” & “Model a metaphorical spotlight projecting a circle shape onto several surfaces.” For this example I combine a couple of the exercises.
“Model a pinhole camera.” A pinhole camera uses a very small hole in a surface to create a projection of an object. This projection alters the scale and inverts the target.
The continuing saga of translating Parametric Design Patterns to Revit
“Make an object respond to the proximity of another object.”
Some of this functionality has been covered in the posting on Jigs. The functionality as accessed through the UI really only became possible in Revit 2011, with the creation of Reporting Parameters. This special kind of instance parameter allows a family to react to the specific context in which it was hosted.
“Rotate a bound vector as a controlling point moves, so that it always has the same angle to the point. Replicate to define a vector field.”
Circle Radii and Point Interactor
“Control the size of a set of circles by proximity to a point.”
Here is a quick video showing the same kind of operation, but instead of using the out-of-the-box functionality in the UI, I have a small plugin that detects the distance between a target element and a curtain panel instance and writes that distance to the panel. This allows for scaling the operation to a larger field.
Distance to Panel Plugin and instructions
One thing that is becoming clear to me in doing these comparisons with Grasshopper and Generative Component examples in Revit is that you need to spend more time EXPLAINING how to make them. The advantage in GC is that there is code to refer to, and if you know code, you can read the results. In Grasshopper, the process of making elements is so thoroughly abstract and hierarchical, that you can basically read the diagram as a flow chart.
The examples in Revit are like reading a series of drafted plans. If you see the finished product, it is not entirely clear how it was arrived at. The best way to examine such a document is to watch as it is made.
“Build simple abstract frameworks to isolate structure and location from geometric detail.” I have plenty of examples of this sort of work, and a full tutorial on one of the versions the Woodbury demonstrates that I will repost here along with a new one.
“Use the local properties of a curve to determine the local radius and orientation of circular Jigs. Use the circles to define a tube. In turn use a curve as another Jig to apply a global form to the tube as a whole.”
“Use a moving point to smoothly move each of a collection of points, which, in turn, define a surface.”
I did this exercise several months ago, and I’m reposting the video. I love this family, it’s really fun to play with.
Download the files from here:
Welcome to the first post where I sink my teeth into Robert Woodbury’s Parametric Design Patterns. As I mentioned in the previous post, I’ll try and address all 14 topics, and I’m going to start with the easy ones. I’m going to use Project Vasari and Revit pretty interchangeably, as the same things can be accomplished in either.
This is really more of a friendly suggestion than anything and doesn’t really need an example. The basic idea in ClearNames is that you should name your parameters, controls, familys, elements, anything that you have an option to name, with something that is meaningful. For instance, don’t name an offset parameter on a point something like “point”. You will likely add lots of points, and this is far too generic. Also, don’t name it “the point parameter that creates an offset to the big purple dinosaur” as this cumbersome. ‘Nuff said.
“Use Proxy objects to organize complex inputs when making collections.” This concept is also wonderfully trivial to illustrate in Revit or Vasari, because just about anything is already a placeholder for other things by default. One family can be swapped for another family, forms can be edited to swap lines for curves. We will touch on this a little more as a background to dealing with jigs, but the essence is to represent your complex details of a larger project with minimalist elements to keep your model light and understandable. I might try and revisit this idea, but for now, let’s move on to juicier stuff.
“Control (a part of) a model through a simple separate model”. This is where Vasari can really have some fun. Most of the time folks who are trying to flex models are going back and forth to properties pallets and dialogs to create transformations in the model, but it doesn’t have to be like this. If you take a few minutes to set up simplified geometry in your 3d working environment, you can have a lot of fun, make lots of decision and test many alternatives with the swish of a mouse. Watch the videos (only the first has narration, double click to watch on youtube at full screen) and download the control examples from here:
With the Altitude/Azimuth controller, look at hosting conditions. Ref lines are hosted on top of ref lines to create very stable angular relationships.
The Multiple Circles example uses 2 divided surfaces with only one set of gridlines. A trick: the surface itself is ever so slightly non-planar to make the UV coordinates behave properly. If it was planar, you would get a very unsatisfying grid.
I’ve dedicated way too much space in this blog to the “Parameter Values From Image” plugin for Revit, partly because the results can be so cool, partly because it’s a nice general illustration of the power of generic API tools to expand Revit’s capabilities. So here is one more. I have a Vasari specific installer for this plugin that you can download from here. There are also some example files and the readme from the Revit SDK where the original C# code lives. While this is only for Vasari, I will do my best to make one for Revit sometime soon.
What has changed? I finally got my hands on a lovely little installer application called Inno Setup by Jordan Russel, and got a starter file from the illustrious Dr Andrew Marsh. Between these pieces I have managed to cobble together an installer for the .dll plugin from Harry the API Guru.
To briefly summarize the functionality: Conceptually this particular API tool is dead simple. You have a bitmap that is, say, 12x12 pixels named yourFile.rfa_grayscale.bmp. You have a divided surface that is 12x12 cells in a file called yourFile.rfa. The panels in your divided surface contain a parameter called Grayscale, and the API will write a value from 0 (white) to 1 (black) based on the pixel values of the image. What you do with that parameter is up to you. There are other posts on it here, here, here, and here. There is also a readme in the zip file.
Using these little plugins has been greatly hampered by the crankiness of Revit API and just getting the damn .dlls into the right place on your hard drive. With the installer, folks should be able to get up an running with this plugins much easier.
So try my maiden voyage with an installer. I’ve checked it out on XP and Win7. If someone wants to do a little trial on Vista and let me know how it goes, that would be awesome.
Thanks again to Jordan, Andrew, and H.API-G.
(or maybe twice) there was an unearthly application called Vasari.
80,000 lines of code beneath the hood (probably more, I’m not too sure . . .).
Full disclosure: I’ve been involved with Project Vasari at the day job for a while now, so I have nothing like an objective perspective on it. It’s fun, it’s parametric Revity goodness without the UI overhead of the full document production pipeline of Revit, and it’s a streamlined way to get into both parametric design and building energy analysis. It writes rvt and rfa files. It takes about 5 minutes to download and get it up and running on your machine (depending on bandwidth).
I can also tell you that the project has a funny way of provoking people to say what they think it OUGHT to be. “It should be subdivision surface modeling!”, “It should be Grasshopper!”, “It should have the text editor and stair tools I’ve always dreamed of!”, “It has to Ferberize your baby!” Well, it doesn’t, and it isn’t, and IMHO it should hold your baby and comfort it.
But if you’ve been trying to get into the whole parametric modeling thing, or love someone who is, and find Revit/GC/CATIA/ArchiCad etc too complicated/expensive/noFun, you should try Vasari. If you do energy modeling and find your software incomprehensible or incapable of handling geometry or noFun, come on in, the water’s fine.
For full subscription users of Revit, who are versed in all aspects of Revit and have already gotten onboard the BIM train to nirvana, it’s pronounced “Ve-Ree Saa-Ree”. It will not give you much functionality that you don’t already have. Energy analysis and Conceptual Modeling, you’ve already got that. If you are accustomed to all the dialogs and back alleys and minutiae of Revit, the simplified UI might just make you angry. Yes, Autodesk went and put a few resources into something that you might not use. But hey, you can at least drop the 390mb stand alone executable onto that little netbook you take on the train and parametrically model away on your commute. Put it on the home machine to catch up on some of the 2011 features that you haven’t gotten to at work while you watch “Top Chef: Just Desserts”.
For BIM managers who have been struggling to get designers off of mesh modelers and onto something that can feed downstream BIM workflows it is pronounced “Vaz-Oh-Leen”. You can give it to those office hipsters with the tiny glasses that are always talking about “space” and “form” to smooth their entry into BIM. No shared coordinates, no questions like “what the hell does ‘relinquish all mine’ mean?”, just modeling and analysis. Give them a usb drive with the .exe, tell them to watch the 7 little videos that pop up when you start it, and go get some coffee.
For non-Revitized designers, students, and architects who are looking to explore building concepts and make things like this
. . . we hope it is “Ve-Ree Su-eee-t”.
For people looking at energy modeling that need/want/like a robust geometry front end for iterative design analysis, it’s called, uhm, “Va-sar-ee”.
We hope you like it.
And if you have never seen “Yellow Submarine”, you are living an impoverished life.
Another great year with the 2nd Annual Parametric Pumpkin Carving Internationale! Across the board, high quality, voluptuous vegetable facsimiles that each and all of you should be proud of. However, rules are rules, and we must pick only 3 from the patch to receive the coveted Buildz schwag. [All files can be downloaded from here.]
This one just makes me crack up! It’s made out of stacked walls!
Paul Aubin took the high road on this one and wrestled the standard Revit building elements like walls and floors into pumpkiny goodness. Well documented using good old fashioned dimensionable arcs instead of splines, and generally using the tools in the manner they were intended (if extremely), you could imagine handing this one off to a contractor (perhaps in outer space) and getting some results.
We were on the fence about whether to call Aristide Little-Lux’s pumpkin the goodest, the baddest, or the mostest parametric. It exploits all the loopholes available to the parametric engine in Revit, but it is not exactly flexible. It shows a virtuoso manipulation of the tools (look at the details around how the stem is constructed) but mostly by abusing the hell out of them.
Aristide’s pumpkin does nasty, unspeakable things to divided surfaces, plays fast and loose with categories and cut/join behaviors, and has more nests than a bedbug infested New York hotel. Like Hannibal crossing the alps, it will stomp an elephant right through your city if it is in the way. Like Hannibal escaping from maximum security prison, it will eat your face off it speeds things up.
For example, the segments are created by a two curves hosted on a divided surface in an adaptive component, hosted in a curtain panel by pattern with “vertical on placement” to control the orientation, which in turn is hosted on a simple cylinder which arrays the original 2 curves in a fan of segments. Why? Because it wants to, biatch!
We can’t really do justice to explaining what is going on in this family, but it is posted here. Just to say that it is an education, and understanding how all the pieces go together can go a long way to understanding the functionalities of the the conceptual modeling environment in Revit. It’s really very cool.
In the end, we have to call this one the Baddest. This is a pumpkin that you want to have on your side in a knife fight. It can claw, bite and pull hair if it has to, and it WILL kick your ass if you cross it.
The Mostest Parametric
Ryan Duell, of the Revit Clinic, gives a detailed step by step video of how to make this lovely pumpkin. It looks innocent enough when you open up the family, but the fun really begins when you start messing with the parameters.
Open up the file and take it for a spin. Using the given parameters you can do some nifty reconfigurations. But you can also tear down the whole geometry and build it back up from the scaffolding in different configurations too.
Jillian Bejtlich with this year’s Most Inhabitable Pumpkin (Revit).
John Fout (first 2 Mudbox images) and Dante van Wettum (3rd image, Revit, with some awesome parameters too) for pumpkins that scared the pants off our 7 year old Buildz intern.
Thanks to all who submitted entries, and Happy Halloween!
Entries must be received by 12 noon EST Oct 28. Winners will be announced at midnight Halloween night.
Re: Award for “the Baddest”. Folks seem to be a bit confused by this. We at Buildz have no intention of holding up any submissions for ridicule or identifying a “worst” entry. “Bad” in this case is regarded as high praise for an uncanny scariness, a serious and terrifying aspect, or just being a BMF. Think of Shaft, Xena, Cyberdyne Systems Model 101, Spartacus, Samuel Jackson in Pulp Fiction, Mila Jovovich in Resident Evil, early Johnny Cash, Annie Oakley, Hannibal, etc . . . bad.
Bring it, s’il vous plait.
Entries must be received by 12 noon EST Oct 28. Winners will be announced at midnight Halloween night.
Having trouble getting started? Take a peek at Ryan’s excellent post.
Need some ideas?
I keep messing around with this shape, there’s some kind of special something to it that I haven't figured out yet.
It shows up in lots of places. I’ve been looking at this one for a while, the Jean Nouvel Louvre project. It uses several layers of this shape in a patterned screen, then varies the size of the frame and the overall shape to create different levels of porosity
Similar idea in his Doha Tower project.
And I like this one by SOM, a Mosque in Bahrain, which uses a similar approach to patterning.
Although the unit has a little variation to it (thanks Neil!) with the octagonal center.
So I got to wondering if you could set up multiple layers of this pattern in Revit, and then control the permeability of the layers to follow some programmatic requirement.
First need to make a star shaped panel with variable tube radius.
By layering divided surfaces on top of each other, you can create the “same” density variation, just at different resolutions. (This sketch was just the concept of variable resolutions, it doesn’t match the zoning idea)
Taking a little care on the “resolution” of the grid to make sure the patterns don’t align or create secondary patterns. For instance, a 5x10 grid on top of a 20x40 grid would align every 4th cell. It needs to have a pattern that doesn’t coincide with another.
Using a bitmap that follows the same proportion of the façade, and applied to 3 different densities of curtain panel
Repeated on 3 densities of divided surface
So it isn’t perfect, there needs to be some refinement of the spacing to more create more definition of the open and closed areas. But it starts to get the idea of creating zoned porosity with this method.