Digital Transformation for the Average Contractor (Part 1)

There’s a lot of buzzwords in the construction space. Digital Transformation…Industrialized Construction…Machine Learning….Generative Design…Augmented Reality…Drones…Robotics….and the list goes on. So what do you do? Today? Tomorrow? Next year? What actions do you take to prepare for a an unknown future? All while managing the challenges of your current projects, staff, backlog and cashflow.

I use the mechanical engineering/contracting industry in my examples. However the essence of what I’m about to say is applicable to almost any contractor. If you don’t have an unlimited budget, time and/or resources, knowing how to prepare for an uncertain future in the heat of battle can be alarming.

But it doesn’t have to be. You don’t need a crystal ball. You don’t need unlimited overhead and staff to properly prepare yourself and prevent yourself from becoming obsolete from business disruptors. What you need is a good plan. A plan that helps you understand what’s happening, why it’s happening and most importantly how to make the correct turns when you’re not sure exactly where you need to navigate.

The problem…

The contracting business is changing. This is creating a few big challenges to maintaining profitability and efficiency. To survive, we need to tackle these changes head on. Don’t worry, it’s not that hard.

What’s Driving This?

A lot of things are driving these changes, most of which can be grouped into one of two categories. The following lists outline some of the major trends and shifts occurring.

Current trends contributing to “Industrialized Construction”
“Technology Evolution” is driven by several changes.

If you look at any of these trends individually, that all seem obvious. Not only obvious, but it’s hard to argue that any of them are negative or harmful. In fact, they all seem like good things. And they are. But when they’re all happening in unison, all these “good things” are creating a lot of the problems the industry is currently experiencing.

The Chaos of Today

To help manage these disruptions, it’s helpful to understand what’s happening today. Below shows an example of today’s workflow. Most groups work in silos. As they work and create more data and information over the duration of a project, they start throwing it over the fence to others within an organization. Meanwhile, other parts or the organization throw data to them.

Existing project workflows…Separate groups and processes throwing data at each other.

For most this feels like we’re juggling a ball, an egg and a chainsaw. And while we’re juggling we’re also simultaneously in the middle of a game of dodgeball.

So what happens when…

  • We forget to throw data to others
  • Too much / too little information is thrown
  • We don’t catch data thrown to us
  • Too much / too little information is caught
  • We miss the catch or forget to throw
  • Information is caught or thrown early / late
  • We loose information
  • Information was unclear
  • We throw or catch data to fast / slow
  • Data is obsolete or unapproved
  • We get duplicate data

The Solution for Tomorrow

To combat these problems, we need a new process. The below is what we really want. A single stream of data everyone accesses. With this model, you don’t give anyone data, they inherently have access to the data you have which they need. It’s not a copy of the data or a report of the data. It’s access to the source data. Now, when someone needs information, they have access to it.

New project workflows…We all share in a pool of data.

Throughout the construction process, because our data is less fragmented, it’s easy to warehouse. This allows you to better inform design by pulling the historical data from the service group. Sales can now leverage this data to explain the lifecycle savings when your bid may be higher. In reality, any data from any phase can more readily be accessed from any other phase. Quality of the entire process improves when this happens.

A New Technology Stack

This “Future” process is very likely a utopian state we can never fully accomplish. At least not in our lifetime. But that doesn’t mean we can’t get closer. This doesn’t mean we can’t take a more thoughtful and meaningful approach to the solutions we use. The fact is we can. We may still have to use technology we would rather not. Things we can’t integrate as well as we’d like. But we can get closer.

The following are examples of a technology stack portfolio. Key technologies thoughtfully selected which form the backbone of your digital process.

Example of a “Microsoft / Autodesk” based Technology Stack.
Example of a “Trimble” based Technology Stack.

These are just two examples. You don’t have to follow these examples. Your technology stack may be mixed or match differently. You may even have different solutions than those shown in the example.

In these examples, we could use Building Data with Stratus, or Autodesk Fabrication with MSuite. Stratus and MSuite are both model based production management systems. They can both leverage your BIM platform and your BIM content and integrate with your company’s back end ERP system. For a mechanical (or electrical, general, etc.) contractor you can look at a more simplified representation below.

A good “Generic” Technology Stack Model.

Again, your model may differ. You may have two or three circles. The names in those circles may be different. But you shouldn’t have six or seven or twenty circles. It’s important that you put thought into how these systems can be used and work together. It’s also important that you understand their limitations.

This isn’t to say you don’t use a lot of additional applications. But they shouldn’t be major data stores without connectivity to some of the pillars in your technology stack. Ideally they’ll connect to one of the existing pillars but not be a major pillar in themselves.

Wrapup

This wasn’t really intended to be a roadmap. It’s more of a vision. Something you should be trying to achieve with careful thought and consideration. There’s no magic formula or combination. Nothing you should blindly copy and follow from others. Your technology stack needs to match your organization. The speed and effort to put it place based on your company culture and organizational readiness.

Regardless of how long it takes, the important thing is you’re working toward that vision. We don’t know what the future will bring in our industry. Some things will never change while others may abruptly disrupt your business. No matter what changes are forced upon you, the less impactful these changes will be the closer to this model you are. When required to, you’ll be better positions to respond in an agile manner.

In my next article, I’ll cover some things you can start doing right now that can help prepare you to implement this new model.

COD Script Updates – 2020.07.08

I’ve made a couple updates to the Autodesk Fabrication script libraries. If you use them, you can download updated versions from here.

Scripts have been updated to include the Connector Material property found on CID/Patterns 522, 1522 & 2512 as shown below…

This property is intended to be used by a connector to specify a alternate material the connector can connect to. This allows a coupling to connect to alternate materials such as with transition couplings.

Credit for discovering the COD function to extract this property goes to Liz Fong at MacDonald Miller Facility Solutions in Seattle, WA.

Note: This property has also been added to the list of COD Item Properties located here.

Scripts Updated

  • Debug Scripts
    • Debug ITEM Connectors.cod
  • Job Item Scripts
    • WriteAllConnectors (Job).cod
    • WriteAll_Props (Job).cod
  • Library Item Scripts
    • WriteAllConnectors (Library).cod
    • WriteAll_Props (Library).cod

Autodesk Fabrication: Best Practice #13

Use “Match by Name only” in Database Settings

Do you have issues with duplicate entries in your Fabrication Database? These could be proxy entries…those followed by text enclosed within {brackets}. Or they could be identical..if someone made the proxy item permanent,

This can be caused by using the Strict matching setting in your database setting. It’s recommended to use Match by Name only.

When you use Strict naming, when you open drawings or MAJ files, the database settings within those files are compared to those in your configuration. If the data is deemed relevant and it varies, even something as small as a number 3 decimals vs. 4 decimals can add another entry into your configuration.

When using Match by Name only, as long as the name (and group) matches, the entry is considered the same and you don’t end up with duplicate entries.

Fabrication Reference Data Updated for 2021 Versions

Autodesk Fabrication reference data has been updated to include 2021 versions of Autodesk Fabrication software.

Updated references include…

The only change I’ve found in from 2020 to 2021 versions is the CADmep command DWNLDC Command (DOWNLOADCONTENT Alias) is no longer present. This use to download ITM content from Autodesk’s www.Building3DContent.com site. This site is no longer active and Autodesk has included all the content within the default Imperial and Metric configurations that ship with Autodesk Fabrication Content.

User’s of Trimble’s Managed ITM Content (building-data.net) use to use this command as well. It was just redirected to the Building Data site. It’s unclear how this change will affect them as the core DLL’s used for this process appear to have been removed in 2021 versions of Autodesk Fabrication.

If you’re a user of Trimble’s Building-Data, I’d suggest contacting them for support if you have issues.

Autodesk Fabrication: Best Practice #12

Compress Fabrication Data Files.

Autodesk Fabrication configurations can Compress their data files. It’s a good idea to have this enabled. Not only does this make the files smaller and take up less space, it makes them faster to load. This increases your performance as the data is expanded in memory as opposed to read more data from disk.

You can enable this option in your database settings. Doing this does not automatically compress existing data that’s not already compressed. The following image shows a suggested sequence of operations. This would both enable compression and compress the existing data.

  1. First Enable Compression by selecting the Compress File to Save Disk Space toggle. Future writes to data tables will be compressed when if they are configured to.
  2. Next, enable the toggles for Compress Database Files (.MAP) and Compress Item Files (.ITM) options. This will tell Fabrication to Compress the existing Database and Item files. Also, “unselect” the Compress Jobs (.ESJ .MAJ) option.
  3. Click the Compress Now button. This compresses the Database and ITM files but will not scan your ESTmep and CAMduct job files.
  4. Once compressed, select the Compress Jobs (.ESJ .MAJ) option. This will compress all Future ESJ and MAJ files but not existing ones. If you wanted, you could have left that option selected in Step 2. However it would significantly increase the time it takes to perform the compression process. Because most of your ESJ and MAJ files are likely past jobs, there’s really no value in processing them now….but you could.
  5. Press the OK Button to save these settings.

Check Settings for Each Product, Version and User of Each Computer

You should also know that these settings are NOT saved in your configuration. The file that stores these settings is located here…

C:\Users\<user>\AppData\Local\Autodesk\Fabrication <version>\<product>\UserOpt.MAP

<user> = User's Windows Login Name
<version> = Autodesk product version. (e.g. 2018, 2019, 2020, etc.)
<product> = Autodesk Fabrication product (e.g. CADmep, ESTmep, CAMduct)

You can tell by the folders, that this setting is stored separately for each user on a computer. Because each product and each version is part of the path, those variations need to be set too.

Because Best Practice #9 tells you to use only one version for database administration, version may seem unimportant. But it IS important to know when you upgrade to a newer version for administration. Those versions should also have these settings reviewed.

Every user who does work in your database, should check each product and version for those settings. If they don’t, your work may compress files while their work may decompressed them.

Because clicking this just once makes it do it’s magic in your database, you don’t need to click the Compress Now button for each version, user, product or computer. The options merely need to be Set., telling those products what they should/should compressed or decompressed.

Revit Can’t See Fabrication Configuration

Every once and a while, a Fabrication Configuration can lose data or become corrupt which leaves Revit unable to access it. This after you’ve already been working in a model and using the configuration without issue.

When this happens, it’s likely a result of the Fabrication Configuration loosing it’s GUID or “Global Unique Identifier”. You really only notice when attempting to reload the configuration in one of your existing models. The error will look like the following image…

When you launch of the other Fabrication products (CADmep, ESTmep or CAMduct) you can view the data from the database editor. In the image below, you can see the data is missing.

Retrieving Lost Data

The good news is that you can the data back. For this, we’ll use Revit and Dynamo, Revit’s visual programming environment.

Start Revit and open up one of your existing project that already had a Fabrication Configuration loaded. From the Manage ribbon, click the Dynamo button.

Once in Dynamo, you’ll need to load a Fabrication Dynamo package. Click the Package menu to display the Online Package Search dialog. You’ll need to wait a little while for the dialog to populate. Once populated, you can type Fabrication in the search box. In the results, select the DynaFabrication2018 package. Next, click the down arrow button on the left to install it as shown in the following image…

Once installed, the dialog will show the loaded modules at the bottom. It should look like the following image…

After the Dynamo packages are installed, you can build a Dynamo program that will extract the needed data. But instead of walking you through that, simply download, unzip and open the Dynamo program I’ve already created.

One Dynamo program Get Missing Fabrication GUID.dyn is loaded, your Dynamo screen should look like the following image…

In the lower right corner, if the button says Manual click the Run button otherwise if it’s set to Automatic, the information you need is already populated. Record the data in the fields marked A, B & C. This is what you’ll enter back in the database.

Add Data Back to the Fabrication Configuration

Launch of one the Fabrication products (CADmep, ESTmep or CAMduct). In the database editor, enter the information from Dynamo into the fields marked A, B & C as shown below…

Exit the database editor and exit from the Fabrication product you launched. If you still have Revit/Dynamo loaded, close both. Now, relaunch Revit again and open the model you opened before.

When you go to reload the configuration again, Revit should successfully find and reload your configuration.

Autodesk Fabrication: Best Practice #11

Don’t use Commas (,) in Database Entry Names, ITM File Names, Don’t Use Them Anywhere.

Similar to Best Practice #1 (Don’t use Double Quotes), you should avoid using commas. Commas are the delimiting character in a CSV file. Using a comma can throw off the data columns in data exports that use the CSV file format.

Below, you can see Autodesk let a comma slip into a file name in their Metric Configuration.Yes – Ancillary in Ancillary Kit

Autodesk Fabrication Attacher Tips

CADmep, ESTmep and CAMduct all use the concept of an Attacher. This is what tells Fabrication which way to route elbows and branches.

Most people know how to place and rotate the Attacher. There are a few other tricks to working with the Attacher that you may not know about.

Up or Down, How to Get Around

Depending on your view orientation, you may notice part of the Attacher turns from Red to Blue or Green. As you rotate the Attacher it’s color will change to indicate the direction the arrow is pointing.

  • Green = Grass (Attacher is pointing away from you)
  • Blue = Sky (Attacher is pointing toward you)

Rotation Tricks

Depending oh which program you’re in (CADmep, ESTmep or CAMduct) and the keys you press, the Attacher rotates differently. Here’s a chart explaining those nuances.

RotationMethodCADmepESTmepCAMduct
90 Degrees CCWClickYesYesYes
90 Degrees CWShift+ClickNoYesYes
180 Degrees (Flip)Ctrl+ClickYesYesYes
15 Degrees CCWAlt+ClickYesNoNo

CADmep – Click Attacher to Rotate Counter Clockwise 90 Degrees

CADmep – Ctrl+Click Attacher to Rotate 180 Degrees (Flip)

CADmep – Alt+Click Attacher yo Rotate Counter Clockwise 15 Degrees

ESTmep / CAMduct – Click Attacher to Rotate Counter Clockwise 90 Degrees

ESTmep / CAMduct – Shift+Click Attacher to Rotate Clockwise 90 Degrees

ESTmep / CAMduct – Ctrl+Click to Rotate Attacher 180 Degrees (Flip)

Merging Autodesk Fabrication Databases (Method 4 of 4)

Warning: This is last part (4 of a 4) in a series on merging Autodesk Fabrication Databases. Autodesk Fabrication software is extremely powerful and flexible but that also makes it very fragile. Use the below guidance with caution. I highly recommend backing up your configuration before attempting anything I’ve recommended. It never hurts to have a firm grasp of how Autodesk Fabrication functions from an administrative perspective. Consider yourself warned!

Method 4: MERGEDB (CAMduct only)

This last method is very quick and powerful but only available in CAMduct. If you’re not a CAMduct user, simply download and install to perform this process while in the 30-day trail period.

This method doesn’t let you pick and choose individual database entries but you can pick certain database types and quickly merge all of them into a new configuration. Unlike prior methods were you typically started in the old Database to export an *.IOX / *.IEZ file or create a Proxy ITM first, in this process, you start with the database you want the items to be imported into.

In addition to make of the database entries Method 1 supported, this method also supports these additional entries.

CutoutsLeadsRates
FacingsMaterialsSilencers
Hanger SpecificationsNotchesVanes

To use this method, start CAMduct and type CTRL-SHIFT-C to display the command window as shown below.

From the command window, type MERGEDB and press <Enter>. This doesn’t do anything other than tell you the data the command needs as shown below. The Strict/Unstrict options tell the merge process if it should only look at the name or the data to determine if it’s duplicate. If you choose strict and the items are already in your database, something as simple as 3 vs 4 digits after a decimal will cause a duplicate entry. In most cases, unstrict is all that’s required.

For this example, we’ll type MERGEDB UNSTRICT NOTCHES to import all the notches from one database to another as shown below.

When you press enter, you’re prompted to select a folder. You should select the Database folder of the old database you want to merge into your current database.

If new items are found, you’ll be notified and prompted if you want to save the changes or not.

Upon completion of the merge, you’ll need to go to those items in your database and make permanent any you intend to keep and remove those you didn’t want.

Pros:
> Only way to import some database entry type.
> Easiest way to merge the bulk of 2 database together.
> Extremely fast and efficient.
Cons:
> Requires CAMduct.
> Can not pick and choose database entries, only database types.
> Requires post merge cleanup of deletion or making entries permanent

Merging Autodesk Fabrication Databases (Method 3 of 4)

Warning: This is Part 3 of a 4 part series on merging Autodesk Fabrication Databases. Autodesk Fabrication software is extremely powerful and flexible but that also makes it very fragile. Use the below guidance with caution. I highly recommend backing up your configuration before attempting anything I’ve recommended. It never hurts to have a firm grasp of how Autodesk Fabrication functions from an administrative perspective. Consider yourself warned!

Method 3: Service Export/Import

This method is very similar to Method 2 above except that it works on a full service and all the items within it’s service template. If you have an existing service you want to post from one Database to another, this is a great method. Even if you just have a library of multiple ITM’s, it’s very common to create a transport service. That service holds those ITM’s and can be used as a means to get ITM’s from one database to another. Here are the steps.

From CADmep, type EXPORTSYS at the command line or in ESTmep or CAMduct, while in the Takeoff screen, select Takeoff -> Services -> Export as shown below…

This displays the Export Systems dialog. Use the Browse button to select the location and name of the *.IEZ export file. Select the service(s) you wish to export and click the Export button.

Importing is a similar process. Type IMPORTSYS from CADmep or from the Takeoff screen in ESTmep or CAMduct, select Takeoff -> Services -> Import as shown below…

You are prompted to select an *.IEZ file for import. The file will be read and display all the services that were exported. Select those you want to import and click Import.

Because IEZ imports can contain a lot of data, it’s likely you may have a lot of duplicates. Upon import, you are prompted if you’d like to Import ALL or NEWER item. Select as appropriate for your situation as shown below.

If Estimating data is found, you are also prompted to Replace or Keep existing tables. Because the database you are importing to is likely your current desired database, I’d recommend to Keep existing tables and only Replace if you intend to bring over labor and cost data in the Import. Once again, choose the option that best suits your needs as shown below.

Like in Method 1 earlier, if the import finds a service or template it thinks is the same, it’ll prompt you how to proceed. I highly recommend NOT selecting the “….To All” options as it’s common for the database index to cause false matches and mislead you.

You are prompted once the import is complete. As with Method 2, if ITM’s imported through this process contain new database entries, you’ll need to find those and make them permanent in a similar way.

Pros:
> Easiest way to import large numbers if ITM’s and their related database entries.
> Easy way to import Services and Service Templates
Cons:
> Slowest of all process do to all the verification the Import process needs to do.
> Can Import a lot more data than you intend.
> Can not pick and choose individual database entries to import

Stay tuned for Method 4 in my next and last post in this series.