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.

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.

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

Intolerance of Tolerances

In a recent LinkedIn post, the topic of Tolerance Stacking was brought up. I’m not a machine designer, but I’ve spent a lot of my past life in Manufacturing. In that world, the term was used frequently. If the term was used in Construction, it certainly wasn’t when I was listening.

Tolerance Stacking can be described (in my mind) as the accumulation of allowable tolerances to a point where the design is no longer suitable for it’s intended purpose. Errors resulting from Tolerance Stacking are caused by a few things…

  • Lack of tolerance awareness
  • Poor annotation and documentation of tolerances
  • Both of the above

Tolerance Stacking Explained

The best way to understand Tolerance Stacking is from a few examples. In our first example, we see a part 10 Units long with 9 holes, equally spaced 1 Unit apart. Take note of the RED dimension on the right.

10 Unit Long Part with 9 Holes Spaced 1 Unit apart

You may have seen parts dimensioned like this. Looks pretty normal. Now lets consider this same part and assume the dimensions have a tolerance of +/- 0.0625 (1/16 Inch). Now lets also assume that all the dimensions are in the negative -0.0625. The following graphic illustrates this condition. Again, notice the RED dimension on the right.

Tolerance Stacking using the an allowed -0.0625 on each dimension.

Is the overall length really have enough tolerance to compensate for the accumulation of those tolerances?

Now lets look at the same part, same tolerances but annotated/documented differently. It’s not as “pretty” and takes up a lot more real estate on your drawing.

Same part as before but dimensioned differently.

But lets look at that same -0.0625 extreme case tolerance in this scenario. Once again, keep an eye on that RED dimension to the right.

Using an alternate annotation approach solves the Tolerance Stacking problem.

This latest example solves the Tolerance Stacking issue by clearly outlining where the tolerances are allowed. In fact, in construction, we’re already doing this. We just don’t call it Tolerance Stacking.

In construction, one of the ways we eliminate Tolerance Stacking is by dimensioning to gridlines and columns. Dimensions in relation to known fixed points minimized Tolerance Stacking.

Are you old enough to remember when rafters were layed out by hand on the job site and cut individually? You would cut one and use it as a template and use that to mark the others. You never installed the template and used the next cut as your template for another. This minimized Tolerance Stacking as well.

Geometric Dimensioning and Tolerancing – GDT

What’s less familiar, is another concept used heavily in automotive and other precision manufacturing. It’s called Geometric Dimensioning & Tolerancing or “GDT” for short.

Traditional linear tolerances have flaws. GDT on the other hand more accurately describes “features” and allowable deviation from the desired location using a more complex form of graphics and symbols.

Once again, the best way to explain this is with some illustrations. The following example shows a square part with a hole in the middle. Pay close attention to the RED dimensions.

Top Left – Perfect Part (not real world)
Top Right – Hole moved 0.0625 to the right
Btm Left – Hole moved 0.0625 up
Btm Right – Hole moved 0.0625 in both directions

In this example, you see when the hole is moved to the maximum tolerance in both directions, it’s actually further away from it’s desired position than 0.0625.

This is where GDT comes in. In this last example, GDT is used to “Describe” the allowable deviation from it’s ideal position.

GDT can more accurately describe tolerances.

There’s actually an ASME Standard for GDT (Y14.5.2) and a full explination of GDT is not only beyond the scope of this blog but my knowledge, There’s a lot of courses out there specifically for this but a good “101” description can be found here.

Given trends in Prefab, Modularization, and Construction becoming more like Manufacturing….Makes you wonder….should there be a “GDT” style of documentation for construction?

ESTmep Cost Exposed in Revit

If you’re a user of ESTmep and Revit Fabrication parts, consider yourself warned. I’ve recently had some dialog with an industry colleague and the discussion of Cost data in Revit came up.

We know that that a Revit file which uses Fabrication Parts contains a copy of your Fabrication Configuration (Database). We also know that the Fabrication Extension for Revit now allows you to run reports. Those reports can also report on Cost data. That’s generally a good thing in most firms using ESTmep, exposing that Cost data to Revit users can be very helpful.

Now when you send someone your Revit model, they do NOT have access to your database (Unless you send that to them a well). Without your database, the Fabrication Add-In will not find the reports and the option is grayed out.

You also can’t change the configuration either because the drop down is disabled. They need your database to do anything….maybe.

So this sounds like we’re OK but let me assure you that’s not the case. Your database isn’t “available” to the person who had your Revit file but it is contained within the Revit file itself. And even though the Revit API’s don’t give you access to the costing data, it can be extracted.

I won’t go into details for the sake of security in our industry but rest assured, there is a process where as a user can extract your cost data. This includes being able to figure our your vendor pricing multipliers.

What To Do?

That leaves the question about what to do. Some may be familiar with the option in Edit Configuration that disables the storing of EST tables in DWG files. This has NO effect or control of Revit. Sure would be nice if it did nit that’s not the case.

So there’s really 2 options that I can see….

  1. Remove or Rename the COST.MAP, ETIMES.MAP, FTIMES.MAP and SUPPLIER.MAP tables from your database. These are where labor rates, times and costs are stored. Without these tables,, Revit can not store this information in the model. If you’re previously had a Revit model with this information saved, rename/remove the files and reload your configuration and the data will be removed. The down size is you’ll no longer be able to use ESTmep.
  2. Make a copy of your database without the COST.MAP, ETIMES.MAP, FTIMES.MAP and SUPPLIER.MAP tables and have Revit point to that. Each time you update your Fabrication database, you’ll need to refresh this copy. It’s fairly easy to script this process and have those files removed. The down side is you’ll no longer have access to Cost data in Revit but at least you can keep using ESTmep internally.

If you feel this is unacceptable, please submit a support ticket with Autodesk. The more people that raise the issue, the more likely that it will be addressed in a future release or update. To date, all they told me is the option I’ve outlined are the ONLY way to address the issue.

IT Hack Every BIM/CAM Manager Should Know

How many times have you had to reconfigure a system because a server changed? Remapped Drive letters? Links that used UNC paths? It’s downright annoying when IT needs to replace a server and it’s name is different. But it is understandable…systems get old and outdated and need upgrading or replacing.

What I don’t understand is why we use server names at all. Most Ethernet networks use IP addresses to route traffic, not server names. But nobody can ever remember all those numbers. When you type a server name, it pings the DNS server to locate the IP address of that server. Makes sense right.

But we don’t have to use server names…or IP addresses. DNS can be configured with a CNAME Alias (CNAME – Canonical Name). A CNAME Alias is just another human friendly piece of text that’s used to point to another Server Name, IP address or even another CNAME Alias.

What a CNAME Alias do for us?

To understand what a CNAME Alias can do for us, lets take the example of license server. All your client software points to the server name…let’s say is’s something like “P-LA-LIC01“. Now your IT rolls out a new server for licensing…it’s not going to be “P-LA-LIC02“. All your clients need to be updated to the new server name. Depending on the sophistication of your IT and the software they mightbe able to push an update. But more often than not, the local CAD/BIM Manager is left updating clients.

With a CNAME Alias, you could create a nice user friendly name like “ADSK-LICENSE“. All your software would use this name instead of the server name.

This CNAME Alias is setup on your DNS server. Most IT groups won’t give you access but if you know how it works, you can request and have them set it up for you. Just tell them you want a CNAME Alias named “ADSK-LICENSE” that points to “V-LA-LIC01(ADSK-LICENSE -> V-LA-LIC01). Now when you’re ready to cut you users over to the new license server, have them update the DNS record for the alias to the new server overnight. The next morning, everybody is pointed to the new server, no reconfiguration required.

If someone has left on their computer, they may need to reboot to see the changes. In the unlikely event is still doesn’t work, they can open a DOS prompt and flush the DNS cache with the command line “IPCONFIG /FLUSHDNS

Where does this work?

Just about where ever and ever where you would type a server name. You can make a drive letter using an Alias. You can use an Alias in a UNC path. We can even specify them to point to the IP address of network printer or other equipment.

The only real down side to using a CNAME Alias is that it doesn’t show up when browsing your network, But all things considered, that’s not a bad idea. If it were up to me, no user anywhere would ever know the names of the servers…only the Aliases. I really don’t know why this trick isn’t used more often. IT uses it for their own purposes, it just rarely gets implemented to affect the users. Using this approach, I’ve migrated hundreds of users in multiple locations to new servers with a 3 second DNS update in the evening. I suggest you give it a try.

Critical Update for Older Autodesk Products

If you’re using 2017 or older Autodesk products, your software may stop working on June 15th, 2019. Newer versions will continue to work but may have intermittent issues with any of their cloud related services. Exact services and product versions vary.

Many products and services use Transport Layer Security (TLS) 1.0/1.1. Due to known vulnerabilities, on June 15, 2019, Autodesk will be updating their systems to no longer support this protocol. This service is what’s used for Autodesk to determine your “Identity” when providing access to your products and services.

You can read more about the affected products and versions here. This article is specific to which older products will stop working completely. It does not cover newer products that have services which may stop working.

A fairly comprehensive description of the issue was also posted to the Autodesk forums. You can read it here…

What You Really Need to Know

This issue isn’t nearly as bad as it seems. Based on Autodesk’s information you only need to be concerned if…

  • Login access to use your core product will be affected subject to the following
    • You are NOT using Perpetual Licenses
    • You are NOT using Network (FlexLM) Licenses
    • Your product IS using Single User Subscription Licensing
    • Your product IS listed in the Knowledge Base Article
  • Newer products (2018-2020) Not mentioned in the Autodesk articles are also affected subject to the following….
    • Ancillary related services and newer products have their own security updates
    • Access to core product is Not an issue
    • Ancillary cloud connected services May be affected such as…
      • Revit Cloud Worksharing
      • Personal Accelerator (PAC) for Revit Cloud Worksharing
      • Communicator
      • Energy Analysis
      • Dynamo Package Search/Upload
      • P&ID Modeler
    • Licensing type of product does NOT matter

Most products have updates available however there are a few that do not. Autodesk Fabrication products in version 2014 or 2015 do not have updates. So unless you’re using those version with a Single User Subscription, you don’t need to worry. If you are using a product that does not have an update, you will need to upgrade to continue working.

Autodesk Product Install Order

Back in the day, I briefly worked for an Autodesk reseller. This particular reseller was classified as an “Education Reseller”. In short, this meant they were one of a few resellers that sold Autodesk products into the educational market (high schools, universities etc.).

As you can imagine, a school would likely have most of not all the products. Back then, Autodesk provided a complete list of all the products and their recommended install order. Fast forward to today, they’ve either gotten incredibly lazy or in all their massive layoffs over the years, the domain knowledge is gone. I suspect both.

Autodesk’s Recommendation

Take a look at Autodesk’s current recommended install order from this link. which was last updated 6/6/2018 at the time of this writing. In the event the link changes, here’s what they say…

What’s wrong is that they tell you within the same product year, the install order doesn’t matter. This is outright false for many reasons. They try to note a couple “exceptions” stating that if there’s any add-ins, the base product should be installed first. But which products have add-ins to what other products?

CADmep is obviously running on top of AutoCAD so AutoCAD should be installed first. That seems obvious. But Navis also installs Exporters depending which products it finds and it doesn’t always show up in an Add-ins tab. So this is less obvious. Buy there’s also other dependencies that are even more obscure. Should you install Revit or Inventor? Should either go before or after 3ds Max? This is less obvious to most users.

This is really why someone would ask that question. It’s a real dis-service then to start out telling them it doesn’t matter. In fact, it matters most of the time, and it doesn’t matter as the “Special consideration”.

Determining The Real Install Order

There’s a few ways to handle this. If you’ve been around a while and had one of the old “Design Suites”, install in the same order as the Design Suite did. But note that this did change between product years and types of Suites. Plant Deign Suite 2013 for instance installed Autodesk before Revit where as Building Design Suite 2016 installed Revit before AutoCAD.

One of the other ways is to look at the install media folders to see if you can find any dependencies. Take for example 3ds Max. Look in the x86 or x64 folders and you’ll see references to Revit and Inventor.

This means we should install Revit and Inventor before installing 3ds Max. But what if we’re using both Inventor and Revit? Which of those goes first?

You’ll see the RXI folder in the install files. Hard to tell what it is. When you drill into the folder, there’s just a single MSI. If you right-click on it and select Properties and do to the Details tab, you can see it’s Revit Interoperability for Revit. Other folders deeper in the structure also confirm this by their naming,

Based on this findings, it suggests installing Revit first so Inventor can see it and install the Interoperability tools.

Here’s My Order

So, if you’re an Autodesk Fabrication user, here’s what I typically do (and why)….

  1. Revit (doesn’t seem to depend on anything else)
  2. AutoCAD (I can’t find a dependency for AutoCAD. But anything with an Object Enabler will want it here and it’s a core product so as a matter of safety, I install it early just in case)
  3. AutoCAD based Verticals like MEP, Arch, etc. (These use AutoCAD as its core. I’ve not checked dependencies between verticals but it’s likely safe to install them in any order. I usually do Arch first if I’m going to include it as MEP is built on top of Arch but it’s really not needed as MEP installs what it needs)
  4. Inventor (because of the Revit dependency covered earlier)
  5. 3ds Max (because of the Revit/Inventor dependencies)
  6. Navis – Freedom/Simulate/Manage (Navis exporters only install for products already installed so we install this toward the end)
  7. Fabrication CADmep (allows CADmep Object Enablers to install for Acad, Navis, etc.)
  8. Fabrication – EST/CAM/etc. (order doesn’t matter)

If there’s anything on the list you don’t use, just skip it. If you happen to install Navis before some of the dependent products, just use “Add/Remove Programs” in Windows Control Panel to modify the install to include new exporters or download the Exporter installs separately from Autodesk’s web site.