On a private newsgroup I frequent (composed mainly of Autodesk discussion group expatriates), I gave a friend of mine some advice on learning Revit. Melanie Perry picked it up and re-posted it to her blog here:
Writing this, I was reminded of what it was like for myself as I went through the process back in 2007-2008. At the time I wrote a (now-defunct) personal blog post about the process which I shall repeat here.
(Note: Remember that this was written is during the AutoCAD 2009/2010 years, which were a little problematic with the new UI features).
So, I’m knee deep in learning Revit. Oh, my holy God. I’ve instantly turned into an idiot.
I forgot what it was like to be such a dumb newbie at a CAD program. the day is full of painful flashbacks to the time I had to learn ARRIS in 1994, and wondering if the developer was, or I should be, habitually smoking dope.
But at the same time, I can’t help but feel great about the potential of what is to come, both personally, professionally and in the industry as a whole, as the Building Information Modeling process goes from being a cool new thing to becoming the new normal state of affairs.
When I started to learn AutoCAD – Release 2-point-something back in 1987 – I had no idea what I was getting myself into, or the vast depth of the program. Learning it was simple; I "got" about 80% of it after two or three classes. Of course, we were drawing 2D only things, and had to learn only a smattering of commands printed on a plastic sheet taped to a graphics tablet, so the entirety of the program was more or less self evident.
After about 6 months of professional use, I felt that I had mastered the program. But as time wore on I discovered subtle methods of working which made me realize it would be years before I could actually make that gloat. After constant use of anything, you develop insights, techniques and muscle memories which form the foundation of how you approach working on your projects.
Having a strong programming background from high school and college, I looked into customization using AutoLISP to accomplish more. That led to a whole new understanding of the innards of the program which continues to this day.
What I’ve always loved about AutoCAD – up until fairly recently – was how it handled under my fingertips. It was one of those magical programs which just felt wonderful to use, as if it knew I meant to pick this, not that, or whatever. I developed the skills necessary to do complex operations easily, learned to think three steps ahead of the program, so I would tend to think through a drafting problem in my head and be able to easily translate that into a series of commands. It helped that AutoCAD’s command syntax was initially very much verb-noun based, like a normal sentence.
For example: "I want to Move These Things from Here to Over Here" would translate to
Select objects: [Pick some things]
Select object: [Hit to finish picking]
Start point: [Pick a start point]
End point: [End point]
It just doesn’t get much easier than that.
Even after migrating (read: kicking, screaming, yanking out of hair, etc.) from a tablet to a mouse, I found the act of drawing geometry, snapping, zooming, panning, and other hand-intensive operations just worked, and worked correctly and elegantly. With customizations and certain tweaks in place, mind and mouse operated as one, and one developed the innate ability to think 12 steps ahead of any editing operation.
It was like driving a finely tuned racing car, where your finger flips the flappy-paddle gearbox without even thinking. Or, as in my case, with playing the drums – you do not really concentrate on what you are playing at the muscle level, you think about the music. The hands, fingers and feet just seem to go where your head points them. That’s why people bought those silly 16-button puck monstrosities. I knew CAD folks who could play those things like Rick Wakeman wailing on a Yes album.
With today’s releases I think this essential rapid-fire quality is harder to discover, as program bloat, interface bling and (depending on who you talk to) sketchy feaureitis have turned a once-mean, lean and clean program into a pile of programmed mush. Not that putting things back to normal is not possible, but it seems that out-of-the-box AutoCAD, with the crazy number of UI doodads all yelping for attention, acts more like a bunch of 4 year-olds at a birthday party after the cake and ice cream.
Worse, you now have to really worry about what your mouse hand is doing. Back in olden times, you could wrench your mouse (or puck, for you geezers out there) around and tell it who’s boss. Now with all of the dynamic “heads up” features, you have to be really careful about moving, picking, mousing over and so on. The least little twitch and you end up picking the wrong thing or firing off the wrong command or OSnap. Part of my AutoCAD training class is dedicated to just making things consistent and predictable again.
Palettes of various kinds, which were quietly sitting hidden on the side now scream out when I have the audacity to mouse a little too close to the edge. And of course, the ones I need aren’t anywhere to be found – and when I do find them I can’t get them to go the Hell away fast enough. Even my status bar looks like the dashboard of a Russian spaceship. This is argument enough for a dual monitor system.
Even the much-maligned Ribbon, [author’s note: which I have actually come to really, really like in 2011 and 2012], is a screen hog, and slow to respond to as well. It just looks clunky and doesn’t scale with a resolution over 1024×768, leaving you a nice fat chunk of valuable screen space which is rendered useless.
Wait. What was I talking about, again? Oh yeah.
Learning Revit (really, this time)
Revit isn’t so much about learning commands, it’s about learning to build something real in software. Like AutoCAD circa 1987, there’s simply is not a whole lot of varied stuff to deal with. What’s great about Revit is that it’s an extremely FOCUSED and CONSISTENT program, even across products in the platform. Once you get past the concepts of BIM vs. dumb ol’ CAD (which takes about 3 minutes, tops), it’s a fairly level learning curve to get through the core mechanics.
I like to say to my students that, if you were faced with creating a new Building Information Modeler using a clean sheet of paper, what you probably would design would be very, very close to Revit. The fundamental underpinnings are profoundly elegant and scale well. Project wide settings control your standards in one place (I call the Manage tab your ”CAD Manager in a Box”). No layers to deal with – oh dear Lord how shall I work? – simply Categories of building elements. Each Category represents stuff of a similar display and parameterized behavior. For elements which do not fit into any neat little box, you have the Generic Models category.
Categories contain Families, which are solidified into Types, and finally Instances in the model. You have System Families, as controlled by Revit and the project, and Component Families for everything else.
And for weird stuff that doesn’t model using the default tools, you can model in-place (and assign it to the proper Category for display control) to do what you need. Of course, you can import a wide array of 3D elements from other programs, extending your abilities.
And you have a basic set of modify commands at your disposal that are familiar to any AutoCAD user, but built with a touch more intelligent design. Sketch-based design is just huge and an integrated part of the overall core workflow. Commands like Offset and Array work in a way we could only hope for in AutoCAD-land.
And the Align command is simply beyond brilliant. AutoCAD absolutely needs this. Preferably without a palette, UI gizmo, or dialog box.
After that, you have the Project Browser, View properties and view-level display overrides, Datums (Levels, Grids and Reference Planes), Schedules (sweet!), Rendering (double sweet!), Project Settings, Constraints, Parameters, and so on. For the most part, all excellently implemented and a real eye-opener for a knuckle-dragging, mouth-breathing AutoCAD user like me. Run through the tutorials and you Get It.
Then you hit families. Specifically, parametric families. Hooo boy. Wow. Just, wow.
Inside the Family Editor there is an amazing amount of power contained in what really is a simple framework. The Family/Type workflow allows you to create a wealth of intelligently designed building components that do (almost all the time) exactly what you want them to do. Combined with Parameters and formulas, they are most closely related to a marriage of AutoCAD’s Dynamic Blocks and Constraints – easily the two best new AutoCAD features of the past several releases.
Not that Revit is devoid of its own devils. Once you get past the meaningless “It Ain’t AutoCAD” prejudices (which took, surprisingly, a short amount of time) you see some real software design boogers. Like non-resizable dialogs for System family editing, which makes it a total PIA to work. Or the fact that you cannot snap to or easily align elevation tags. Or properties in the Options Bar which are not found in the Properties Palette. Or that Revit MEP doesn’t know that a wall in the linked model is a wall and you would think you should be able to host wall-hosted things to it. Or that you cannot resize the box in a room number tag parametrically. Stuff that you think you should, by all rights, be able to do, you cannot. It takes a while to see over those holes and focus on what you can do.
But overall, you get an incredible design toolset combined with an elegance and ease of use which is exhilarating to work with. Just like AutoCAD felt like back in the late ‘80s and early 90’s.
After 20-some-odd years of working with AutoCAD and AutoCAD Architecture, you can get a little jaded. Now and then you see additional overhead potential in the software with new features. Yet with every new release, often times you are hit in the head with some software design dumbness which obliterates any excitement you may have had in a demo.
So you stop looking at the potential in some feature, because to get to that Promised Land is simply Too Hard. You see features that are shaky at best; and to properly implement, would take an inordinate amount of training time. Worse, you have in ACA the ability for some untrained numskull to get their mitts on the drawing (to get it changed and to the engineer STAT) who, when seeing all this AEC object stuff, will without hesitation explode it down to dumb linework just to get something out the door.
But when you learn a new CAD program like Revit, everything old becomes new again. You see the potential, but you don’t know any of the gotchas, and are still dumb enough not to understand all of the limitations. With experience comes wisdom, and without the ability to "cheat," you know that you have no choice but to make it work. When you look at the exceptional work of others, you see that just about anything is really possible.
I’m just mad that I didn’t start learning this stuff sooner.