20100901

BeeHives are Back: Real Equilateral Hexagons


Last year I did a post on making custom panel patterns. It was noted that among other limitations, Revit's out of the box hexagons kind of stink. I finally got around to figuring out how to make a real equilateral hexagon, where there is no overlap between panels, they count right, and they flex. One problem: they are a little funky on really irregular grids, curvy things, etc, but they work on most regular surfaces. If you download this file, and keep your UV divisions to a proportion of 1 to 1.73, and don't ask any questions, you'll be fine.

For those who prefer to suffer and learn how, read on.

First, why do the out of the box hexes look so . . . soooo . . . clumsy? Distorted? Unsatisfying?


Basically a rectangular grid cannot define an equilateral hexagon, at least not by connecting intersection points, and the divided surface patterns will only use rectangular grids. So the results are NEVER going to be a well proportioned hex. Or, more accurately, there will be certain limitations on the proportions which you may find unsatisfying.


So we have to do a little work.


Nasty, but trust me, this is all stuff from high school. The short version is this: An Eq Hex has 6 corners that are all at 120 degree angles. That means you can decompose it into 30 and 60 degree pieces.


 



 

Now you can whip out your handy dandy brain cells from when you were a teenager (got any left?) and recall that the good old Ancients figured out all sorts of things about 30/60/90 triangles, namely this:


 



 

That is, the proportions of a 30/60/90 triangle are always 1 X 2 X sqrt3.


 

So we know that the "2" is a distance between 2 points on the grid, and the 2 end of our hypotenuse are equal distances from the grid points, as long as our rectangular grid remains at a set proportion namely, 1x Sqrt3, or 1 to 1.73205


 



 

[Deep breath]


 

Therefore, as long as your grid is proportioned at 1x1.73 . . ., and your hexagonal points are offset from their neighboring/host points by (b/sqrt3)*.5, all is good.


 

And it gets a little freaky on curves. I'm pretty sure you can account for this by adding more reporting parameters between points to drive the individual offsets. But who has time to do THAT?


 

3 comments:

  1. ...the triangle on 062610_1201_BeeHivesare6.png
    doesn't match your sketch of the same thing... "2" and "sqrt3" are on the wrong sides...
    ...otherwise, pretty cool stuff...

    ReplyDelete
  2. Yikes, you're right, Jazz. Corrected now, Thanks!

    ReplyDelete
  3. i have question, how can i make that same curtain panels on start program graphic in revit 2011, this panels with pattern. i make something similar but using extrude and void in each panel a lot of polygons ( for render in max ) and weight, i wonder use simple plane and cut but dont find this posibility in curtain panel family only extrude, sweep itp.

    ReplyDelete