20091230

Merry Happy everyone! Thanks so much to all of you who have read and contributed to this blog during it's tender first months, I hope it's been as fun for you as it's been for me. There's so much more to say and show about the tools we are all continuing to learn about, I hope I can make it worth your while to come back and read some more.The softwares we all love and hate so much are unbelievably deep and complex. Created by hundreds of hands, employed by thousands, the repercussions and mutations of these organisms can never be entirely predicted by their creators. These tools aren't like hammers or pencils or cars, but more like elephants. They can lift and pull enormous loads, but they also stand on one foot, play jokes on each other, and occasionally get scared and trample their keepers. They're like wines, with good years and bad years, but always intoxicating. Enjoy and beware!

With any luck, the coming year will be an easier one, 2009 was exciting and new and interesting and no picnic in many ways. Let's give the ship a big push and take another spin around, or as the little babies being bounced on knees say: "Again! Again!"

Conceptually the tool is dead simple. You have a bitmap that is 12x12 pixels. You have a divided surface that is 12x12. The panels in your divided surface contain a parameter called Grayscale, and the API will write a value from 0" (white) to 12"(black) based on the pixel values of the image. Tah dah!

Of course, this is nothing new for many modeling softwares, which have been able to do this sort of thing with displacement to meshes with out-of-the-box functionality for over a decade. But it does get interesting when you tie this together with Revit's core competency of scheduling and parameter driven families. For instance. Here's a quick and dirty knock off of Gramazio and Kohler's winery, where they superimposed a image on a brick wall simply by precisely rotating bricks.

Now load, make your rotational parameter shared and you have precise information on the placement of each brick in your schedule.

You can extrapolate this method to all sorts of designs just deviating the angle of the brick on what is essentially a flat wall. The gradient and pattern fill tools in Photoshop get a whole new level of utility.

Another evening, armed with beer, the plugin, and something not so good on the Tevo, I came up with these 5 variations on a skyscraper facade just by manipulating a bitmap and reloading it. The panel has a mullion that has a radius directly linked to the 0-12" information given from the bitmap image.

The plugin will look for an image file next to your rfa file named "[your file name].rfa_grayscale.bmp" I really recommend starting small, like 12x12 bitmap/divided surface. It can take a really long time to start getting results with larger images.

Enjoy, make some good stuff.[EDIT: The startup proceedure for Revit 2011 API tools has changed a bit, read this post to get up to date]

20091215

Clean up your desktop! Sit up straight! Hide the unmentionables! We have a guest!

Joe Kendsersky works at Autodesk as a Customer Success Engineer for Revit Architecture. He's like an ADSK Green Beret who gets parachuted into customer offices to smooth over the bumps on their road to BIM victory. He is trained as an architect and joined Revit Technology in 2000, and subsequently Autodesk in 2002. Joe is a wealth of information about what it going on in offices as well as what is being developed in the factory. Today, dear readers, he is going to share some tips and tricks froma project that is close to my heart and 15' from my desk. Without further ado, take it away Joe!

[Applause]

Making the "Boomerang" Ceiling

The conceptual modeling environment allows users to design and analyze forms and also create parametric sub components that are intelligent and adapt to the form. However, in cases where you may need to use an existing family as a sub component, the new massing environment allows users to nest existing families into a Curtain Panel Pattern Based template.The example we'll go through is from a project that I worked on - The Autodesk Customer Briefing Centers ceiling "boomerang" element in Waltham MA, designed by KlingStubbins, Cambridge MA. It was a study given to me by our Revit QA team while exploring the new modeling tools for RAC 2010.Below is an image of the component and hexagon pattern. When assembled, the repeating ceiling shape creates an undulating convex / concave form.

The challenge was how to begin modeling the component, what template to start off with, how to break down the entire assembly into a kit of parts. For the component, I started with the Curtain Panel Pattern Based template hexagon tile pattern, but realized that its sides are not equilateral – as shown in the image below by superimposing a sketched hexagon over the hexagon tile pattern in the template. Working in this tile pattern was not going to work because it was not a true hexagon and also it would have been very difficult to model several elements within the same context. So, I decided to try and build the geometry with a triangular tile pattern instead. The thought behind it is to break down element further to a more granular level – a single boomerang component.

Attempt made with hexagon pattern:

Attempt made with triangular pattern:

As we can see, I was getting close but encountered several modeling challenges with the creation of the component. But then, I had the idea of reusing the existing generic model family and loading it into the Curtain Panel Pattern Based template with a triangular tile pattern, and it worked.

Here is the process:

The ceiling component is a generic model family created using a solid extrusion and void revolve to create the concave shape.

Open the Curtain Panel Pattern Based template and switch the pattern to triangular checkerboard – this is the same shape / pattern as the ceiling component. Also, this pattern will allow us to have two coinciding surfaces to create the overlap in the hexagon design. When assembled, three components are positioned up (concave) and another three are positioned down (convex) to form the hexagon shape.

Adjust the horizontal and vertical spacing of the parameters – set values that are close to the actual size of the component that will be inserted.

Insert the existing family into the Curtain Panel Pattern Based template on level 1 and move / align it into position with triangular tile pattern. Given the generic family has some symbolic lines sketched in plan makes it easier for you to align with the triangular pattern.

Load and test the component in the massing environment to reconcile any problems – I prefer toggling views so you can view the curtain panel pattern family and massing side by side, this allows you to easily work / test back and forth.

In the massing environment – after creating the form, dividing the surface and placing the component – you’ll need to adjust the surfaces grid rotation, flip or mirror, indent values and set U V spacing values to match with the component actual size, position.

Before adjusting surfaces grid rotation, U V instance parameters:

After adjusting surfaces grid rotation, U V instance parameters:

Since the ceiling component undulates, you’ll have to overlap two surfaces. This can be done by copying one surface (using 0’ value) and then by adjusting the surfaces instance parameters (mirror, rotate and indent) so the surface components complement one another to form the concave-convex hexagon pattern.

As we can see, the resulting hexagon form is close to the actual design and the overall design intent can be understood.

This exercise was a group collaboration with several colleagues. I would like to thank Zach Kron, Heather Lech, Lira Nikolovska, Matthew Jezyk, Greg Demchak for the challenge and working with me through the process.

Option 1Real Triangle:Curtain Panel by pattern templates have a number of basic pattern, one is called “Triangular”. Curiously, this panel is made up of four points, and some users find it vexing. There is an explanation for this, just not a very good one, and it's boring. If you want to make your panel behave like a real triangle (always planar), grab the middle, extraneous point

and pull it vertically up off the grid,

Connect the remaining points by a reference spline by points, and proceed to forget all about the extra point.

Voila, faceted surface with triangles!

But planar triangles are too easy to design and too expensive to build. How about something more challenging?

Option 2Planar Quadrilaterals:Go into the shipped content in the curtain panel by pattern folder and load "Planar Face". If your faces are relatives small, they will always be planar on the top surface. This panel does some freaky things with the panel paradigm.

If you open the panel and select the geometry, you will see that it's actually a tall blend with a void slicing off the top.

This void is hosted on the Level 1 workplane, which, when loaded into the family, approximates a "best fit" normal plane for the four panel points. The practical upshot of this is that you get a stable plane that will always shear off your blend with a nice planar face. There are 2 notable limitations to this panel. If your panel is too big, the void will not shear off the face completely. This can make for some interesting results, but probably not what you are going for. To correct this, just make the void much wider. The second problem is that for really distorted panels, the void will sometimes shear off the corners or mid section. But sometimes this is good too.

Subscribe To

search buildz

Parametric Design Patterns

Eye Candy

About

Architectural Designer and Software Analyst for Autodesk. These posts are mainly about the Revit platform, with recommendations on how to enjoy it.
Disclaimer: The materials contained and the opinions expressed on this blog are my own and are not necessarily those of Autodesk.

Buy Schwagz!

Followers

YOU ARE ON YOUR OWN

As Orson Wells said: “We're born alone, we live alone, we die alone. Only through our love and friendship can we create the illusion for the moment that we're not alone.” And so: ZACH KRON AND BUILDZ DO NOT GUARANTEE THAT YOU WILL BE ABLE TO SUCCESSFULLY DOWNLOAD OR IMPLEMENT ANYTHING, OR ANY OF THE TIPS, TRICKS, EXAMPLES OR SUGGESTIONS OUTLINED ANYWHERE. ANYTHING ON THIS SITE OR REFERED TO ON THIS SITE IS SUBJECT TO CHANGE WITHOUT NOTICE TO YOU. ZACH KRON AND BUILDZ PROVIDE TECHNICAL DOCUMENTS, SOFTWARE, FILES AND WORKAROUNDS "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL ZACH KRON OR BUILDZ OR HIS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF DATA, OR LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, THAT MAY OCCUR AS A RESULT OF IMPLEMENTING ANY DOWNLOAD OR WORKAROUND, OR ANY SUGGESTION OUTLINED IN ANY ZACH KRON OR BUILDZ PRODUCT OR DOCUMENT, EVEN IF ZACH KRON OR BUILDZ OR THEIR SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.