Sunday, May 19, 2013

Revit Technology Conference 2013- Australasia

My "Calender Sunday" is on its 34th hour, having just crossed the International Date Line on my way back to Dallas following the Revit Technology Conference Australasia, at The Langham Hotel in Auckland, New Zealand. This was a bit of a different trip for me, since it was also a personal vacation that let me bounce around the country of NZ for a few days. 
Culturally and experientially, it was a wonderful experience.  A few days on the south island, including an island wide drive, days of hiking, and meeting a bunch of great people, then heading to Auckland for the conference itself. The country was a phenominal host.  People going out of their way to ask if i knew where i was going (i nav with paper maps while i walk), people recommending things, stopping to talk with me everywhere i went.  Fantastic Country. Finally, i made my way to RTC on Wednesday of this week.
Generally when i attend conferences like RTC, there are three things i absolutely relish during the experience: 
Amazingly Graceful Constraints
The first is the elevated education level that only comes from getting lectures from REAL users who do this stuff day in and day out, and this conference did not disappoint

I wont call out "favorites" because i know *I* get sad when im not on others lists of favorites, but there was some serious classware going on here.  I made sure to sit through (or read handouts from) many Adaptive Components and Repeater Classes (I was distracted by someone doing the repeater...).

Tim Waldock does Repeaters

Tim Waldock (Awesome Repeater Magic!), Alfredo Medina (Repeaters with FT parameters based on Repeater location placement), and Marcello Sgambelluri  (Adaptive Components doing just about everything (very cool, even if it gives me implementation heartburn...;) )) all gave me many things to think about teaching during some lunch and learns.
Its always humbling to be around such great talent.  Its even more humbling to get to teach for them.  Especially when you forget youre in New Zealand, and ask how many people in the audience are using the National CAD Standard graphical standards.  That gets more awkward when you forget where you are and say *Oh thats right, none of you are from around here.*  Uhhhhh... Anyway.
Gala Dinner: Great Talks
The second is finally getting to shake hands and talk (commiserate?) with so many people from our Revit Community, and in THIS the conference excelled... As it always does. 

I got to meet so many people in person for the first time, after talking on Twitter or RFO or Blog Comments for months or years. I got to meet Andy Milburn in person for the first time, and he and i took turns heckling (and #tweckling) Marcello, which was great. =). I also got to meet the entire crew from Christchurch, whom even invited Steve Stafford and myself down early for the #RUGCC, which was an honor! (BTW, i owe you guys some materials, will post them once im home!).  And, while on early vacation, i got to finally have a drink (and lunch, and wasp trapping...) with Phillip Miller, after 4 YEARS of emailing and Instant Messaging.  Awesome! 
Steve Appleby and i at Dinner
I have to be clear though:  It isnt just a meet and great schmooze fest, either.  Thats what i LOVE about RTC. Three nights in a row, i was sitting in the Hotel Lobby Lounge, talking shop with others until 3 in the morning.  Great conversations that always lead to more questions and new answers. I cant say enough about the great talks that were had.  And the "Brothers in Arms" feeling of fighting with hardware and software together (Phil Read, Adam Sheather, Silvia Taurer, Wes Benn, and Steve Stafford)... This event always sends me back to my office ready to take over the world (again) after meeting so many passionate people who fight the same fight i do every day.
The final thing i always enjoy about these events, is the opportunity to Meet and Greet, and share our dreams/passions/war-stories/jokes, with the Software Developers themselves. 

Some of the best conversations ive had with Revit Developers, and Autodesk Staff in general, has been at RTC Events.
Sadly, they werent here.
Obviously its none of my business why, but the disappointment is NOT the type of "im angry at Subaru for not inflating my ego after i already bought their car," but its more like the "Im disappointed my father didnt think it was important enough to play Catch, in the front yard."  Granted, we have already all bought our licenses, so there is little money to be made. But this is an event put on by GREAT people, to "rally the troops" in an industry that isnt always willing to take on what were pushing.  If you work in sales, "selling the software" is the end game.  Thats polar from us, where thats "go time."  This is the Rubber Hits the Road convention, and if Subaru (or Dad...) was there with me, i think we would have a better Race Team (or family).  But i digress.  To be clear: Its not a slam, its more heartbreak than anything else.

One of my favorite RTC memories of *all time* was standing around the Huntington Beach Dinner Venue, talking *shop* with the Autodesk Reviteers, for HOURS.  Anyway, thats a decision well out and way above my head... But you guys were missed.  Maybe we can toss the football around one day soon.  Or maybe not. :-/ (But Daaaaaad....)
One more special Thanks to Wes, and the entire staff at RTC and the committee.

In 2006, when i first submitted my first class to Autodesk University, i had emailed a prominent Revit User on AUGI for advice.  They told me "not to give up, and to keep the passion, because sometimes teaching its thankless." What he meant was, its a LOT of work, and the reward isnt always there. (But teaching at RTC is amazing because everyone is so in to it when its happening, hence im trying to teach at as many as i can!)  But, the entire RTC staff and committee puts this entire event on "for the love of the game," and for us: The Users.  (Tron fights for the users!) And they do a splendid job.  This is their passion, and they share it with us so we can share ourt passion with each other, in a very personal, close knit venue. I also say thank you to any event organizer who will- not only TOLERATE my bullshit antics- but celebrate them, bequeath me presents, have me parade around on stage, and send me home in Colored Toe Socks as a reminder. =)
And in closing:  The Air New Zealand Safety Video.  First, because they are the first airline to actually hold my attention for 4.4 minutes, and second because (as someone with a serious affinity for Accents, i fell in love with Marina Roodt in the same 4.4 minutes.) I dont know what Haere Mai means, but i like it.
By the way, if you read this far, email me for your Gold Star.  If you are interested in seeing pictures from the entire journey, they are in a Public Folder HERE. I didnt seperate my vacation journey from the RTC pics, so they are all together. Hope you enjoy, i know i did!

Friday, March 8, 2013

"The Helen of Geometry"

... Otherwise known as the Cycloid.  Not gonna lie, i had never even heard of the mathematical description before, and the reading on these fine shapes is absolutely astonishing.  But i digress.  Last week i was showing off one of our projects (the large "classic" Brick building), and if you see the image from last weeks post, there is a very wide Stone Arch above a drive lane coming under the second story of the building.  Early in Design, a lot of the Columns, and Capitals, and Profiles, and Trim pieces were appropriately placed in rough form, and as the design progressed they were iterated in to something properly proportioned for their appropriate style.  So, they bequeathed me the Wikipedia entry describing the shape of the Cycloid, a.k.a. The Helen of Geometry, which is what shall actually be placed above the Drive Lane.

The math behind it sounded pretty entertaining to me, although i admit pretty quickly that Grasshopper is probably a much better candidate for something like this. EDIT:  Zach says Python as well... Still, armed with wikipedia and Wolfram, providing formulas for coordinates and arc lengths along the form, i figured it was doable.  My first attempt seemed pretty straightforward: 
Armed with formulas for X and Y along the shape, i would generate 10 X points, all equidistant.  Their X distances calculatable since the overall width of the form is a direct relation to the Radius of the acting circle (The width is an unrolled circumference of the circle, exactly).
Then, id use the formulas to generate their Y coordinates, based on those X's.
(Let me start by saying:  I am not a world leading mathematician.  I got through Calculus like a champ, but i dont know how i would put a Differential Equation in a Revit Family.  That takes some Buildz skills.)
You can see in the image that the final product didnt go the way i originally planned, but thats because there were options:  I had intended to plan the X values, and infer the Y values based on them.  You can do it, as Wolfram has a badass Equation describing X and Y in relation to one another.
But there wasnt much point: My intent was simply to have an instance parameter in the family that let me type in a value from 0 to 1, with decimals.  (0, .1, .2, .3...).  From there, i wanted it to build the Y values.  But did i really care if it put them at predefined X coords?  Negatory. So in the end, xPercent still exists, but now all of the families "sit" on the same origin, and the X coord is also "pushed out" using the formulas, instead of locking the different instances to the reference planes.  It involves a few wacky variations moving between degrees and radians (and a "Number" since we know how Revit is about units...), plus a throwback reference to David Light's blog on how to enter Pi as a variable in Revit "Pi()".  That was handy. =)
After making it so the users could input either "r" or the CircumferenceTotal (a.k.a. the width of the drive lane), it was a Connect The Dots exercise.  I am still IMMENSELY frustrated that the Conceptual Massing / Adaptive Component Editor is the only place we can Spline Through Points (where points are the end of other Model Lines) and have them stay constrained.  But i digress.  No, i dont digress.  It pisses me off.  Because an AC cant nest in to a Face Based Family, and its not an AC for ANY other reason.  Which means i have to have my project team place an Unhosted component, then edit the Profile of a wall to trace the stone Cycloid, which they cant "trim" the sketchlines of because its a Picked Spline.  REALLY?? Sigh. (Ill post the imaged in the project once they refine the placement and the Profile). BTW, there were other issues, as well.  In a REAL Cycloid, the 0 point and the 1.0 point are tangent to vertical.  In Revit, a Spline through points wont let that happen.  I even placed two additional vertical points underneath the 0 and 1.0 points to force it *tighter,* but it doesnt matted.  So it takes a void to lop of the bottom of it.
Anyway, since thats the case, Adaptive Component it is.  The AC has a nested "Stilt" family, and thats whats doing everything except Connect-The-Dots, which means we will use it "for reference" inside the Window Family where we need to describe this shape as well.  The Window just wont be able to be parametric.  I would love for every Line to have Reference Points at the end that could be woven through, in the traditional Family Editor... But that continues to be my wish. 
Wrapping it up, the obvious question (i hope) that i had to bring to the Design Team was:  Whos building this?  And how are we documenting it?  The reason being, while a Cycloid is graceful to form in a GIF image at the top of a blog... Its awfully close to a semi-ellipse, which is awfully close to approximated arcs.  Im all for modeling it correctly, but im all for having it built correctly as well.  And if they arent going to bother, i can certainly make tangential arc segments in the traditional family editor with far less effort, and then we can tie down real X and Y dimensions for the subcontractors.  In our heart of hearts though, we wanted a Cycloid.  And... As a small part of me hopes we end up the GC on this job as well (at which point we can zing out some awesome fabrication models from this information), we figured we would do it. 
Its full value for the Project will ultimately live or die on "what happens" with this geometry now that its there.  It must be described for its audience, in such a way that it can get built as desired, or transmitted in such a way that it can be used again.  Otherwise, having a fancy Revit Family in a fancy Building Model just to hack dimensions on it is rather... well, basic.
Here is hoping we can keep this somewhere past basic.

Monday, March 4, 2013

The Elusive Origin aka The Original Origin aka Not the Current Origin

I must admit:  It has been a few years since i ran up against this problem, even though i was reminded of it while explaining to someone interally why there are THREE origins in Revit:  Shared, Project, and Relative.
Alas, this isnt a post on Shared Coordinates, just a small reminder about another gotcha that appears in the Family editor:  The Original Origin (The Elusive Origin) versus the Real Origin.  If you know me well (or if you dont know me at all), you know one of my hundreds of obsessions is Door Content, and how it affects Architects abilities to document efficiently... Of course, the bigger picture is:  What does it REALLY mean to document doors correctly for buyout and installation?  But ill check that at the door.  Todays is a smaller issue. Im redoing the CW Doors in addition to the Regular doors to make some changes:
1.  Parent Families by Action.  (Most people do this, my last library iteration was a bad choice. The "action" definition was part of the Panel Type.  Horrible idea.  I have to own that).
2.  Panel Typology including Materiality (not finish) at the Type Level, not instance.  Less fields in the "door schedule" as more is defined by Type of Panel.
3.  More options to reflect the real world.  This meant adding in the potential for CW/SF doors to have a Frame inside them as well.  Sometimes Doors in Storefront Systems get an additional frame jamb and head aside from the surrounding mullions, and i wanted that capability.  So the new options looked like this. (You can see the door at left has the frame).
But we all know the way Doors are Curtain Wall Panels in Revit means you get two choices: 
1. Door Panel Sizes flex with Curtain Wall Grids, runs risk of Door Schedule showing wacky Dims.
2. Door Panel Locations flex with Curtain Wall Grids, runs risk of gaps in between the Doors.

I personally prefer the latter.  Reason being BOTH infuriate Project Teams, but the Door Schedule is sometimes already seen as a WonderWall of data that is more like PowerBall and less like steadfast decisions.  So any chance i can get to make the schedule not go nuts, i "jump in it."  But, i also have Check Value Reporting Parameters in our Curtain Wall Doors.  They tell the user how much they have to adjust the CW grids to make the model AND the schedule legit.
While working on my new CW Doors to finish out the Door Library, i found this beauty:  A rogue 7/128" hanging out somewhere between the CW Grid dimensions (which are correct:  All dims and units are rounded to 1/256" in our files), and the Reporting Parameter dims of the Doors.  Nicey nice. First i tore through the Door (CW Panel) itself, assuming i had missed something minor... But there isnt even any complex math in it.
So then i realized whatever it was had to be in the Mullions of the CW/SF in the Project.  Joy. Although it drives people crazy, we have a LOT of Mullion Types, and a lot of Profiles, so we can accurately model varying shim spaces, glass pockets, etc.  So i opened up the Mullions, and re-certified that the Origin-defining Ref Planes were locked centered.
Then i remembered this minor bit of stupidity that hit me back in 2009, when i was making NCS Compliant Section Heads in New York State:
That Revit sometimes forces you to use the Original Origin of a Family, and not the currently defined origin.  In that regard, its sort of like Relative versus project.  And in the Profile Family editor, you cant see origins (aside from ref planes), so i pulled the old school "Insert CAD drawing with an X at the origin OtO, and see where it comes in."
Sure enough, it wasnt sitting pretty on the 2 ref planes that were defining my origin currently... It was the ever elusive 7/128" off that my Curtain Wall Panels were reporting.
Thankfully its got an easy (albeit stupid and shouldnt be necessary) fix:  Picking up everything in the family and moving it towards to "original" origin by the offending amount.  In this case, 7/128".  I hadnt seen this issue in a number of years, so i forgot that back in the day it caused a few issues for me where Section Heads had a gap from the system Witness Line, and tags were somehow offset from the leaders that were supposed to be touching them.
It still feels a but odd that i can have Reference Planes Defining the origin and have them not be the Finite Origin that all things referencing that Profile are, but i guess its just another day with Revit.  
Having solved that riddle, everything now appears to be playing by the rules.  I cant say my users will be any more happy to have these CW Doors over the old ones (they are Revit Curtain Walls, after all), but they will be more functional, and will more accurately represent what i would like them to be for Documentation and Construction.
They certainly havent gotten any more difficult to use, even if the CW Doors are a "wash" with the old ones.  These are compatible with our new Wall Hosted Doors, which (i think) are worlds better than the last set. 
At the very least, i got to have a nice stroll down memory lane relearning things i forgot i used to know a couple of years ago... And now we can all make jokes about the Elusive O... O is for Origin.

Monday, February 25, 2013

Malleristic BIM travels

 It always amazes me when i look back at the blog and realize three (or five) months have gone by since ive had a chance to update it.... But thats how the last few months have been.
Since the last post on the Deployment Debacles from 2013, ive been a Maller on the road:  A stop in Toronto to talk at SolidCAD university, while visiting my hometown in New York, and then the typical 4th quarter jaunts to Autodesk University and the Autodesk Gunslinger event.  But more recently, i was able to finally spread my wings farther than the confines of North America, to make my way to London for a respite from my day to day.
Being the passionate work-crazed folks that we all are, of course i turned the personal vacay in to an opportunity to meet with several of the BIMCrew's in the United Kingdom.  There were several nights out with folks from the UK Crew (as well as meeting a fellow RFO enthusiast!), and there was a quick run to Scotland to speak with the awesome folks at the #GRUG. 
While this post is light on technical content, i HAD promised both the SolidCAD crew and the Glasgow Revit Users Group that i would post the presentations that i gave, for them to download and look back on. 
Presenting and talking with folks in other countries was an eventful experience for me, though.  Having made Twitterquaintance with more people off North America than on it this year, its been an experience to discuss differences- not just in culture- but the state of our governments, the state of our industries, and how it impacts what we all do and champion in our work environments. 
What started out as a conversation on leveraging Design Models for Fabrication in Construction at the #GRUG turned in to a conversation about what to share with people downstream (everything), who to let in to your models (everyone), and how to navigate those waters contractually.  Therein, the differences in countries became paramount, and i was excited to spend time talking about such things.  At the end of the day, all the complex modeling in the world is useless if the *people* in the process cant or wont leverage such things. 
The differences were staggering, but in neither a positive or negative way.  Time spent abroad- watching other peoples movements, talking in slightly varied vocabularies, and questioning the ins and outs of traffic patterns (special thank you to the wonderfully special person who pulled me out of traffic at least ten times when i tried crossing the wrong way) made me stop and think a LOT about Revit and Modeling: 
That countries and locales function so differently in many ways, is it the best we can do to know our own devices and methods?  The constant joking we did all week long about Imperial versus Metric, and about driving and shifting transmissions from the wrong side of the car (Darryl...) made me realize:
Its really not enough to be doing the best that i can in one country.
Ive met so many insanely intelligent people working towards the same goals, but were all working on islands (pun intended) seperated from one another, but working towards the same goals nonetheless.  Certainly there are limitations (in pay grades above our heads (IE Decision Makers)), about how many resources we can share, but the more i look at this the more i know we (as a small group of BIM enthusiasts) are meant to do more than push our offices farther.  We need a vehicle, for reaching a Global platform.  More on that later.

So, for the imagery... If youve seen these presentations before, i apologize for being boring.  But as i promised the SolidCAD Crew and the GRUG crew, find the PPT's and PDF's at the links below. Because of the way my powerpoints are always set up, i get that the images dont read well in the PDF's.
There are also videos in the presentations, which are hard to upload and tie back together.  If you ever want to see the videos, shoot me a message.  Happy to share or host, if it is of any value to someone.

By the way, i hpoe it goes without saying that i dont post these thinking they are anything more than what they are:  One small groups workflow that happens to get us through some specific needs.  They arent an end all solution for the industry, to be sure.  Having said that, please email if you ever want any of it explained.  The more people we push ahead, the better.
By the way- Here is a video from Youtube.  Its the Chrysler Motor Corporations full advertisement for the new Dodge Dart.  If you are in the US, youve probably seen this.  If you were at SolidCAD Uni, i played it at the beginning of the lecture.  While its entertaining, its also extremely relevant.  (The Finance Guys, and the Committees... Who are they to you?)
Have a laugh, but get inspired too... Even if its not that great of a car. :)

Saturday, October 6, 2012

The 2013 Deployment (Debacle?) Process

The Malleristic blog has gone unattended for quite some time, as this has been about the busiest year so far in my career.  I suppose that’s good and bad at the same time.  In the midst of that, two things were happening simultaneously:  A few months ago, Revit 2013 was released; we were planning to purchase 150 new computers for our users at The Beck Group.  Naturally, this meant timing a LOT of deployments, for all Autodesk Verticals: All three Revits, AutoCAD Architecture, two verticals of Navisworks, and two verticals of 3DSMax… All for 6 different offices.  Yes, the licensing Gods were not with us, or the BDS Ultimate cross grades.  Cest la vie.
While this was happening, I was also hard at work making some big changes to our Revit deployment structure, and it seemed like the right time to pull the trigger.  So- this post is:  What was required, and where did it have to go.  In addition, how the ‘PragmaticReviteer’ Deployment tools helped us get there.  You know I'm not much of one for Product Plugging, but the list of necessities for successful deployment was substantial, and this tool saved me hundreds of hours.  (I'm focusing on Revit 2013.  I’ll mention how I used the PR tools to deploy the others, but not about the specific changes to THEIR 2013 deployments.)
2013 saw more file structure changes to Revit, meaning things that control your software aren’t where they were.  Here are the ones I PERSONALLY deem critical for deployment.  Your mileage may vary.  I’ll list them all, then explain the “why do you care” then explain how the PR tools make more of this possible than a standard Adsk deployment. One asterisk (*) means it’s a file you place in the Autodesk deployment.  Two (**) means the PR Deployment Tools take care of it for you.  Three  (***) means it’s your choice (but unanimously the PR tools are more friendly.)  Ill save you my long winded thoughts on where you should store all these files in your library.
First, this list:
Revit.ini / inifile.xml*
Revit.ini / inifile.xml*- 2012 saw a shift from standard Text edited Revit.ini (which, in 2011, lived in the native Program Files/Revit Architecture 2012/Program directory) to the ini being seeded in UserProfile/AppData, but still from the Program Files directory.  2012 also so a shift, that we were now intended to edit an XML file called “inifile” instead of the INI itself.  The GOOD news about this, is it made things tremendously easier, if you had to support multiple verticals.  Well, in 2013, they recanted, and decided you could edit the ini text file again, and just append it in the deployment.  Direct support wasn’t give to editing the XML anymore, however Autodesk Revit Support was gracious enough to help me through it:  You CAN still use the XML.  (with 3 verticals * 6 offices, I wanted to reuse whatever I could.  One XML file creates ALL of the verticals deployments for a given location).  This XML goes INSIDE your deployment.  It lives in 3 locations (I thought it was 4, but I only have three).  Which one is the magic one?  No idea.  Replace all 3, and it works though.  Haha!
…\AdminImage\x64\RAC2013\Program Files\Autodesk\Root\Program\Setup\Cache\sfCache
…\AdminImage\x64\RAC2013\Program Files\Autodesk\Root\Program\Setup\Cache\sfRxCache

Why do you care?  Here is what is setup from our inifile.xml (each vertical can be configured differently in one file):
UI Colors (selection, etc)
Family Templates
Library Locations* (this can be done through Pragmatic Reviteer tools, which works better. I only put one place here in the xml, because you have to)
Project Paths (local files)
Project Templates (BTW... The syntax changed.  Again.  Sigh)
Allowance for Online content from Autodesk (ours is disabled)
Allowance for users to access Seek (ours is disabled)
Allowance for RSS feeds, email notifications, etc (ours is disabled)
UI changes, including press+Drag, and DisableMPPAutoApply (annoying accidental auto apply of the properties palette)
Next is Revit.exe.Config*.  This lives in your Program Files\Revit Architecture 2013\Program Directory.  This also ONLY matters if you are doing what I am with addins.  Once the API opened up in 2010, I began to get worried about the Black Hole of support that would be coming, and- sure enough- its starting.  So many addins are coming out, and people want them. Then updates and changes becomes a management sinkhole.  Well… You have options.  Installed typically, they sit on the users machines.  If you have robust SCCM support, or some other mechanism, you can auto-push updates to DLL’s on to machines.  We have it, but it’s still cumbersome.  So, we are putting all of the DLL’s (basically installing the addins) on the Beck Network.  We configure those Shares with Sync Center (formerly Offline Files in WinXP), so disconnected laptops still work.  In 2012, you could do this without any changes to the program.  In 2013 (thanks to .net4.0), you need to edit Revit.exe.config, to add the following line under the
    <loadFromRemoteSources enabled="true"/>

That enables addins to run from non-local places.  The end result?  The next time an addin sends an updated DLL, I replace one file on the network, instead of 150.  Everyone’s is updated, as they sync or work off the network.  NOTE:  Don’t forget to re-path the locations in your Manifest Files. Also don’t forget to Unblock the DLL’s when you copy them to your network.  By the way, this isn’t without side effects:
1.        Its not supported by Autodesk.  Their official policy is that you shouldn’t do this, and that you should all have SCCM or some other software copying things to local locations, for performance reasons.
2.       It DOES have a performance hit, but only on STARTING up Revit.  Our start times ARE slower.  From icon click, to Revit UI responsiveness (past the splash screen), we have 36 seconds.  I accept this, as its usually a once or twice a day occurance.  Responsiveness in the program is completely normal.
3.       You want to configure those networked resources with offline files, or they wont work when you’re offsite.
RSN.ini***.  The good news is, you only need this If you roll with Revit Server 2013.  It goes in ProgramData\Revit Server 2013\Config\.  It is a simple text file listing all of the Host servers on your RSN.  It needs to be there for the workstation to have access to the Revit Servers.  This file (I think) causes a lot of confusion for new Revit Server users:  When they try to connect, they “see” the servers but cant access them.  Well, you don’t really *see* them, this file just tells your machine to list them.  We have 5 offices, and we are using all five servers as Hosts and Accelerators now, so this file just lists all of our servers.  It **only** has to list the Hosts (formerly Central's).  So if you are hacking workstations in to local servers like we are, that doesn’t matter.  Getting it on the machines:  Supposedly the Deployment tool can do it, but gosh… It’s too complicated for my simple brain.  So I used the PR_Deployment Tools to put this on every machine in the office.  Didn’t even have to think twice.
Why do you care? If you aren’t using RS, you don’t.  If you are, because copying it around on to every machine is a pain in the ass if you have 150 machines. 
Next is the Materials debacle, and it’s a doozy.  The short version:  The Material Editor changed in 2013, and it morphed in to a raging piece of junk (my opinion).  HOWEVER, the UI of the material editor CAN be made to ALMOST resemble the one from 2012 (although not the nice one from 2011… But hope is on the Horizon).  Here is where that gets interesting:
MaterialUIconfig.xml:  This is a file that lives in C:\ProgramData\Autodesk\RAC 2013\UserDataCache.  That means it also gets copied in to the UserProfile’s Appdata\Roaming location, with the Revit.ini.  This, you CAN do with your deployment, by placing it in the UDC of the Adminimage, but since the PR tools help you in so many other ways, simplify your deployment and have the PR tools do it.
Why do you care? If you aren’t aware, this little file does a lot for you:
It saves the UI state of the Material Editor.  (Switch all the mat lists to text style, no rendered preview, open the Mat Editor and place it next to the Mat selector, then close it.  Then grab this file from your machine and everyone will see it that way by default.  If not?  They are in rendered preview hell.
ALSO, this file is HOW YOU DEPLOY with a NETWORKED OFFICE MATERIAL LIBRARY.  If you have started an .adsklib for your custom materials, load it on your machine in the mat editor.  Then grab the UIconfig.xml file, and place that in your deployment, and EVERYONE has your materials.  We discussed this in Harlan Brumm’s class at RTC, and I misspoke, as I thought it wasn’t possible.  Thanks to Gordon at Pragmatic Reviteer for setting me straight.
Now, if you are me (which you aren’t, and I'm sure that makes you happy) part of setting up the Material UI is GETTIGN RID OF the Autodesk Materials.  And guess what:  They made it harder and harder.  I'm not sure why ,they are bent on us using their overly generic materials.  Well here is the deal: 
PhysicalMaterial.adsklib- This is the autodesk materials that you want to vaporize.  Trouble is, this file doesn’t EXIST anywhere in the deployment, it is instantiated later. The Pragmatic Reviteer deployment tools, however, include an executable that is run post-deployment, to automatically go in and REPLACE this file with a blank variant.  That’s the ONLY way to get rid of the Adsk materials.  (Note:  I'm not talking about getting rid of the render images, or assets.  The overall MATERIALS for revit.  If you have your own, you don’t want users having single click access to these, and the new UI forces them in your face.)
AECMaterials.adsklib*** - These are the materials called AEC Materials, which you CAN replace in the deployment if you want to strip them out and put your own in… But since youre already using the PR tools (if youre me) its easier to not have to mess with the deployments.
Why do you care?  Maybe you don’t.  But trying to tag all materials intelligently, using QC approved terminology, and getting correct Quantities from the models, and such, I cant have random junk Materials showing up in Models just because they are easily accessible in the UI.  So they are removed.
And finally, there is User Data.
UniformatClassifications.txt- Now, this one is easy to take care of.  It goes in UDC and User App Data, with the other stuff above.  So you can handle it in the deployment, OR with the PR tools.  Since I have all three verticals to deploy, using one script to handle it, versus copying it in to all 18 deployments, was the way to go.
Word of warning:  We were years in the making, on pulling the trigger for this change, but it’s not something to take lightly.  You want to do it at a version change, and you want to make it a year you DON’T force project teams to upgrade.  Here is why:
1.        It involves opening every single file in your library, and redoing assembly codes for Every Family Type, in every file.  A family Type that has an old assembly code will still work, as long as no one goes in the type properties.  If they do, it will force them to pick a currently functional assembly code, or it will cancel their changes.  If your users don’t understand this, they’ll be lost. 
2.       A project upgraded from the last year, will have the old codes.  But since Revit 2013 will have the new text file, the problem above rears its ugly head, unless you keep switching text files in AppData.  Yikes.
Why do we care?  For us at The Beck Group, this file is paramount.  In the 2013 release, re completely rewrote out UniformatClassifications file, and completely discarded the Autodesk one.  This isn’t a slam on the adsk file, at all:  Our Timberline Cost Database is organized completely different, and in the shorter decimalized format (B1010.150 instead of the longer old format the Autodesk one is written in.  It was also organized differently (Autodesk’s has wall finish and backup in one assembly code, we itemize them out.)  So it’s a great change to make, as exporting data OR schedules from Revit can now be mapped easier.
KeyboardShortcuts.xml***- Obviously you know what this one does: it’s your keyboard shorties.  You can handle it in UDC, either within all of your deployments, or with the PR deployment tools.  But here is one more place where the PR deployment tools give a massive advantage over standard deploy:  You can tell it to GET the Shorties from the last version of Revit that’s CURRENTLY on the users machine.  That way, you aren’t just deploying the OFFICE standard, but that users.  I didn’t get to do this, since we were deploying brand new machines with new hard drives, but it’s a great feature.
Why do you care?  Because users don’t want to start over every year, making Keyboard Shorts.
You can visit Gordons site, to understand more about how it works, but the system gives you some other benefits which might seem small, but have pretty decent returns.
1.       Places (File open, save dialogues).  Of course we can handle this with the Revit.ini, and they end up underneath all of the standard Windows stuff (out of sight and sometimes out of mind).  The PR tools afford you the ability to place your libraries in the Places, but do so ABOVE the standard windows things. It’s a nice benefit.
2.       Desktop Cleanup and Taskbar Shortcuts.  Again, it’s a quickie, but I like that, since I place icons in the taskbar to let people know ive installed something new.
3.       Multiple Deployments.  This is where the rubber hits the road, for me.  The PR tool is a single click instantiation, to deploy whatever you have told it to deploy.  So with a single click on a Users Workstation, here is what happens at Beck, in order:
a.       Navisworks Simulate 2013, Navisworks Manage 2013, RAC2013, RME2013, RST 2013, ACA 2013, RACupdate1, RMEupdate1, RSTupdate1, 3dsmax 2013, 3dsmaxdesign 2013, all installed per deployments.
b.      Kiwicodes Family Browser installed and configured. Revit DB link, Model Review, eTransmit, hatch22, AaronsGETid, all installed.
c.       Revit Server Configured
d.      Comm Center disabled (bonus)
e.      Material issues Fixed.
Then the user logs in, and one final script runs (three minutes) that seeds their user data shortcuts, etc, and they are off to the races.
Obviously, for this to have a big time save, you need to disable UAC prompts temporarily through either Group Policy, SCCM, or using an elevated admin that isn’t subjected to UAC at all (even clicking OK).  If UAC prompts exist, you still need to be there to click OK, which is to be expected.  So we push the single script through SCCM, and UAC never pops up.  Literally, from home I can deploy every Autodesk Product and API addin (something we havent gotten from Autodesk yet, sigh), and be cooking dinner while 50 machines get 11 installs.
What does it take to use the Pragmatic Reviteer setup?  Well, there are some scripts to edit.  Here is the thing about that:  Writing code is the one class in I actually failed in school, and these are set up simply enough that I can handle it.  That means any of you can, without hesitation.
Here is what I suggest, though:  Sit and talk with Gordon while planning out your next deployment.  File locations, permissions, and access play an important role in this.  As his solution is new, 2013 was my first year using it, but I am CERTAIN our 2014 deployments will be seamless.  And ill remain ever optimistic that 2014 really delivers, to make up for this Material Editor. J  Check out his website, he’s got a lot of interesting solutions in the works.

Monday, July 2, 2012

The #Mallerisms, as heard at #RTCUSA / #RTCNA

(Long post, no pictures) While attending RTC North America, i had the privilege of teaching a couple of classes. Its always an honor to have anyone want to listen to whatever i have to say. Unfortunately, for the particular topic i had chosen, i knew coming out of the gate it was too long for the time slot i had, and in a moment of #Malleristiclogic (def: thoughts in a Maller that appear justifiable and sound from a logistical point of view, but are widely received as insane and/or ridiculously stupid to others (read: Normal People)), i decided to shotgun it and try getting through all of the material.

Side effect: I was talking in a pretty rapid fashion, instead of watching and remembering the script for my slides, and some #Mallerisms snuck out. After this started some conversations, i had to explain about the different #Mallerisms that i occasionally let fly, and so i promised a short list, along with the defining (and differentiating) characteristics. (References to Revit are similar to "lets use this in a sentence." Let it be known that i adore revit, so this is not to mock the product.

Lets do this:
1. #BagOfFail: A minor series of circumstance, in which failure is obvious because of poor planning but good intentions. Bag Of Fail is kind of what happens when Copy Monitor tries to rename grids, and you start at a grid who’s new name is already in use. It’s a Bag of Fail.

2. #BagOfDisaster: Bag of Fail, at a nuclear level. Honestly, you should have seen this shit coming. Your plan sucked. Really. Bag of Disaster is like: Using Split Face and Paint. (Scott Brown says "Friends dont let friends use SFAP...")

3. #BagofSmashedAss: This is the MOAB of Bag of Fail. When a BagofSmashedAss presents itself, i cant help but wonder if someone woke up and said "Hey, lets see how bad we can **** this situation up, hey! Here is an idea!"

4. #Failboat: The Failboat is the entire situation which results IN the Bag of_____ above. When someone asks you the one word question of "Failboat?" you politely ask: "Have you ever seen an entire boat of Fail, that didnt sink?" They cant say no, which means it is legitimate. That, folks, is Malleristic.

5. #DinosaurArms: When imitating people whos decisions are often present in a Failboat and are creating a Bagof_____, evidently my arms become locked: Elbows to waist, and they just wave around. I was told they look like little T-rex arms, so now when we are imitating people while telling Lessons learned, we have #DinosaurArms. Rawr. All up in this.

6. #Buttdyno: Its like when youre driving a Ford Fiesta but you think youre fast. You arent. So when youre working in a Model Group, and you think its small enough to be legit? Use the Butt Dyno. Yes, youve been working for an hour. No, you havent saved. The Buttdyno says youre in trouble.
7. #AssAche: Its really just less syllables for Pain in the Ass, right? Sometimes when i work with Stairs and Railings, i yell out what an assache it is. I cant afford the extra syllables, since im trying to efficiently model stairs and railings. (But if you took the class by 2*Manna's+D-Light, you can probably say PITA, since they made you better at Stairs than i am, thus you have more time. (I heard the class was sweet...)

8. And of course... #Screwtastrophe. Its the PG version of a similar word that is one letter shorter. A #screwtastrophe is the PLAN for the Failboat, resulting in the Bag of ______. Copy Monitor is definetely a screwtastrophe, but then again... So is playing VBall with sunglasses on your head, and so is swimming underwater in a 2 foot deep pool.... As i validated the night prior. So is.... Falling off the back side of the stage. It takes talent, to be that kind of a #Screwtastrophe. You get a PRIZE for that. =)

There you have it. If you hear a #Mallerism in the wild, be sure to post up. It catches, like a cold. Ive heard people in the office referencing Bag of Fail. Its the #VocabthatBIMBuilt.

#RTCUSA / #RTCNA (Revit Tech Conference 2012)

Most of us have made it back home by now, after attending the Revit Technology Conference North America, in Stone Mountain Georgia. Compared to other conferences i attend, what i enjoy the most about RTC is that since its a smaller occasion filled with the people pushing on Revit as hard as can be done, its a great venue to really have some serious conversations with those same folks.  That also means an elevated technical level, in many of the classes.  While i went in with that as my expectation, it was even more present than expected, in execution:  Some of the classes were simply badass, in what they showed off.

I have to say that my *only* regret, was that i didnt get in to ANY of Marcello Sgambelluri's classes this year:  Two were during my classes, and the third was during a class i have a pretty vested interest in (The Material Editor in 2013... and Props to Harlan Brumm for teaching it, that couldnt be a fun class to teach this year). (Also props to Marcello for teaching three!)  I heard nothing but amazing things, and if i could have cloned myself, id have been in all three.  Of course, if there were two of me at this conference, im pretty sure no one else would have stuck around.  Evidently one of me was enough.

I wont go classs by class, because pretty much everything i sat in was a great experience.  Scott Browns class on Interiors in Revit, however, was absolutely insane.
The conference itself... I tip my hat to the committee for what they set up for us. Perhaps a bit ironic that Bentley was the main sponser, but what the heck do i know about anything?  The fireside chat, with Dick Morley, was intense. Not intense like "woah, really?" but intense like:  "Yes, we have someone here who can talk about innovation in ANY dimension," and that really struck home with this being a "Revit" conference, and all the directions Revit can now push us in.  Awesome, for that.
The second night Bar B Que dinner was awesome, boat ride included.  No one can control the summers 105 degree heat, but it wasnt stopping this group (although we did assault the pool later, and the pool fought back).  When we ran out of tables, we converted the foyer fixture pieces in to one, and then it was on for some no holds barred (and no rules) beach volleyball.  John Tocci and i are now a part of the club called "hit in the face with a VBall by a fellow BIM-er."  In his defense, i was the one that hit him.  Oops. In defense of whoever hit me, well... I have a huge head and it was obviously in the way.  #Failboat.
The third day did not fail to raise the bar.  Again, amazing classes. (Even if i failed to make one while i tracked down my belongings...)  I said it on Saturday and ill say it again:  THIS is the conference and the group of speakers i want training every user i work with. 
Glorious Gadgets really DID show some interesting devices, and Desiree Mackey and I joined another club called "You get a nice tablet stylus as a present for being someone who FELL OFF STAGE while presenting."  That, encompassed with having to #dinosaurarms in front of everyone, and it was time for dinner (and a drink)!
The Gala dinner was great, (amazing conversations... You folks always inspire me), the Packway Handle Band had some entertaining Bluegrass for us (which i enjoyed.  The music was great, and if you dont think so, i support your right to be wrong!), and it was a perfect way to close the conference.  I also have to give a shoutout to @jakeberrettdj, Jake Stafford.  A few of us were lucky enough to have him fire up some tunes for us while kicking back after the Gala.  Two years in a row, #MusicByJake at RTC.  I hope thats a tradition we get to keep having. 
RTC is an event i happily attend running through a Saturday, and if it was a day longer running through Sunday... Id have been there too. The only bad part about the event is it has to end.  Until the next one!

Looking forward to the 2013 series, and im planning an honest attempt to make all three.

There was some serious camera equipment there, not counting mine.  Sadly, mine had the settings all jacked up from being in extreme daylight in Washington DC, on my way to RTC.  Still, i will post a link to a public folder, with the few pics that turned out alright, shortly.  See you all in Vancouver! (And Delft?)

EDIT:  My public pictures are HERE. They are mediocre at best, though. Darn camera settings!