Making Custom Patterns?

Here's another reader question, this one is concerned with making custom patterns in the Revit 2010 Curtain Panel by Pattern functionality. "Hexagons, squares and triangles are fine, but how about rolling my own patterns?"

As with all good questions, the answer is "ish". No, you cannot create your own patterning template upon which to hang your panel system, and this functionality is not available through the API either. And besides, times are tough, you should be so lucky to get a job shingling your father-in-law's shed. HOWEVER, most patterns are achievable with the given set of templates if you put some thought into it.

Basically, most architectural pattern can be decomposed into repeating elements that can be represented within the provided templates. Here are a couple examples of patterns that are not part of the hard wired set that can be created with a little analysis.

Before diving in, I recommend a particular setup for your workspace. Open a panel family, and load it into a divided surface in a mass family. Then tile your windows so that you have one view of the panel and one view of the panel instantiated in the surface. As you work on your panel keep reloading it into the mass family to see how it is patterning.

Real Equal Sided Hexagon:
One thing users have noticed is that the Hexagon pattern, while it does represent a six sided alternating pattern, CANNOT create equal sized edges. By cannot, I mean it is mathematically impossible with the given set of dots to connect and an evenly spaced underlying grid. BUT, you can create a repeating equal sided Hexagonal pattern by simply using the Rectangular Base. For those of you who have made tileable texture maps for rendering, the process will seem very familiar.
First, you must reduce your pattern, if possible, to it's basic repeating element, as composed in a rectangle. For the Hexagonal pattern, lets look at the basic unit from Nature©:

Reproduced in a rectangular pattern family takes a little High School geometry:
but then it looks like this:

and instantiated in a surface it looks like this:
Yee-haw, go build yourself a chicken coop! Download the Real Hex from here.

Keep in mind, this method will create great effects for mullions, but will get a little dicey for solid panels. I have a feeling you could really rock this pattern with a 1/2 Step Brick pattern, but I haven't figured this out yet.

Stacked Balls ala Selfridges in Birmingham
At first blush, this looks like a hexagonal pattern, but, as shown above, the pre-baked hexagon is not going to give you the nice even and alternating stacked distribution that this building exhibits. It can actually be decomposed into a brick pattern. The default behavior of the 1/2 step brick gives you a brick that is twice as long as it is tall. However, if you set the number of gridlines to be a U value of 2x' and V to be x', you get a square, alternating pattern.

The family I made has a hemisphere made in a generic model by face placed on the workplane of a 1/2 step brick. What's fun about this model is that if you mess with the spacing of the panel, you can get back to the more explicit hexagonal nature of the pattern.
Download the model from HERE

Cobble fan
This is where you have to get inventive and start looking at the available set of patterns and see where the desired geometry starts to have resonance with the more peculiar patterns that revit provides. I first tried this particular pattern with a hexagon, but found it a little gappy:

But a little trial and error with the Arrow pattern
Finding an arrangement like this:
Adding a little geometry gets this:

Download the CobbleFan File from here.

Please let me know if there are specific patterns that you want to try and make, let's see if it can be done.


Revit Batch Renderer: Beta 2.0

Hurray for the Masked Rendering Enthusiast*! He/She/They have refined and streamlined Steven Faust's streamlining of the original journal script and added a few new features.

New in this Release:

View Hierarchy: For folks with customized project browsers, enter the hierarchy of tree nodes as they appear in the project browser in Revit.

Save Location: Specify a folder to send your output images

File Name Prefix: Enter a prefix to place before the image file names.

Bracketed Exposure: My favorite: create 3 images for each view you have selected. One image will be the default exposure value (usually 14), the other 2 will be set to the values selected with the sliders.

Neat and Tidy Source Code: More efficient and understandable VB for those who want to tinker.

GNU General Public License: well, this isn't really a feature, but it makes for good reading.

Also, props to Steven for doing a few last minute bug fixes on this "release". Thank You!

So download the zipped executable from here (and/or the source code from here) and get yer render on.

*While Masked Rendering Enthusiast has chosen to remain anonymous, please be assured that He/She/They are very nice, just the sort of person/people you would want to have over for brunch or to install unverified software on your business machines. Masked Rendering Enthusiast is just shy.


Revit 2010 Family API Webcast

A webcast about Revit Family API has just been posted here:

This is information is freely available to anyone and will be of use to whoever is interested in learning Revit Family API. Good Luck!


Curved Mullions

Recent question from a reader:

Question: "Lets say I have a surface thats a loft of irregular splines. The divided surface I have is 10ish U curves running in the cross-section direction, and one in the V curve in the perpendicular. I build a curtain panel of a 2'x2' crossection that I sweep along one of the U pattern-edges. But when I bring it into the project and apply to the irregularly shaped divided surface it doesn't follow the splines, it just shoots straight across as if its trying to facet. is there a way around this? basically a curtain mullion that follows organically along a spline"

Answer: "Yes-ish"

More to come, but in the meantime, here's a file to puzzle over.


Limiting Panel Size

Here's a fun little tip, something I gave myself a good dope slap for not figuring out earlier. Say you have a free-form surface, and you want to build it out of a paneling system. Presumably you would like to make it out of roughly similar, if not identical panels, to simplify manufacture.
Out of the box, Revit will dice up a complex surface like this, with surface divided into a "max 10'x10'" grid.
Notice that the panels have an enormous variation in size. This is because Revit uses UV coordinates to divide the faces and has to make a single measurement in each direction along the surface for the "Max 10'" measurement. The rest of the cells just take this initial spacing and run with it. For this surface, with a "max 10' division", I have a resulting grid system where the smallest cells are about 9.5' and the largest are over 30'. That's a big variation, and is a result of the single measurement of the U and V direction of the surface.

What to do? Most really irregular surfaces cannot be rationalized down into identical panel systems, but you can limit ranges of variation. In general, I am going to try and make Revit make more U and V measurements.

To start, I make a simple panel and load it into another curtain panel.

The host curtain panel system gets a divided surface. The divided surface is set to have a maximum division of 10'x10' with my base panel loaded into it.

This is the key to the optimization. Load this nested panel system into the free-form curvature system. The result is this:

So now after the initial measurement of Max 10' that Revit made on the whole surface, each nominally 10' or less cell is evaluated again to make sure it does not exceed 10'. The result is that I have a surface that is divided by panels that range from around 5.5' (if the host cell is slightly larger than 10') to 10' (if the host cell is exactly 10'). Perhaps this is not "optimized", but you do have more control over variation. I also think it looks way cooler, if not cheaper.


Batch Render . . . In French!

Horray for Jean-Marc Couffin who has translated the 2010 Revit Batch Rendering script into French! Turns out you need to "localize" the strings for non-english installs. I particularly like the "render quality" settings: Qualité brouillon, Qualité inférieure, Qualité moyenne, Haute qualité or Qualité optimale.

Anyone want to make one in Mandarin?