Posts about BIM in general

Catch Jeffrey at today's San Francisco Revit User's Group

Catch Jeffrey at today's San Francisco Revit User's Group, hosted by Ideate, where he'll be speaking with our good friend Doug Smith on using BIM for large-scale Burning Man projects.

Doug, a BIM manager at Woods Bagot and prior to that SOM, and Jeffrey from BecauseWeCan, have both volunteered their time and technical skills to help with building Burning Man's yearly Temples. The Temple is a non-denominational place for reflection and remembrance that is a large part of the Burning Man tradition, a big project, and a huge team effort of many people who come together to build something that will only live the duration of the event, to be burned at the end.

Here's the link for the invite for today's event in San Francisco.

If you can't make the San Francisco event, there's the same event next week in Oakland. Here's the link to the Oakland event invite.

Hope to see you there!

Vegas, Day 5

We are still here in Vegas, on our last day, and frankly, it's about time! Jeffrey has given all of his three talks. And luckily only one of them was strewn with technical difficulties including, but not limited to, the light jazz that started playing from the hotel speakers halfway through his talk. That talk seemed to take all the bad luck, as his others went seamlessly, and he received praise from the attendees on all three of the presentations.

All of his talks were taped, so you can watch them by logging onto the AU Online site.

jeffrey mcgrew

We have been put up at The Venetian, with it's plush accomidations and amazingly friendly service. The interior design of this place is amazing.


This tower here has a long hallway flanked on either side with gas wall sconces. The center of this hallway is a reception area with an amazing ceiling and chandelier. There is so much security here, you have to have a room key to go anywhere in this hotel. Luckily, we did.


We've decided that is the ceilings and lighting fixtures that really hold the personality of a vegas casino- as eye level and below are typically filled with slot machines and a multicolored carpet to hide stains.


The Venetian has a pool that was still open while we were here, even though the temperature high was in the low 50's. I went swimming, and it was *WONDERFUL* as they keep the pool at a constant 85 degrees! And I had it all to myself, as more rational people than I figured it was too cold to be swimming.

They give you heated towels as you are on your way to the pool.


The other day I saw someone vacuuming this lawn. So today I took a closer look at it.

venetian grass

This is by far the nicest and softest, and most likely the most expensive astroturf you can find. I want some for my livingroom!


Even the exit signs are fancy at The Venetian.


Now onto our room... We had 35 people in here on Tuesday night. I'll say it again..... 35 people in our hotel room at one time, and it wasnt even tight! I think this room is larger than our space in Oakland.


The bathroom has it's own makeup table, as well as a separate bath tub, a shower with glass walls, two sinks, and a separate room for the toilet. I could live here. If only it weren't in Vegas!


Autodesk University 2006... Talks all done!

As we've been blogging about, we're down in Vegas (baby) for AU 2006. Autodesk University is Autodesk's grand poo-bah get together, where all us big time software dorks get invited to talk to other folks and teach and show what we've been up too and what we know.
BTW: For those that just read my (Jeffrey's) blog, keep in mind Jillian blogs too and so you might wanna point your RSS reader over to instead.
I gave three talks this year, one on presentation graphics in Revit, one on Worksets, and one on using BIM info throughout the project (where I talked some about what we've been up to with Frank). It was, as always, tons of fun (despite some technical issues with the Worksets session) and a real honor to get asked down here. However I guess if 600 people are willing to listen to me talk for 90 minutes about Revit that makes me the biggest dork of all, but hey, I don't have a Dork patch on my coveralls for nothin'.
They (Autodesk) recorded my sessions, and they are gonna be online too, so those who didn't make it down can sign up and watch many of the classes online. Some great stuff is happening down here!
However, I gotta admit, we building designer Revit folks don't get the nice swag. We get t-shirts. I went to a Alias Studio Tools (an industiral design tool) class instead, and I wound up with one of these for free!
Space navigator!
Rock. On. I'm gonna go to more classes where amazing car designers use $10,000+ software now. Plus it's more fun to sit and draw/model cars than buildings. I might need to switch careers...
This thing-y that I got for free is like a 3D knob, as you twist, turn, tilt, and pull it's 'cap', the 3D view follows, so it makes for really quick editing and navigating. And it's too fun when used with Google Earth, it's like some kinda video game... Even tho it doesn't work with Revit (yet) it does with some other stuff I use (Alibre found it immediately and put it to work) it's so much fun that I'm way happy to have one now.
But all in all, it's been a great conference, with lots of really great people and ideas (if no small amount of work to get ready for).

Lamina - special CNC layout software for curvy sculptures and forms

Here's a new software called Lamina I'm playing around with the demo of, and it looks super keen. It's a tool that lets you import in complex, curvy shapes generated in a modeling application, and it figures out how to make that form using flat sheet material. Kind of like the sheet metal CNC applications, in that it takes a complex form and 'flattens' it out for cutting, but more geared towards sculpture than manufacturing. So, for example, here's a shape I made in Revit:
Shape in Revit
I then exported it out of Revit, and converted it into a 3DS file, and imported it into Lamina (it numbers the surfaces to sort them out later).
Shape in Lamina
I then told Lamina what kind of material (thin plywood) I was using, what kind of edges I wanted (I picked tabs, it's got lots of different options), and it figures out what flat bits are needed to make up my curved form (and it also adds the tabs and a number to each one for ease of assembly!)
Layout in Lamina
Here's a single part.
part in Lamina
It works pretty well! It's fun to play with. Don't really have a project yet to apply it to, but I think we might buy it anyways someday soon and just make some funky, curvy forms for the heck of it... maybe some organic chairs or something...

Revit to Radiance (via an expensive translator...)

So something I've done some work with over the years is a rendering engine called Radiance. Radiance is unique amoust rendering engines as it actually calculates the lighting, it doesn't 'fake' anything, so you can get some real design feedback from it. In other words, if your rendering looks bad, it means the lighting or daylighting is bad, and you've got design problems to fix. Most other rendering engines are focused on making a 'sexy' image ASAP (and rightfully so) and so you can't 'trust' the results for it's just faking everything.

However, Radiance isn't widely used because it's slower, harder, and requires you to know something about daylighting and lighting design to get good results out of it (that 'not faking it' comes back to bite you).  That and the fact that it's a very old school command-line Unix tool makes it's learning curve vertical, and if I didn't have a Unix god for a friend to pester with stupid questions I would have never learned it.

I've always felt that Radiance is kinda like the oil painting of Architectural Renderings: It's hard, and takes a long time to master, but will let you produce images no other medium can produce. Most rendering engines are more akin to watercolors, sketches, or airbrushed paintings: fast, loose, easy, and easy to make look great. Right tool for the job and all that, so Radiance isn't used much, 'cept by lighting designers, for most Architects just want a sexy image in the least amount of time possible.

Anyways, the right job came along, and I got to dust off my Radiance skills I haven't used in a while. We've got a project at my day job that's all Leeds and daylit and such. Had to get a good idea if it was really going to behave the way we designed it to, and Max alone couldn't get us there. However, seeing that we were doing the project in Revit, we had a nice, complete, clean model to work from. With a little bit of noodling I figured out how to go from Revit to Radiance with little pain (but a very expensive translator, sadly).

This is a 'falsecolor' image of the interior of the project, showing the lighting levels from the windows and skylight. The colors match that little legend in the corner, so that we now know how much natural 'free' light those tabletops are gonna get. Pretty cool, huh? (god I'm such a dork)

Here's what I do:
1. I export the 3D model from Revit as a polyface mesh to a DWG file, with elements turned on or off to filter out what I don't want in my final Radiance model.

2. I then file link that DWG into Max 8, which allows the Revit materials to remain 'intact'.

3. Revit likes to model glass as a solid plate. Radiance likes glass to be a flat plane. So in Max I select all the glass by going into the Material Library, setting it to only show the scene materials, picking the glass, and then using the very handy 'Pick Elements By Material' button on the Materials Palette. This then gives me all the glass. I then apply a 'Edit Poly' Modifier to the glass, and pick the 'Y' under 'Make Planer'. This 'flattens' all the glass, which as long as it's not horizontal (like in a skylight) fortunately for us has the y-axis pointing in the right direction to make this happen correctly.

4. I then export the model from Max as an .Obj file, with elements grouped by material, no normals, and faces set to quads. I've found this gives the cleanest mesh in Radiance so far, but I'm still tweaking with this to see if it can be better.

5. Then I use the Obj2Rad tool that comes with Radiance to convert the exported .Obj file to a Radiance file. I'm running Radiance under Cygwin using this fellow's wonderful pre-complied binaries. It's the easiest way to get it to work under Windows I've found. Someday I need to set up a 'heavy lifter' OS X or Linux rendering box I can SSH these jobs to instead, get them to run faster (Radiance runs at little better than half speed on Cygwin from what I understand)...

6. Now we are almost done. We need a .Mat Radiance material definition file to go with our .Rad file. what I do is use Awk, Grep, and Uniq to parse the .Rad file, pull out all the Material Names, sort them,  delete the duplicates, and then save them into a .Mat file. Once I get that process smooth I'll post it here, I'm still stumbling with it a little.

7. And now we're done! We just make a .Rif file, a sun definition file, and start rendering away. If we change the Revit model, we simply re-export to DWG, the change pulls into Max automatically next time we open that file, we re-export to .Obj, reconvert OBJ2RAD, and then we're ready to re-render.

Now. Here's a caveat. I'm cheap. so I'm trying to do this with the tools on hand. This company makes a version of Radiance you can use as a plug-in to Max, just as if it was vRay or some other rendering engine. I've used their demo, and it looks keen. but it's almost $2k worth of keen, so...

And someday I'd like to do this without needing Max at all. That would be swell. Gotta talk to some programmer friends of mine...

Five in Nine... Revit 9 has shipped, and here's what I like the most.

Revit 9 is out, and here's the five biggest things that rock IMHO:


            All I can say is finally. The material keynoting and element keynoting are gonna really help. And the fact that you don't need to go through lots of hoops to get sheet-specific keynote legends now is a huge plus. This, like the next issue, removes a major stumbling block with Revit, even if it also adds a few minor management issues.

Reuse of sheets

            This solves a major issue that Revit's had for a long time. Namely, reusing old details, sheets, views, and schedules was somewhat cumbersome and inefficient. Now we can save out typical sheets, details, and schedules and pull them in as needed into Projects. No more cutting and pasting. If you pull a sheet in it even retains it's formatting and layout. This solves what was going to be a major issue at my day job, namely how to organize typical content and details and make them assessable to 30 offices. It's funny, problems that are just annoying when working within a smaller context can become real show stoppers when you scale things up to the size of the big G. It's part of the fun of trying to make Revit available to the big G, and make it a success where it's used. There's still plenty of scary, scary problems we have to solve (or that Revit has to solve). But at least this one is solved now.

Material takeoffs

            Revit 9 has a new type of schedule called 'Material Takeoff'. It's basically a schedule limited to just the materials of all elements within a certain Category. This includes materials applied via the paint bucket, as well as the layers of materials used within system families. So, for example, you can generate an area takeoff from the paint on the walls automatically, regardless if it was modeled, embedded, or painted onto the wall. This is going to be very helpful to me personally, for when I design and model furniture and fixtures within Revit I define what materials the parts are as I go. Like on the reception desk that we did, it's just one big in-place family, but the different materials were defined within that so that it showed up properly in section and elevation. Now, I can also get an area of those materials and then have Revit calculate a rough number of sheets of plywood it will take to make that item. All for 'free', no extra work, just off the model that I'm making anyways. I just tried this with that reception desk model, and it came out with the proper numbers. One caveat here is that the area the material reports includes all faces of the element queried. So for this desk I had to halve the calculated area of plywood, for it was counting both sides of the sheets when I just wanted to divide the total area of plywood vs. the area of a single sheet to get a rough number of required sheets. Just something to watch out for.

Animated non-rendered sun/shadow studies

            Not a huge deal, but a nice thing to have. The more Revit Building can do to move towards design-analysis in regards to Architecture the better. I personally would love to see Ecotect-like features added to Revit, so as Inventor can calc out the strength of something via FE, and Revit Systems can calc out air loads, Revit building can calc out thermal and daylight loads so I can make a better building.  

New rooms

            This is going to be another big deal for the big G, for the majority of work here is interiors, and the old rooms were somewhat confusing and limited. Now that they have an actual proper representation within the building model, as well as being smarter, it's going to make our lives a lot easier for test-fits and more. Also it's nice to be able to tag them in section views now.

Five that I would have liked in nine:

So while I like Revit 9, and think there is some serious foundation work going on that is going to play a much larger role in the future (when we're swapping Revit models with the consultants), Here's my little list of things I'd like to see ASAP:

  • Fix the elevation tags. It's getting sad that this hasn't been addressed at all for YEARS. They pay a lot of lip service to the fact that Revit 9 was focused on 'Construction Documentation' yet they left the elevation tags unaddressed?
  • Simply make Revit faster. Seriously. The rather simple improvement with Revit 8.1's worksets has translated into a direct productivity improvement that's much bigger than any other new feature Revit 8.1 had. I once read a study, done many years ago, that a simple 10% increase in screen regen speed for a CAD system will vastly outstrip any productivity improvement via new features. Revit could be making much better use of the hardware available today IMHO, and with folks wanting to undertake REALLY BIG projects in Revit it's going to become a huge issue for everyone if Revit doesn't start getting faster…
  • Have the Inventor team talk to the Revit team and show them how to do a decent OpenGL accelerated UI. Revit could be making such better use of this kind of hardware, and it's a shame that AutoDesk, who has the Inventor team, who are really good at this sort of thing, can't seem to get their act together and share that knowledge internally. Also the Revit UI, while OK, is getting a little long in the tooth. While it looks like 9 did redo some icons to make them clearer, let's just say that it sure doesn't look like a $4000+ package now.
  • Get a modern rendering engine under the hood. It looks really bad for Revit to still be using such an old and broken engine, when all the other AutoDesk products are now using Mental Ray. Not a very confidence-building thing to see Revit still stuck with the old engine.

  • Fix shared parameters. They work within a smaller context of a single office, but there are lots of big scary problems that pop up when you try to scale that same system to 30 offices. There has to be a better way to do this, and we needed it yesterday. Let's hope it shows up soon...

Design -> Revit -> Blender -> CNC -> real life!

Here's a sneek peak at a big job we're in the middle of. We're doing a lobby for a local game design company, and we're very excited about it. The overall theme of this lobby is based upon an orginal creative work (a fun PSP game and a neat comic) of this company called 'Death Jr'. It's theme is that you are Death's kid and you've got to save your dad (who's in trouble because of something you did). We loved this image of Death's desk in his study from the comic:

So we proposed to base the reception desk design off of it. We were very excited that the client liked the idea, and we designed and modeled the desk in Revit:

Which formed the majority of the desk. However, we wanted to do some very custom parts for the desk. We mocked up these wings for the front in Revit, but we wanted them to look more carved instead of flat. So I exported the wing from Revit into Blender, and then remodeled it until we liked the look:

And then we exported that model from Blender to the CNC toolpathing software, and then carved it out from a solid chunk of walnut we got from Pals down the street (certified sustainably harvested, Pals rocks). Those extra bits in the model are to save some of the wood, so we're not carving it all away:

Then we sanded and finished the wing. We're very happy in how they came out:

They were a nice touch to the overall desk.

We'll be posting a lot more photos of this when we're done, but here's a sneak peak of what it looks like now:

Revit -> CNC -> Product!

So here, finally, is the process I've been going through to produce products using the CNC table in combo with Revit. Been meaning to post this for a while now.

So, we just made a nice kitchen island for a client of our own custom design:

And we needed to make some matching stools. So we did some sketches, some modeling, and arrived at something we all liked. That simple Revit model was then carried forward into a fabrication model in Revit, and the parts from it copied out into 3D space to 'explode' the model:

Then I exported elevation views of those parts to DXF. Revit's 2D views of the 3D model are dead-on, which allows me this very fast and cheap way to generate these clean loops. I then take those profiles and lay them out within the CNC toolpathing software to fit onto a single 4' x 8' sheet of "ApplePly" (a finish-grade maple plywood that's made up of solid fine layers):

Then we feed the CNC table a sheet of ApplePly, and tell it to cut away:

Then we sand and finish the parts:

Then we assemble the parts:

Then we get the finished product!

So, this is making things simply out of '2D' parts, or flat parts cut from a flat sheet. Next up, we'll try to make some '3D' parts, where the CNC table will be carving out reliefs for a possible upcoming large job. I'll post that process too when we run through it. But here's a very fast, cheap, and easy way to go from Revit to reality.

In the future, we're hoping to scale this beyond just furniture and products, and make key parts of a building this way. For example, a nice railing detail for a residential deck could be modeled in Revit, and then broken down into it's parts, which would then be produced via the CNC table for mass customization on the dirt-cheap. We could make a railing where each part was custom for the price of the material and modeling time.

Now we just got to find someone willing to hire us to help them with their house. ..

OGLE: The coolest thing I've seen in a while! (or 3D screenshots-to-model!)

Wow, am I jazzed about this:
It's a tool that lets you take 3D 'screenshots' and save them down as 3D models. So, like, you open up Google Earth, hit a keyboard combo, and it saves what you're looking at as a 3D model. See, here's looking at the area surrounding my new gig:
I left my heart...
And here's that same 3D info grabbed out of Google Earth, Buildings and all, and then pulled into Revit: San Francisco!

It works for games too. Some people are using it to generate 3D models of their Everquest/WoW characters, so that they can clean up the mesh and get them 3D printed. So that they can have a real-world little figurine of their in-game character. THAT'S SO COOL!

(image from the OGLE site)
Or, in my case, I could grab a model from something and then feed it to the CNC-table to make a real-world version!
It works like this, and it only works with programs that use OpenGL:
It's actually two tools, one that can siphon off the OpenGL system calls, and this OGLE tool that can then turn those calls into a .OBJ file.
Whenever your system is using OpenGL for anything, it's sending the 3D info you're looking at to the graphics card, which then draws it on the screen. It does this because it's faster that way than the processor doing that job instead. So once it's set up you hit a keyboard combo that you define to trigger it, it steps in and grabs a 'frame' of info, and then passes it to the OGLE tool, which then in turn turns that OpenGL data into a standard .OBJ file. You then can open that file in any 3D application, and in the above example I saved it out as a DWG using 3D Studio and then imported it into Revit...
Now, I tried going the other way just to see what would happen, and Revit's OpenGL use doesn't seem to work with the OGLE tool. It does work with the OpenGL capture tool, so you can get to the data, so we'll see if it just takes some tweaking to get it to go.
But with Google Earth, you just need to set up the .ini file that the capturing tool and OGLE use properly, and it works like a champ. The two key things here were to copy the system OpenGL.dll file into the Google Earth application folder (after renaming it to opengl.orig.dll) & uncommenting the line in the .ini file that tells it to use that one (as the 'old' one); and to set the scale way, way up, like 10000000000 times up, for the data is *tiny* for some reason coming out of Google Earth.

Just a quick note about Worksets in Revit 8.1

Hey all, I just gave a presentation for a new Revit User's Group forming in Oakland on Worksets in Revit 8.1, and thought that I should post it here too for those out there using Revit.
As you may or may not know, Worksets changed a great deal in Revit 8.1, even though they cleverly look and feel the same. In this post I'll explain the differences, and talk about what the new changes allow you to do that you couldn't do before. But let me just take a moment, and say that the Worksets in Revit 8.1 totally rock, and that the Revit team did a great job on them.
OK, now, a quick review on what Worksets are:
  • Worksets allow you to break up your Project into user defined 'chunks'. Like West Wing vs. East Wing, Core/Shell vs. Interior, Site vs. Building, anything really.
  • Great for project management & visibility control, for you can turn off Worksets selectively to either hide part of the project within a view or to speed up working on the model by giving Revit less to think about.
  • Worksharing allows for more than one person to work on the Project at the same time. This is Autodesk's new term for this, prior it was all just called Worksets.
  • Worksharing means that there is a master copy of the Project on the server, and people check work out and into that master copy, with Revit acting like traffic cop and librarian.
  • You can check out a whole Workset, making you the only person that can work on it at a given moment, or you can just borrow Elements from a Workset (or from someone else who has the Workset already checked out). You then check them back in when you Save to Central.
  • Worksharing allows much more project tracking and backups. You can roll the project back, review logs as to who did what when, see who's working on what within the Project, and more.
  • Worksets & Worksharing always works together. Can't have one without the other.
  • While most training manuals and classes on Revit treat this as an 'advanced' topic, it tends to be the second thing I show beginning Revit users, for in the real world we all have to work together from day one and now with Revit 8.1's improvements to Worksets there isn't anything hard to understand about them.
OK, now, in Revit 8 & prior:
  • Worksets & Elements had to be checked out prior to work. You had to stop and ask permission prior to editing anything.
  • Borrowing wasn't automatic at all. You always had to ask.
  • Borrowing wasn't easy. You had to go through a multi-step process to select and ask to borrow anything.
  • If any element was changed within a Workset, that whole Workset had to synchronize with the server. (more on this later).
  • So much data had to move on the network that you couldn't really work remotely.
  • Revit generated a ton of junk backup folders. An issue for some IT staff folks and backup software.
  • There wasn't an easy way to take a Project on the road. If you wanted to take a copy with you for a presentation or to noodle with on the road, it always complained about not being able to find the central file, and you could potentially leave the office with things checked out upsetting your coworkers.
So, now, in Revit 8.1 & Revit Structure:
  • Elements check themselves out automatically. As soon as you edit anything, it's borrowed out to you automatically.
  • Borrowing is automatic. You only have to ask if someone else has the Element already checked out.
  • Borrowing is easy. Not more multistep process, you simply pick an item, and edit it or simply click the blue 'ghost' puzzle piece to borrow it out to you.
  • If an element has been changed within a Workset, just that element has to synchronize with the server. This makes save times much less (more on this later).  
  • Much less data is moving on the network, so working remotely is now possible.
  • Revit has greatly cleaned up it's backup folders.
  • There is now an easy way to take a Project on the road. There's a option when you open the Project to separate it from the Central file, so that you now have an orphaned copy that you can do whatever you want with and not hurt the master Central file on the server (or upset your coworkers).
So, what do you mean by the better saving thing?
Well, before, any time you edited anything on the Project, when you Saved to Central, Revit would have to push the whole Workset the element was in back to the server, and then pull back any whole Workset that contained any elements that others had edited while you were working. This could at times be a huge amount of data, and took a long time.
Now, Revit 8.1 is a lot smarter about how it does this, now it just pushes back the Elements that changed to the server, and pulls back just the Elements that others had changed, greatly reducing the amount of data moving back and forth. Meaning quick save times and opening up the possibility of working remotely via VPN. Here's a chart I made that shows this idea off a little better:

So, what does this mean for me?
  • Now you don't check anything out, unless you really want control.
  • You 'Borrow as you go' as you work, not caring about checking things out first. You just open the Project and get to work.
  • You need a lot less Worksets, for you rarely step on someone else's toes. You just need them now for project organization or visibility.
  • You're able to work a LOT faster.
  • You're able to work remotely (if you've got the infrastructure).
  • You're able to take projects with you safely.
Hope this helps, and happy Reviting!


Subscribe to RSS - BIM