Tag Archives: Data

Door Handing in Revit with Dynamo update

Door Handing Sample

I’ve been getting some feedback that the Door Handing workflow I used in my post Door Swing Direction in Revit from September 2014 does not always work. I have now double checked with Konrad, tested with Revit 2015 UR5 + Dynamo 0.7.5.3566, and created a working sample model and corresponding definition. The sample file uses a single Door family and it’s Comments instance parameter. It should be rather straight forward to change the sample to work with any other project setting. Download:

Door Handing Sample

Please note that I have included two Door Handing nodes; Konrad’s Door Set Handing, part of his archi-lab.net Package, and erfajo’s Door Handing node, part of the Package DanEDU Dynamo. They work slightly different, but should be able to provide the same results.

Konrad explicitly told me to forward any further problems to him directly. Check out his webpage for comments and contact details: archi-lab.net

Numeric Parameter And Camera Position With Fixed Target

Dynanimator released: Animating Data Changes in Revit with Dynamo

You know that feeling? When you have an idea? And you know that if you succeed, you’ll love the outcome? I have that now.

Numeric Parameter

The first time I saw someone animate data changes in a building design environment, I was blown away. I think the people responsible for the slightly embarrassing incident were Stephen Melville and he’s team’s work at Ramboll Computational Design in London. Around the same time I saw Zach Kron’s flying bird wings – a GIF animation made in Revit with Harry Mathison’s Image-O-Matic. That led me to produce a number of similar movie clips, based on Revit’s Conceptual Modeling Environment and Harry’s tool. Later, when I read Michael Kirchner’s research on creating iterative daylighting analysis workflows using Dynamo and Cloud Rendering (Part 1:Changing a Family Instance and Saving an Image), I realized that I could build my own animation workflow with Dynamo.

During Autodesk University 2014 I collaborated with Andreas Dieckmann, Julien Benoit and Ian Siegel on a Dynamo Hackathon project called Dynanimator; a set of technologies in Dynamo that creates image exports per parameter change iteration. Today we have published it. The Package is based on Dynamo version 0.7.5, but should work perfectly on 0.8.

The outcome will be a set of images. I normally create GIF’s in GIMP 2 or MP4 in Windows Movie Maker. Sometimes, when I’m in the mood, I combine multiple MP4’s with selected audio in Camtasia Studio, like I did in my post Animate design iterations in Revit with Dynamo from late in 2014.

p_completeSection 1deflection top

Check out our GitHub repository for additional information about usage, collaboration, samples, etc.: Dynanimator

Last, here’s a short video tutorial showing how I use these nodes:

In the future we want to start combining this technology with both analysis and optimization techniques. Try to visualize an animation that shows how a room gets optimized for daylighting. I think that’s a very interesting way to communicate visually what you are doing as a designer.

Now bring your models alive, and share your animations with the rest of the world!

2015-03-11_16-47-06

Using Dynamo to manipulate building data in BIM part 3: Random Parameter Values

A while back I got into a conversation with Daniel Hurtubise at Renzo Piano Building Workshop about possible Dynamo use cases. It turned out we had aligned ideas: Trying out different randomizing techniques with Revit Planting (and other) Families.

Today I recorded a short video demonstrating how you can do this in Dynamo. For the method to work you need parametric planting families. I got mine from Revit legend Andy Milburn. Read about (and download) my revised families in my blog post Flat People. Planting Families are a bit weird in Revit, but Andy made them flexible by using Family Nesting and Number Parameters for width and height scaling, in addition to an Angle Parameter for rotation.

Random Planting Shadows

This is a generic workflow that can be used on any number of Revit Families and Parameters. For instance, I have randomized facade modules with the same methods previously.

Fasademoduler

2015-03-09_16-44-37

Using Dynamo to manipulate building data in BIM part 2: Selection

Our fantastically talented and in many ways awesome Ph.D. candidate Margarida Jeronimo Barbosa asked me if she could delete some Levels in a Revit project file. After I had elaborated for a good 10 minutes about the possible implications of doing so, she gave me the “I’m going to walk away from you, crazy person” look. Trying to prevent that, I introduced the idea of using Dynamo instead. She lingered, hesitantly.

In short, stuff gets deleted if you delete a Level that hosts stuff. What stuff, you ask. Dunno, I respond. At least Views (and their view specific stuff), Floors and Roofs. More than that? Possibly. Not very reliable consultancy, that.

So, how does Dynamo enter the equation? With Dynamo you can select all elements on a Level! Yay! How? Watch:

Like I noted in the video, you’ll need Andreas Dieckmann’s Dynamo Package, called “Clockwork”. That package will help you with a lot of other stuff too., and has a GitHub Repository at ClockworkForDynamo.

2015-03-09_16-46-18

2015-03-09_12-04-37

Using Dynamo to manipulate building data in BIM part 1: Shared Elevation

A simple way to try out Dynamo on building projects is to use it to extract, compute and move building data. One example that I love to show uses the problem of tagging and scheduling building component elevations in Revit. Last week my buddy Hannes (svensken) at Dark asked about this for Ceilings. I decided to make a short (and fast) video recording of one way to do it:

This example uses an already existing parameter (Height Offset From Level), and adds it’s value to a (manually entered) number. If the objects your are manipulating do not have this parameter, you can extract their geometries, find vertices and their respective Z-coordinates. I believe you also can extract the global elevation automatically from Revit’s Site Location, but that may require Python/API work. The definition produced in the video only works for Ceilings hosted on Level 1. To make it work on multiple Levels, install Andreas Dieckmann’s Clockwork Package, use Element.Level and add the Level Elevations to each Ceiling.

2015-03-09_13-38-08

It is a common misconception that Dynamo is a geometry engine for Revit. William Wong at CASE recently wrote about that in his blog post Dynamo: More Than Grasshopper Lite. Dynamo can build advanced, mathematically defined geometry. So can Grasshopper. But Dynamo can also compute building data. And that makes it a unique product.

Using examples like these can be a good way to learn visual programming, test Dynamo on projects and teach your colleagues about data manipulation. Let me know if you come up with other ideas!