Posts
House of BIM
Cancel

Using the Revit API's Idle Event

I’ve been digging into the Revit API a lot lately. I am not a Revit true-believer yet, but I give credit where its due and so far the Revit API has been quite impressive. It is lacking a lot of things, but generally you can work around them one way or another. One such pain that many of us encounter is a limited number of places you can actually do work. Which again, isn’t a big deal, but I do see a lot of people complaining about having super bloated idle events. I have no idea if someone else has a better way to solve this, but I for one hit the problem and went back to working on my long term goals 20 minutes later after coming up with the method I am presenting. So, maybe there is a better way running around, but since I keep seeing the same dialog, I thought I’d post how I chose to handle postable and/or modeless dialog command issues. It is a system that works pretty well for me because I can cue up stuff to happen, those things can do work, then cue up more stuff to happen an...

Revit Shortcuts for AutoCAD Users

This is something of a sensitive topic. A pure-Revit guy would consider this blasphemy, but for an AutoCAD user, what I have done could be a real blessing. From my perspective, if you have skills, then you should be able to use them and the design software should be a nearly irrelevant factor on whether or not you can competently coordinate a project. I fundamentally believe people should be enabled to work whatever way they can be the most productive and accurate. These philosophical principals are quite hard to pair with Revit, mostly because it is such a large deviation from the way many design software’s interact with their users. For us, we have been “waiting” for Revit to give us everything we need to do our jobs for many years and because of our desired dependency on generating 2D isometric fabrication drawings, I keep coming up with the same answer of: “its not ready yet”; which is still true… However, they have been progressively bridging the gap and they are most of the w...

HOB Lisp Explorer

Today I present another long awaited free utility that should help fellow lisper’s better utilize their Lisp libraries. For those of us who have have written many thousands of lines and often find it easier to start from scratch than locate something we worked on 2 or 3 years ago; this tool is for you! Although I would honestly recommend this tool to people who are trying to learn as well. I know the ability to quickly pull up a ton of practical usage examples on pretty much any function (depending on your library) would have certainly helped me a ton. So for newbs, I’d suggest you go download every free LSP you can find and just make a giant dumping ground and leverage this app to quickly find examples. Increase code recycling by locating existing work and gaining a clear understanding of everything that change would affect. Increase efficiency by quickly locating functional examples of any function you’ve previously used in your library. Provide filters that build upon eac...

New 2019 Autodesk Fabrication VLA Properties

We received a lot of important (albeit hidden) tools In the 2019 release of Fabrication/CADmep. Most notably with the object enabler. Even standard users have probably noticed new (important) properties like ItemSpoolName showing up in Navisworks. What may not have realized is that they made some important properties programmatically Read/Write. Until recently, the only property we could write to was the Notes property. Which I abused on an extremely disgusting level to pass information to and from COD scripts. While this was great, it was not ideal. In our workflows, we use a ton of custom data. So, Autodesk giving us Read/Write access to the entirety of our Custom Data from VLA is a very big deal. Quite literally the only thing I would actually care about, that wasn’t made writeable was “Status” and I hope they rectify that in the future. Currently, we can write to the Notes, ItemSpoolName and CustomData VLA properties. Again, for us the Custom Data was a huge deal. However, I w...

Navisworks to AutoCAD - an FBX Workaround and More

For anyone who uses AutoCAD (with or without one of its verticals) to create models on a BIM job, chances are high that you are also using Navisworks simultaneously to coordinate the 3D space with other trades. Chances are also just as high that you have needed to reference this Coordination model in AutoCAD in order to clear clashes, connect to points of use, utilize a shared hanger, or other various tasks that take place during the natural progression of a BIM job. The way we reference the Coordination model could be using the Cartesian coordinates (X, Y, Z) from the measure tools, Transforming an object to clear a clash and noting the (X, Y, Z) transform, or possibly exporting the geometry as an FBX and then importing it into AutoCAD (Functionality now removed from AutoCAD 2019). There is a Navisworks tool that can make referencing the coordination model in these three ways much faster and simpler. Navis to Acad The Navis to Acad app gives the user the ability to reference a Nav...

SharePoint Formula UDL for Notepad++

I still have a great lisp management tool coming, but lately I’ve been writing some very rigid SharePoint validation formulas and couldn’t find a good syntax highlighting utility. The closest thing I found was for Excel. Which is extremely similar, but it has 3-4x the number of functions that SharePoint does and I was generally looking for something more complete for my needs. So, I just made my own for Notepad++. I took it “all the way” and made the AutoComplete xml for it as well. See below for my recommended N++ settings on AutoComplete. All the way I really did… I read somewhere that Notepad++ could fail to load an autocomplete xml if the entries weren’t in alphabetic order. Once that notion was in my head, I lost all interest in “managing” that document as I needed particular functions and decided to just do all of them/get it over with. The result, just about everything except argument (long) descriptions were transposed from this link and some other stuff that oddly didn’t e...

Notepad++ UDL Highlighting for COD & DCL Languages

Dialog Control Language UDL We had a DLL AutoCAD command that we lost the code to quite some time ago and wanted to “update” its functionality. We could have done this through lisp quite easily, but there was one complex dialog associated with it. I’ve always hated the Dialog Control Language in AutoCAD, but it certainly does work after a lot of tinkering. Prior to attempting to rebuild that dialog, I decided it was past due to make a worthy editor. Super glad I did because it made the process of recreating the dialog surprisingly easy. With that said I hope this Notepad++ User Defined Language XML helps some other people out there as much as it did me. DCL is generally quite simplistic, but there are a couple of things you need to understand about why I highlighted a few things red. There are several tiles and properties that exist only for foundational building blocks and are documented as being illegal for public use. You can see examples of this if you go to your AutoCAD folder...

2019 Autocad - R.I.P. FBXIMPORT

Sorry to go fairly dark for a while, but  I think Andy said it best. “Being asked to accomplish seemingly impossible goals on a regular basis is just what we do, but these days it feels more like trying to rewrite the first 3 laws of physics”.  I am sure that isn’t an exact quote, but work has been so busy that it feels more accurate to me every day. Anyway, enough excuses and on to the topic. The 2019 release of AutoCAD seems like a nice stable release on the surface, but as you go about your daily routines you will quickly find a disappointing void in this version. For some odd reason, Autodesk decided that we didn’t need the ability to import the FBX file formats into AutoCAD anymore. Yes they actually removed the FBXIMPORT command! Consider me very confused because FBX exporting from Navisworks has been a true blessing, it’s literally crucial in the AR/VR markets and it has generally seemed like a growing influence within the industry. So, I am somewhat expecting the outcry to...

Adventures in Plant 3D Land: Automating Iso Messages

If you are an avid keyboard user like me, then you probably share my contempt for the developers choice of mandating a dialog prompt for text entry on Plant 3D IsoMessages. I know it was a constant irritation of mine years ago when I was first using P3D. Especially since there were so many logical applications for standardized notes that could be made if they would just let me. Maybe I’m a pessimist for having so little faith in people (and myself) to be consistent, but I do think my personal experiences easily justify my dismal expectations of typical users. Anyway, I recently had the misfortune of being subjected to that same anguish, but these days I am a much craftier automater. So, things have generally been going my way this time around and I will be talking about one of those many victories in this post. During the course of this current project I’ve unfortunately had to dive VERY deep into the Plant SDK. Which is an absolute labyrinth and thankfully I am finally “caching o...

Visualizing your data with S.tupid S.imple T.ables

More often that not I am usually trying to get data out of AutoCAD. However, over the years I have made lots of lisp routines that enhance or modify existing tables created by a piping software and in truth I’ve even lazily used the DATAEXTRACTION command as part of a manual 2D isometric programs BOM. I recently had an objective where I simply wanted to visualize a list of linear items into a very confined area of the title block. I could of prepopulated a table and deployed a modified version of previous work, but I figured it was about time I had the ability to make tables from scratch. In addition to that, I didn’t really find the data extraction functionality very capable of automatically moving up data into a new column from a linear list as needed. Between that and a desire to potentially recycle this for use with Object DBX tasks; the choice was clear. By keeping this simple, it does make it a requirement for you to setup your Table Styles in your templates ahead of time. It...