Posts about Revit

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!

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:

Wow, look at the big brains at Apple...

So it's official, there's a project from Apple that will be in OS X 10.5 that will allow full dual-booting of Windows XP and OS X on the same Intel-based Mac:

Boot Camp Project announcement

This is great news for me, for other than Revit and the CNC control/toolpathing software, everything else I do could be done better on a unix-based system. I dual boot now between Ubuntu Linux and Windows, but would much rather dual boot between OS X and XP. As much as I like Ubuntu, we use a lot of Mac software here, and I'd much rather spend money on Mac software. OS X is kinda the best of both worlds for me: a decent UI over a nice real unix terminal that can also run modern commercial software like Photoshop and Quickbooks.

With Windows Vista slipping more and more, and having less and less to offer me, I'd love to dump Windows altogether. There is simply nothing about it I've heard yet that sounds like it will help me and my business. And certainly nothing about it that will help my 3D work run faster, if anything, it will take more resources to just run Vista alone than XP does. Already I can run what 3D I use (Blender) faster under Linux or OS X than on Windows. If it wasn't for Revit, I'd just buy a used Dell off of craig's list for the CNC (which I'm thinking of anyways, just to have a cheap 'shop' computer that I don't have to worry about ruining with the ever-present dust) and use a different BIM package, and dump Windows. Too bad Archicad is no replacement for Revit, and doesn't look like it ever will be, and nothing better than Revit looks to be coming along anytime soon for any platform.

Anyways, now I can have my cake and eat it too, I can buy a Mac for my next computer, boot into XP just for Revit, and not have to buy Vista at all (until Autodesk requires it for Revit, which, seeing how in bed they are with Microsoft will probably come down the line at some point).

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.

AU part two: all done teachin' & great things afoot...

So I'm done! Taught my last class today, and it seemed to go well. Never talked to that many people at once before. Heck, they even gave me a stage:

Dig that rear-projection screen. It was one big room:

In which when most of the folks had shown up I had them all wave to y'all:

Nice folks. There we a lot of them, the room almost filled up completely. Lots of people, over 200 I think, but I'll have no idea until I hear from the AU folks how many showed up. And to the door monitor lady who was a huge help (she even gave me a pastry to eat before class because I didn't have time for lunch) to the AV guy saved the day when the circuit breaker kept popping on the projector & mike (what fun) to Scott D for going and getting said AV guy when it tripped, a big huge thanks for helping me out. Really helped a ton.

And in other news, Revit is taking over the world. Great main talk yesterday about where Autodesk is going in the future, and man, it's all about Revit and 3D. Showed off some fantastic looking betas, such as a very impressive realtime walkthru tool, a sketchup-ish thing called Vespa that looked neat, pulling IFC's INTO Revit, and a whole lot more. Oh, and this is what 6000 people look like (I was up in the third row):

AU 2005!

Hey all, I'm here at Autodesk University 2005 in Orlando Florida, heart of the Disney Empire. PAX DISNEYANA!

There is no escape from here. The red spheres see to that.

Enough joking. Autodesk University is the grand poo-bah get together for all the CAD dorks in the world, and I was lucky enough to be invited to be a speaker. Y'all knew I was a big geek, but it turns out I'm a big enough geek that other geeks are willing to sit in a room and hear what I have to say about geek things. Guess I better give up any pretense of not being a geek now (and here I thought my new shirt from H&M at least did something to put me in the non-geek category).

I've got two classes I'm teaching this year, this one and that one. First one's down, and other than a little technical hiccup, it seemed to go well. It's hard to tell how well you're doing when you are talking to several hundred people. Tomorrow's talk is even larger, so I don't know if I should have a big coffee right before for my energy level or a big drink for my nerves. Never talked to so many folks at once, so I hope I'm doing OK. So far everyone I've talked to says the first one was a great class, but I'd rather hear from the folks that didn't like it so that I can do a better job on the one tomorrow. Oh well.

The spheres... the spheres...

This place is huge, and I keep getting lost. The conference is huge too. It's something like 6000 people or more. One really cool thing about being a speaker is that I get to go to all the other classes too. Jim B, James V, & Mario G gave one heck (gotta say heck, can't say hell, otherwise the Disney cops will come and grab me) of a great talk last night about the challenges they have faced and the strategies they have come up with for using Revit within their large firms. Great stuff. It was recorded, so when it goes live y'all should really check it out if you're into Revit stuff.

There's also a rumor going 'round that the final party for the conference is going to be *in* Disneyland somewhere. These are the magic boats that take you into the heart of the beast. You know, I love Disneyland, for it's akin to a Wagnerian Opera, in that it's a total work of Art. Every detail is thought of in relation to the whole. As a designer I eat that up. Well, that and my general lack of maturity.

Oh, and hey, if you're visiting from the main site (and not getting this via RSS) you'll notice that the images seem to be borked. Grrr. Drupal's has lost the ability to make the thumbnails so all the images seem to be resorting to orginal size, so I'm turning off the random image block for now. Of course this happens when I'm thousands of miles away with spotty connections at best. So it won't be next week until I can fix that, so sorry there, I know it's a little annoying...

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 - Revit