From There to Here: Part 3
CAD Tools and Customization - Let’s make some stuff!
The whole organization was now using AutoCAD, although we had some parts of the organization using an older version of CAD due to some previous tools that were in the process of being ported to the newest version. We were all moving towards of AutoCAD 2010/2011 then as that was the latest version our license would allow us use of. And, we had a lot of trouble with that version of AutoCAD – it required hardware that our machines simply didn’t have and we really needed the use of a 64bit operating system (we were on 32bit Windows XP still but migrating to Windows 7 64BIT) and more memory. That taught us a valuable lesson:
- Spend money on good hardware, and stay up to date on your CAD versions. If you don’t, the ramifications of slowness, instability and difficulty to create customizations that are portable could potentially tank your efforts. The cost up front is nothing compared to the bad reputation that your product and team will get, and the users will step back to what they know and abandon your effort.
Luckily for us, we had the CAD standards effort and minimum requirements written in such a way that the users were expected to upgrade to the latest CAD versions, and there was executive level push to do things uniformly. The name of the game for the first part of the year was getting the latest version of AutoCAD we could get, installed on the most modern OS we could, with dedicated graphics cards and at least 8GB of memory. This was harder than it seemed because we had corporate leases and only one brand of machine to choose and other factors to contend with. Also, there was always the day to day first line support for CAD issues, DID issues, database issues, machine issues, and whatever else the users needed. Towards the middle of 2013 we had made enough headway and had enough information to start making tools and doing some configuration to help support our users and help them adapt to the new drafting standards. We started working on and/or revising several things at this point:
- We made a custom Titleblock tool using .NET that was invoked by AutoCAD command or by clicking a ‘Titleblock’ block in a drawing. This tool inserted a titleblock into the drawing(s) and provided a data entry form that not only helped the user make sure that the proper data was in the titleblock, but it also looked up information from DID and some other systems of record to properly link our drawings to our metadata. We made a version of this tool to provide to contractors outside of the organization so that they could download offline data exports and still ensure that they had the correct ID’s and data required to properly identify a drawing by its metadata. The tool also checked for old versions of the titleblock and purged them out of the drawing, as well as checking that the drawing and its metadata met the CAD standards, all the way down to external references and such. If the drawing was OK, the tool would create DWF and TIFF views of the drawings with the proper dimensions and drawing information so that they could be checked into DID correctly.
- We re-created a wireless point to point tool that was built for MEDUSA CAD as a .NET tool for AutoCAD. This tool allowed a user to click through a wiring diagram and annotate circuits very very quickly without having to manually create labels and annotations in the circuit block symbols.
- We created several LISP programs and dialogs/forms and features that were deployed in custom toolbars in AutoCAD so that users could easily and quickly setup the drawing to match our standards. The tools also put things on proper layers, setup line weights and such for 1 line and 3 line diagrams, created layers per discipline, and otherwise implemented those CAD standards for the user. All they had to do was click a few buttons and their drawing was ready to go, and it would look and feel the same across the whole organization.
- We created deployment scripts for all of our tools and set them up such that when we created new versions of the tool(s), they were automatically installed on a user’s machine when the system was rebooted. This helped us to make sure everyone had the latest bug fixes and standard implementations. We had to do this with batch files and scripting, because we are in the IT group, and we didn’t have access to enterprise level tools for deployment.
- We created some standard symbols and toolbars for certain common items that a user could reference to just drag and drop items into their drawings and quickly wire them together.
- We created several utilities .NET to do things like generate CSV files for wire labels based on the text in certain layers, rename all layers in certain drawings to other names, alter colors of all items to another color or label based on the state of the project the drawing was for, batch plot drawings to network printers/plotters, etc.
We created other tools as well as did some small updates to DID, mainly on the disaster recovery side and on the purchase and configuration of an old but reliable NAS device to quadruple our storage capacity and provide backup hardware in case the existing hardware failed. This absolutely saved our bacon on two separate occasions, because we had taken OS level backups of the hardware and mirrored it unto a ‘clone’ device that we could cut over to. That taught us another lesson:
- Always have a backup for your backup and think of/plan for the WORST POSSIBLE CASE when planning for document management and data access. The stress of recovery is far less than the stress of total data loss.
This took us into the 2014 time frame, and we picked up a few more team members who were extremely well versed in full stack programming and an excellent UNIX systems administrator. We also started hearing some stuff about new tools the users were interested in, and new products to explore.