Autodesk Fabrication: Connector Matching – The Feature Nobody Knows About & Why You Should Use It.

Do you know what ‘Connector Matching’ is as it relates to Autodesk Fabrication? It’s been in the product since the 2020 release. Yet most people I run into have no clue what it is.

There’s a good reason for that. It’s hidden from view. That is to say, there’s a good reason you don’ know about it. There’s no good reason it’s hidden from you besides Autodesk is pretty slopping (lazy?) when it comes to product design in recent years.

What is Connector Matching?

Connector Matching only works in Revit w/Fabrication Parts. If you’re not using Revit, you need not worry about it but setting it up won’t cause any issues either. It’s designed to place a matching connector on pipe after you cut in a fitting when modeling in Revit. CADmep, ESTmep and CAMduct will simply ignore the settings.

As an example, if you’re drawing a welded piping system and want to break it with a Grooved coupling, Connector Matching places the proper grooved connector on the end of the pipe when the Coupling is placed. This helps us build a system with Welded Pipe Spools that’s assembled in the field with Grooved Couplings…a very common activity in mechanical construction.

When Connector Matching isn’t configured, you’ll have issues cutting in things like a Grooved Coupling into a Pipe that’s part of a welded system.

Configuring Connector Matching

The reason many don’t know about connector matching is because it’s hidden. None of the 3 views (Manufacturing, Costing & Drawing) display this option.

To set Connector Matching, you Right-Click on a connector that’s configured for the Item you need to match. In this case, it’s a Victaulic 77 Coupling.

You can see the Matching Connector is set to “Same” by default. That’s certainly not what we need so select that menu option.

You can see now the Matching Connector is set to a Grooved Connector. So every time an Item with the “VIC_Coupling 77” connector is cut into a piece of pipe, the pipe will get a “VIC_Groove” connector.

Added Configuration to Make it Work

Above, you set the matching connector. Unfortunately, that’s not enough. There’s some added configuration to verify to ensure that it works.

One of the requirements of Connector Matching is to make sure the Pipe’s Connectors are NOT locked and defaulted to the connectors they should use. In other words, ‘Set’ but not ‘Locked’.

Here’s what your Pipe ITM most likely looks like…

What I recommend here is, Unlocking only 1 of the Connectors and Clicking OK. After you do that, go back and edit the ITM again and take a look at the Connectors.

You can see here that after Unlocking one of the Connectors and Clicking OK, going back to edit the ITM the Connector changed to “None”. This is a tell tale sign that there’s yet another thing you have to change to make it work.

In some Configurations, people have the Specification set to drive the Connectors. This is most commonly done for Sheetmetal but you see it in Piping as well. In the following image, the Piping Specification is configured to set the Connector to “None”.

What we need to do here is set the Connectors in the Breakpoints to “Not Used”. Note, if the Connector you unlocked earlier didn’t change to something other that what it was, you most likely don’t have this issue but still could…it could just be configured to use the Connector the ITM was set to.

You might have to hunt around for which settings apply. It could be on the ‘Any’ material or a specific material the ITM is using. The ‘Valid For’ could have it in ‘All Types’ or ‘Straights Only’. It’s possible too that you don’t have any breakpoints in the Specification at all. If that’s the case, then your Specification is likely already good. But if it’s not, simply ensure the Connectors are all set to “Not Used”.

Once your Specification is setup correctly (if it was a problem in the first place) you can go back to your ITM for the pipe and unlock both connectors but leave them set to the Connector it typically uses.

Once everything is set properly, Revit will then let your Grooved Coupling be placed in the run of pipe.

If you Double-Click on one of the pieces of pipe, you can see the Connectors are now set to a Groove for the end where the Coupling is.

A Final Word

Note that these settings were added in 2020. If you’ve had your Database configuration a long time, they’re likely not set. Even Autodesk’s ‘Out of the Box’ configurations that shipped with 2024 don’t have these set. So you’re pretty much on your own to make it work.

If you do ANY Administration of your Database Configuration in 2019 or earlier, these settings will be lost. As I’ve advised many times earlier, pick a version for Administration and stick to it. If you have Admin permissions and use 2019 or earlier, all those settings get lost and because they’re not displayed, you won’t really know.

You can use these settings for all kinds of things. They don’t have to be limited to Grooved Couplings. Changing the end of Steel pipe to Threaded when Cutting in a Threaded Coupling, Threaded Adaptor, Threated Tee, Threaded Valve, etc. All of these things should have their connectors looked at and Matching setup. Just about any of those types of fittings in all materials should have Matching set.

Hope this helps improve your Revit workflow.

Fabrication Parts – Riser Clamps in Revit (Problems & Solutions)

I run into a number of people who have had problems with Riser Clamps and Revit Fabrication Parts. I have as well. Here’s how you can work around them…fairly easily.

Problem #1 – Clamp Will Not Attach to Vertical Riser

The first problem I see is with Riser Clamps not attaching to vertical pipe. I’ve seen some creative workarounds. From just placing a clamp in space and moving it to near where it should be to using a modified form of a Grooved Coupling pattern. The following video shows what that would look like if you have this issue.

The fix for this issue is fairly simple. First, make sure you’re using Pattern Number (CID) 838. This is the original Hanger pattern that will allow you to make just about any hanger. Secondly, ensure that you select the ‘Slide‘ option on the pattern.

This is the ONLY Hanger option that will work for vertically oriented pipe.

Once you use the proper option, you can observe that a Riser Clamp will attach to the vertical pipe. This can be seen in the following video.

The second Riser Clamp’s configuration uses the ‘Slide’ option. This allows us to attach it to vertical pipe. This sets us up well for the next issue….oversizing.

Issue #2 – Oversized Riser Clamps

The second issue is that if you set your Insulation Specification’s material to Oversize Hangers, the Riser Clamp will also oversize. This isn’t something you do with a Riser Clamp. Many of us have brought this issue to Autodesk on several occasions, yet they seem to struggle with understanding of our need for an option in this pattern to “ignore” oversize.

Luckily, with a little added work and user intervention, we can work around this. To resolve the issue, create a secondary Riser Insulation Specification with a material that does not oversize hangers.

To do this, you’ll need a duplicate of your Insulation Material. In the image below, we configure the insulation on the right not to oversize for systems where we do not require thermal pipe inserts.

Once you have a secondary Insulation material, you can create the Insulation Specification for the Riser.

Now, all you need to do is override the Insulation Specification on the Riser (vertical pipe) before placing the Riser Clamp. You can see this in the following video.

You can see how the vertical pipe get’s a pipe sized Clamp, where as the horizontal pipe will still oversize because we didn’t change it’s insulation specification.

I’d like to thank Kevin Allen and William Tucker of Comfort Systems USA for pointing out this embarrassingly simple workaround for Insulation Specification that seemed to escaped me.

Retaining Customization During Upgrades

One of the more annoying things users find with upgrading Autodesk Fabrication is losing their customizations. Things like column configurations in the old version do not magically appear in the new version.

But this problem is actually fairly solvable. You just need to know where to look. And those settings are located in a local folder on your system. They’re USER specific….VERSION specific and PRODUCT specific. Here’s where you’re going to look…

C:\Users\<UserName>dyoung\AppData\Local\Autodesk\Fabrication <Version>\<Product>

Each user will have a folder for the version and product they’re using. If the Version/Product isn’t there, that means the product is not installed or that combination of Version and Product was not run yet.

So as an example, if you’re using ESTmep 2021 and have your columns all configured, you’ll find that folder. But if you just installed 2024 and not run it yet, ESTmep 2024’s folder may not be there. If it is, the settings will not be the same.

In our theoretical example of upgrading from ESTmep 2021 to ESTmep 2024, you’ll copy the folder/contents from 2021 into 2024. If the ESTmep folder doesn’t exist in 2024, just copy the entire folder.

You can even copy the contents of ESTmep to the CAMduct folder. This would make the column configurations the same for those two product to be the same. You can also copy a product version from one user to another user. Either on the same computer or a complete different computer.

The folders may have different numbers of file between them. They control different things. The lack of a particular file within the Product folder means a particular feature wasn’t customized.

You could play around using trial and error and see exactly which file controls which settings. But I’ve personally not found that to be worth the effort. I just copy them all so I know that my new install is the same as the prior.

Another thing I usually recommend to people upgrading, is find the person who’s settings you want to use. Save those folders somewhere on the network for easy access. When you install/upgrade other users, copy them from the network local to the person you’re setting up.

Using this technique, you can easily keep your Fabrication product customizations consistent…version to version, product to product, user to user and computer to computer.

Fabrication References – 2024 Update

Fabrication 2024 is out. I’ve updated all the reference information to include 2024 formats. As has been the trend the last few years, little has changed. Summary below…

Takeoff One of Every Size in Product List

I’m occasionally asked how one would add one of every size in a product list to their job. This very easy using ESTmep or CAMduct. CADmep however does not have this capability.

Here are the steps….

Step 1:
Start ESTmep / CAMduct with a blank job.

Step 2:
Go to Item Folders and navigate to the folder with the ITM(s) you wish to takeoff all sizes for. Select all the ITM’s and press CTRL+SHIFT+Right-Click and select Takeoff All Product Sizes.

Step 3:
Go back to the Items tab and review all the sizes of each item you selected.

Why Would You Do This?

There’s several reasons this may be helpful to you.

  • Any Size with dimensional errors is quickly found
  • A simple report shows you where you may have holes in your data (Price, Labor, Product Info, etc.)
  • Produce a quick MAJ that can be opened in CADmep (OpenJob) to measure each size to ensure dimensional accuracy.

If the option is grayed out/disabled, you’re one or more of the ITM’s in your selection is NOT Product Listed. For this to work, all items you’ve selected must be Product Listed.

Reducing Autodesk Licensing Costs By 30%

Autodesk has undergone numerous modifications to its licensing models over the years, leading to increased costs for customers. However, there are now three new developments that make it easier to reduce licensing costs, especially for those who previously used Network licenses. These developments are:

  1. The elimination of FlexLM Network Licensing
  2. The introduction of a new, consumption-based Flex Licensing
  3. The integration of analytics into the Account Management Portal

By leveraging these changes, it is now possible to reduce licensing costs in a more cost-effective manner. Let’s take a closer look at each of these developments and understand the opportunities they provide. Numerous customers have reported savings of up to 30% on their renewals by implementing these concepts.

1) FlexLM Elimination

Autodesk made changes to its licensing model with the elimination of FlexLM Network licensing, offering a 2-for-1 trade-in of existing network seats to named user licenses. This resulted in reduced visibility on individual software usage and, in some cases, caused customers to become over-licensed. The absence of clear usage information prompted customers to purchase additional seats at full cost as they expanded their staff, leading to the likelihood of customers with large pools of network licenses having more licenses than necessary.

2) Rollout of ‘Flex’ Token Consumption Licenses

Autodesk introduced Flex licensing as a replacement for FlexLM. With this model, you buy a volume of tokens. Each product has a set token cost. Usage consumes tokens per day per user per product. The same person can use different versions of the same product or a different computer without consuming additional tokens. Only using a different product or on a different day will result in additional token consumption. No cost is incurred if the product is not used. This licensing model is more cost-effective than full-cost assigned licenses for part-time users, although less flexible than previous network licensing.

3) Usage Analytics

Autodesk recently made license usage analytics available to all customers, not just those with Premium Support. These analytics let you monitor how your Autodesk licenses are being used among your users. Although they may not have the same level of data accuracy as FlexLM, they still provide valuable information to help you determine if the Flex Licensing model is more cost-effective for a user compared to a dedicated named user license.

Analyzing Your Usage To Achieve Savings

Autodesk offers tools to calculate the number of Flex Token needed and understand token consumption rates. Check out the resource pages at and

However, to effectively compare costs with named license products, you need to consider the usage mix of products in a Collection. The Autodesk Management Portal’s Usage Reporting displays product usage but can be difficult to understand with a mix of products used by the same user. Some resellers offer PowerBI reports but still face the same challenge.

A better approach is to examine past usage and assign a theoretical cost under Flex licensing. You can easily compare this number to a named user license to determine what’s best for a given user.

I’ll share a simplified process. Those with basic Excel knowledge should be able to perform the analysis. For more detailed instructions and an opportunity to learn something new, I’ll also provide a step-by-step guide using Excel’s Power Query feature. There are various methods to gather the data, but many Excel users are unfamiliar with Power Query. I suggest giving it a try, as it quickly streamlines data collection with a short learning curve. Plus, using Power Query, you can easily update source data for instant updates.

Analysis Steps – High Level

To perform an analysis, here are the high-level steps to follow:

  1. Get a Usage report from Autodesk’s Management portal, selecting the option that reports daily usage for users over the entire last year.
  2. Open the report in Excel, remove unwanted columns and keep only the user’s name/email, product, date of usage.
  3. In another tab, create a Rate Sheet using the data from Autodesk’s website, including the product, number of tokens and daily cost.
  4. In the Rate Sheet tab, search and replace extra data in the daily cost column to leave only the dollar amount.
  5. In the Usage tab, add two columns for the number of tokens and cost.
  6. Use VLOOKUP to find the product in the Rate Sheet and import the related data into these columns.
  7. Create a Pivot table and adjust the data fields to display total cost for each user.
  8. Compare the “theoretical” Flex cost with the cost of a full license for easy evaluation.

That’s it. You can ow see which users are “Cheaper” under Flex than the cost of a dedicated named license.

Analysis Step – Detailed w/Excel Power Query

If you want to learn Excel’s PowerQuery or have a more detailed explanation, this section is for you…

Step 1

Go to your Autodesk Account Management portal. Here you’ll see Usage Reporting (A) if you’re an Account Admin. You’ll want to change the duration for the full year (C) and make sure you’re looking at the correct Team (B). This then displays high level stats and more detailed drill down information further below. Click the Export button (D) to export usage data.

Step 2

When you get to the Export page, you’ll see there’s a report being generated automatically. This is the with “Usage Report” in the category. You do NOT want this report. This is a summary report. Instead, you’ll want to use the options at the top of the page and generate a ‘Usage’ report. If you select all options, you’re report will say “All” although for this purpose, those other data points aren’t needed.

Download this report when it’s finished generating.

Note, you can get to this Export page from the “By Product” section too.

Step 3

Start Excel and create a new Spreadsheet in the same place you downloaded your usage report. In the new spreadsheet, create a Token Rate sheet consisting of the product name, number of tokens and daily cost. You can copy and paste this from Autodesk’s site linked earlier. Clean up the data and rename the spreadsheet tab something meaningful. When you’re done, it should look something like this.

Step 4

Now we’re going to use Excel’s Power Query functionality to merge in our exported data. The benefit of doing it this way is that you can replace your export later with new data and not have to do all these steps. It’s merely referenced into the Spreadsheet you’re working in. Select Data (1), Get Data (2), From File (3) then From Excel Workbook (4).

Step 5

Select your usage report that you downloaded from Autodesk (1) then click Import.

Step 6

Next, Excel will examine your spreadsheet for data sources. Select the “Usage” Tab (not Users) and click “Transform Data“.

Step 7

This brings up the Power Query Editor. Here’s where Power Query makes it very easy to clean and scrub your data step by step so you don’t have to alter the source data. This means you an update your source data anytime, and Power Query will perform the same cleaning steps.

Step 8

Next, we’ll start removing columns we don’t want. Right-Click on the header of the first column and select Remove to remove that column. You’ll notice on the list of steps on the right, there’s another entry added.

Step 9

When your done, you should have only the following columns remaining…“first_name”, “last_name”, “email”, “product_name” and “day_used”. We could go further, but for now, let’s see what this looks like. Click Close & Load to import this cleaned up data into your Excel Spreadsheet.

Step 10

Excel closes the Power Query editor and loads your cleaned up data into your spreadsheet. It’s not actually “in” your spreadsheet, it’s referenced from the usage report you downloaded from Autodesk and Power Query cleaned and filtered it before displaying it. You could replace the usage report 2 months later with newer data and this spreadsheet can then be refreshed to show you the latest information.

Next, we’ll add a few more columns. To get back to the Power Query Editor, Right-Click on the Connection in the palette on the right and select Edit.

Step 11

The first column we’re going to add is one that concatenates the “first_name”, “last_name” and “email” fields together. This isn’t really needed, but I like to see both the name and email. This will help combine them in the Pivot table we create later. The name is helpful to know who the user is, but Autodesk accounts done times it’s easier to use the email. That’s why I use both. Especially if your company’s email format only includes the first letter of a name.

To start this process, select Add Column, Column From Examples then From Selection.

Step 12

In this step, select the columns you want to combine. Here it’s “first_name” (1), “last_name” (2) and “email” (3). This tells Power Query which columns you’re going to pull from. Next, Double-Click on the header of the new column on the right (4) and edit the column’s name to “user_data”. Next, Double-Click the first open cell below that header (5) and start typing an example of how you want the data to look. Here, I type “Emma Thompson /”. Power Query is looking at the columns I selected earlier and the example text I typed to determine which fields to combine along with any extra data like the space or slash I’m using for formatting. Next, press Control-Enter to fill the examples in the rest of the cells. Once complete, click Ok (6) to insert the new column.

Step 13

You’ll see the column added to the Power Query Editor. Next, let’s load that back into Excel. Click Home then Close and Load to load this query into Excel.

Step 14

Now that you’re back in Excel, you can see the data column that was added. Your source data however is not altered. Next, we’ll need to create another query for our Rate Sheet tab. This is just raw data. It’s not intelligent so we’ll make a query of it to give us more power.

To do this, we’ll make it a Table so Power Query can more intelligently pull data from it. Select the Rate Sheet tab (1) in your spreadsheet. Next, Click Insert (2) then Table (3). Excel should find all the data in the sheet and automatically enter the range into the popup dialog when you can click OK,

Step 15

Excel turns your data into a Table which is a more intelligent object. From here, we’ll rename the table to something more intuitive. Click Table Design (1) then in the Table Name edit box, type “RateSheet”.

Step 16

Next, let’s make a new query of this table. Select Data (1), Get Data (2), From Other Sources (3) then From Table/Range.

Step 17

You’ll see Power Query brings in this table into the editor. Notice on the left in the Query palette the name RateSheet. This was a result of renaming the Table earlier otherwise you would have had a generic name that wasn’t as intuitive. You can rename Tables later but Power Query doesn’t see those renames and it’ll break your query.

We really don’t need to do anything with this query on the RateSheet. It’s there really for the next step where we merge those two queries together. Right-Click (1) on an open area of the Query palette. Select New Query (2), Combine (3) then Merge Queries as New (4).

Step 18

From the merge dialog, select Usage (1) in the first dropdown list. Next, select the product_name (2) column. This is the data we’re going to use to lookup in the RateSheet. Next, select RateSheet (3) in the dropdown list and then the Product (4) column. Finally, we’ll tell it how to merge the tables by selecting Left Outer (all from first, matching from second) in the Join Kind dropdown list. Once everything is configured, Click OK (6).

Step 19

If you scroll to the right (1) you’ll see the new column we added from the merge. On the left, Right-Click on the Merge# query and rename it to PivotData (2) so it’s more meaningful. Next, select the newly added column RateSheet (3). You’ll see that the data in the cells says “Table”. This merged in the entire row into a single table in that column. We want access to that data so it’s expend it by selecting Transform (4) and then Expand (5).

Step 20

You’ll get a dialog asking which columns you want to expand out of that table. We’ll unselect Product (1) because we already have that in the usage data. We’ll leave Tokens (1) and Price (1). Clear the RateSheet text from the Defsult column name prefix (2) edit box than click OK.

Step 21

You can now see the Tokens and Price columns added to this query. This really just looked up the value in the product_name column in the Usage query, found the corresponding value on the Product column of the RateSheet query and pulled in it’s Token and Price data.

Step 22

Next, we no longer need some of the columns. Scroll to the left (1) and right click on the first_name (2) column and select Remove. Repeat for the last_name and email columns to remove them. This will clean up the data out Pivot table will use.

Step 23

We’re finally done cleaning, filtering and augmenting our data. Let’s click the Home tab (1) and then Close & Load.

Step 24

We’re now back in Excel and our last two queries were added as separate tabs. You’ll see that we have a tab named RateSheet (no space) and Rate Sheet (with space). The one with the space was our original data we turned into a table. The one without the space is our query of that original. In hind sight, we perhaps could have named it RateQuery to make it more intuitive. You could try to rename it now and see if it breaks your queries. If it does, you could try fixing or deleting and doing them over. Or you could leave it which is what I’ll do.

We’ll hide the unneeded tabs by using Right-Click and selecting Hide for the table Rate Sheet (1), RateSheet (2) and Usage (3). Next, we’ll make out Pivot Table be selecting Insert (4) then Recommended Pivot Tables (5).

Step 25

In the Recommended Pivot Tables dialog, you can scroll through and pick one that looks close. I rarely do that. Instead I just pick one and worry about modifying it later. Here I pick the first one (1) and then click OK.

Step 26

Here, you can see out beginning Pivot Table. It’s not too far off but we can improve it. For now, we’ll just rename that Sheet1 tab to something more meaningful like Analysis Pivot by right-clicking on the tab and selecting Rename (1).

Step 27

To update the Pivot, just drag fields from the PivotTable Fields section (1) to the Filters (2), Rows (3) and Values (4) sections. If you add to the Filters section, it shows up on the Pivot Table. I tend to leave it blank as I can more easily filter multiple values elsewhere (I’ll show later). I’ve also formatted the entire Price column to display as currency.

The fields I have in Rows are user_data, product_name, days_used (Year) and days_used (Month). Note that in our Pivot data we only had a date field. Excel automatically adds multiple fields to help you group dates. If this doesn’t happen, remove ALL the date fields from the Rows section and re-add the days_used, You should get multiple fields added. I typically remove the Quarter and Day.

For the Values column, I’ve added Tokens and Price. Once I get all the fields I want, I then do a little work on formatting. For starters, I make Column C/Price (5) formatted as Currency.

Step 28

Next, lets Right-Click on the product name data (1) in the Pivot Table and select Expand/Collapse (2) then Collapse Entire Field. This collapses everything down to the Product level.

Step 29

Remember when I said I prefer to filter a different way? Here, I can filter the products I want in my Pivot. Products that don’t use Tokens and aren’t in the Rate Sheet don’t appear (in case you were wondering). We’re not concerned with that. If they aren’t available with Flex licensing, there’s no need for analysis.

But if you look at the following image, you can when you hover over the product_name field there’s a little down facing triangle. Click on that to get to our filtering.

Step 30

In the filter dialog, I’m going to shut off all products (1) that are not in the AEC Collection as well as any product that uses zero tokens (see your token rate sheet). The remaining product I have (yours will be different) are AutoCAD, AutoCAD MEP, AutoCAD Plant 3D, Fabrication CADmep, Navisworks Manage, Recap Pro and Revit. You could leave on the zero token products if you like, I just didn’t want to type them all here! Once done, click OK (2).

Step 31

Next, I collapse all the data in the Pivot Table down to the user level (1). This was shown earlier in Step 28. At this point, you see the yearly total for all users in terms of both Tokens Used and the Price you would have paid if those users were theoretically on the Flex licensing model over the last year.

As you can see, Flex is a much more expensive licensing model for users who would be full time. The cost in the US for a full AEC Collection license is about $3000 annually. So anybody under that price would have been cheaper on Flex…maybe. Remember that “2 for 1” Network trade in Autodesk did? Those license are discounted significantly. Those discounted prices nee to be taken into consideration too. You may have users cheaper on Flex if they had a full dost license, but not if they were using a discounted license.

To help me run these scenarios, I add a Threshold price at the top (2) that I can plug a target number I’m looking to compare against. A new AEC Collection is $3000 so I build in a safety margin and use $2500 as my number. Anyone under $2500 I move to Flex. But I can also put in $1200 and see how somebody would compare to a discounted license.

Step 32

The last little “nice” thing I do that’s not required uses the threshold number I entered earlier. I then use Conditional formatting to color the values to more easily see what should and should not got to Flex.

Select Home (1), Conditional Formatting (2) then Manage Rules…(3)

Step 33

In the Conditional Formatting Rule Manager dialog, make sure This PivotTable (1) is selected from the dropdown and then click New Rule (2).

Step 34

In the New Formatting Rule dialog, select All cells showing ‘Sum of Price’ values (1), then Format only cells that contain (2), next set Cell Value (3) to Less than (4) for the cell =$C$1 (5) which is where you place the Threshold value you want to use. You can then change the Format (6) to Green and click OK (7). This will highlight all cells below your Threshold value indicating they’re likely Safe to move to a Flex license.

Repeat Step 33 and 34 to make another rule but change it to Greater than or Equal to (4) and the Format(6) to Red then click OK.

Step 35

When you’re done, your rules should look like this. Click OK.

Step 36

You’re done! Your data should look like this. You can now play with Filters, the Threshold dollar amount you want to use as your reference. You can even expand in and drill into each users data. Play with the Pivot Table values and experiment to get the data how you want.


Hopefully this was helpful. I was able to save over 30% on my Autodesk renewal this year by analyzing license usage by performing the following…

  • Check which users can switch to Flex.
  • Count dedicated license users who can’t move to Flex.
  • Buy 75% of the tokens needed for the Flex users.
  • Drop unneeded full cost product licenses.
  • Retained unneeded discounted licenses
  • Eliminated products completely if Flex covered all user needs

I kept extra discounted licenses from the 2-for-1 trade-in, which offer deep discounts till 2028. It’s hard to find discounts, let alone multi-year ones, so I believe these will cover future full-time user growth.

Some other companies I spoke with have also reduced their desktop software licenses by almost 1/3, using Flex for part-time users.

To run analysis using new data, just overwrite the report with the new data in the same format. Then, open your analysis spreadsheet and refresh all queries and pivots. I hope this helped you save and learn some Excel Power Query! Good luck!

ESTmep Underlays – Auto vs Individual Placement

Do use use PDF Underlays in your ESTmep takeoff? Do the Pages come in all at once on separate tabs and layers? Or do you have to place them individually and make the tabs/layers yourself?

Maybe it worked one way for you and all of the sudden it seems to change to the other way for no reason. And despite looking, you can’t find a setting that changes this behavior.

What controls Auto Sheet Placement vs Individual is very easy to control, but it is hidden. Let’s take a look.

Individual vs. Automatic PDF Sheet Placement

This images shows a 7 page PDF with each page imported as an Underlay separately. Notice they are not on separate tabs and they’re all on one layer.

This next images shows what Automatic PDF placement looks like. Notice all sheets evenly placed in a row, each on a separate tab and layer.

So what’s the difference? What’s the magic setting? It all depends on how you select the “of type” dropdown when you select the PDF. This next image should explain it…

Let’s Look at Each Process

Place Sheets Individually One at a Time (of type = *.*)

Place Sheets Automatically All at Once (of type = *.pdf)

Desktop Connector + Revit Cloud Models = Bad Idea

I’ve been seeing a recent trend in project teams. An increasing use of Autodesk Desktop Connector to link Revit Cloud Models. While it can and does work (sometimes), it’s a real bad idea and should be avoided unless absolutely needed. The reasons are subtle and nuanced. But those nuances are a make or break in terms of success.

I’ll try to explain as best I can. I’ll even give you steps you can do to reproduce this issue yourself. But first, let’s go over why Desktop Connector exists in the first place.

A Brief Desktop Connector History

Autodesk’s first attempt at a proper Cloud workflow for Revit was called Collaboration for Revit. It later became BIM360 Design and today is called BIM360 Collaborate Pro. Same idea…take a Revit model and manage it in the Cloud from Sync’d local data. Practically speaking, it’s a cloud version of Revit Server.

Back in those early days, you could link to other Revit cloud models. But Revit supports other types of links besides RVT files. So people would link to file servers. But in a collaborate environment, other teams didn’t have the same file servers or folder structures. Those other linked files linked DWG’s or IFC’s would break. So like the good technologist’s they are, BIM Managers started using services like Dropbox across the product team. Those non-Revit files were linked from there so the links would be common across of team members.

As a result, Autodesk later acknowledged the value in doing this and released it’s own ‘sync’d drive’ tool called Autodesk Desktop Connector. So that’s why it’s there. It’s intended to link non-Revit files or Revit files that are NOT cloud models.

One could argue that Autodesk should have just made Collaboration for Revit work with those other files types. I agree and it’s a nice thought. But it’s likely not the case because the Revit files you see on BIM360 Docs (now Autodesk Docs) are NOT the same files as are used by Revit’s Cloud collaboration tools. You can read more about that here (

The False Alure of Desktop Connector

When I see Desktop Connector misused, the reason I’m given is usually the same. “We don’t want to Live Link models“. That’s to say, they don’t want to see daily changes from the other project teams in real time.

So that sounds reasonable. But if people would use BIM Collaborate Pro ‘properly’ this actually solves this problem and in a much more flexible way. BIM Collaborate Pro when setup and used properly allows 3 separate workflows or a combination of any of them….

  • Link to Live Models
  • Link to “Shared” copies of Models (only updates when the model owner chooses to share)
  • Link to “Consumed” copies of Models (only update when you consume a shared copy)

Yup. That’s it. Complete flexibility on how you link to other Revit Cloud Models. In short, if you’re linking to get away from updates you don’t control, it’s because you’re not using the BIM Collaborate Pro properly. More accurately, whoever is hosting the project did not set it up properly and you’re a mere casualty caught in the cross fire. Something most sub-contractors are very familiar with.

The True Appeal of Desktop Connector

There’s really another reason people use Desktop Connector for Revit Cloud models. A result of Autodesk’s flawed logic that everyone on the project should be on the same platform, same project and same account. While it makes sense at a high level, it also means all other project teams who aren’t the hosting company are limited to the willingness and/or capabilities of the hosting company.

Taking that into account, one aspect of Desktop Connector is that you can link ‘between’ BIM360 or ACC (Autodesk Construction Cloud) accounts. That is, you can link files in your account, to project files in another team’s account. This cross account linking is NOT available in BIM Collaborate Pro with Cloud models or Cloud Workshared models but it is in the Desktop Connector.

When you put this all together, this means companies can link to files from other companies but still control their own models on their own account. And they’re not live linked either. This is why we’re seeing a proliferation in Desktop Connector usage with Revit Cloud Models.

The new Autodesk Construction Cloud has some “Bridge” functionality designed to facilitate this. I tested the Bridge functionality when it first came out. It didn’t work as required, expected or as advertised IMO. It may or may not have improved since then but that’s not the point of this article. The point of this article is about linking to Revit Cloud models from Desktop Connector. Why it’s problematic, not a recommended best practice and why it should be avoided.

The Desktop Connector Problem

To demonstrate the problem, we’ll use two separate sets of 3 Revit files each linked to each other within the set like the following…

  • Set 1 (problem set)
    • Test – 1.rvt (Link to Test – 2.rvt & Test – 3.rvt)
    • Test – 2.rvt (Link to Test – 1.rvt & Test – 3.rvt)
    • Test – 3.rvt (Link to Test – 1.rvt & Test – 2.rvt)
  • Set 2 (working set)
    • Test – A.rvt (Link to Test – B.rvt & Test – C.rvt)
    • Test – B.rvt (Link to Test – A.rvt & Test – C.rvt)
    • Test – C.rvt (Link to Test – A.rvt & Test – B.rvt)

Each Revit model is a Cloud Workshared Model. (a standard Cloud Model would function the same for this issue). You can tell they’re Cloud Models be viewing them in Revit’s interface like shown in the following image…

If any of the Revit files were not Cloud Models, they wouldn’t appear here in Revit but would appear from the BIM360 or ACC web interface. You can see in the following image, those same files are listed in the web interface. They were all published so the version in Autodesk Docs displays the same contents as is available in BIM Collaborate Pro.

So far, all seems fine. The files you see in the BIM360 or ACC interface are the same ones that are available in Desktop Connector. Now here’s where the issues starts to manifest itself.

Take a look at what happens when we try to download the Revit Models from the web interface. Set 1, the numerical set download as ZIP files. Set 2 on the other hand, that alphabetic models download as Revit files.

Perhaps you’ve seen this before. I know many users who assume that the ZIP file downloads are there because the Revit files contain links. Because a non-linked model always downloads as an RVT. Other users think it’s part of the whole “Share/Consume” workflow of BIM Collaborate Pro. Both explanations are technically incorrect.

The following image shows the files and their downloaded names. Keep in mind that each set is a model collaborated in the Cloud the exact same way and linked the exact same way. In fact, they themselves are not linked from the Desktop Connector either. They’re linked properly through the “External Resources”. Aside from the files names, they are identical in every way.

Further Proof – RVT Doesn’t Mean RVT

To further complicate matters, Desktop Connector displays all the files as RVT files even though some are ZIP files. Here’s how to test that out. First, we’ll use Windows File Explorer to select and copy all the files to the desktop. You can see the first hints of something being wrong in the following image…

Notice that all the files are named RVT just like was displayed in the Web Interface of BIM360 / ACC. However you can also see the icons are different between the two sets of files. The Revit files display their preview. The others display the icon because if the RVT extension because it can’t find a Revit preview. So let’s test our theory that some of these are actually ZIP files named wrong.

We’ll rename all the files to the ZIP extension and attempt to open them. The following images shows the renamed files. It also shows happens when you attempt to open the ZIP for one of files from Set 1 (Test – 1.rvt, Test – 2.rvt & Test – 3.rvt).

You can see when attempting to open the file TEST – (remember we renamed to a ZIP) it shows the contents. It contains the Revit file and the links that Revit file uses.

Now let’s try the same thing with another file. This time. we’ll use the file Test – from Set 2.

You can see that despite renaming the file as a ZIP file, Test – will not open and displays no contents. That’s because it is indeed not a ZIP file.

Summary of the Desktop Conector Problem

To summarize what we just saw, the web interface to BIM360 / ACC as well as Desktop Connector showed that all the files were RVT files. But upon testing with 2 different methods (web download & copy/rename from Desktop Connector) we can see that the two sets of files are not the same.

Set 1 is comprised of ZIP files despite showing their name as RVT and Set 2 are actual RVT files.

We can perform one further test to see if this is the case, We can start a new Revit file and try to link one of each set from the Desktop Connector. The following images shows just that…

You can see we were able to successfully link Test – A.rvt (from Set 2) using the Desktop Connector. But when we try to link Test – 1.rvt (from Set 1) we get an error, Failed to open document.

Again, this is because despite what you see (the RVT file extension), the file is actually a ZIP file. This is the root of the problem with using Desktop Connector to link Cloud Models. Linking non-cloud Revit models is not a problem. More in that in the next section when we cover “How” and “Why” this happens.

The How and Why

The issue of when BIM360 / ACC is using a ZIP file vs. a RVT file behind the scenes is actually quite predictable and a little controllable. So let’s take a look. It might be a little difficult to understand but we’ll try explain anyway. We’ll then follow-up with the steps to do it yourself.

At the root of the issue is that the Cloud model Revit uses is a separate file that the one you see in BIM360 / ACC Docs and Desktop Connector. You choose when to “publish” the one that shows up in BIM360 / ACC. And here’s where it starts to get complicated. We’ll use the names of the samples models to make it a little more clear.

If you have cloud model Test – 1.rvt open, and you link to cloud model Test – 2.rvt, if cloud model Test – 2.rvt has changes that are unpublished to BIM360 / ACC Docs when you publish Test – 1.rvt to BIM360 / ACC Docs, Test – 1.rvt will be a ZIP file.

On the other hand, if you link to cloud model Test – 2.rvt and it’s latest version is published to BIM360 / ACC Docs then when you publish Test – 1.rvt and download it, it will be a RVT file.

Did you catch that? Whether a Cloud model ends up as a ZIP vs. a RVT depends on the Publish Status of the Cloud models it links when you publish it.

Let’s look at that visually. The below image shows the 3 models from Set 1. Notice how none of them have the current version published. When you publish one of these, or even all three of these you’ll end up with a ZIP file.

Again, the issue is that you linked a cloud model in Revit when that cloud model had unpublished changes. Even if you published all of the models now, you’ll still get ZIP files with downloads and Desktop Connector. That’s because when they were published, there were unpublished changes which made them ZIP files. Further publishes will always make more ZIP files because they now reference Cloud models who’s Published versions are ZIP files not RVT. Yea…that’s a bit complicated. Just know that once you start getting ZIP Downloads, they’ll stay that way. From here on out, there’s only one way to fix it which we’ll get to momentarily.

How Not to get a ZIP

Now here’s where the process get’s slightly different if you want a RVT. The difference here is when you go to link the Cloud model, you need to make sure the file(s) you’re linking don’t have unpublish changes when you publish it. So when you have Test – A.rvt open, make sure Test – B.rvt doesn’t have unpublished changes, if it does, Test – B.rvt needs to be published before Test – A.rvt. Then when you then publish Test – A.rvt it will download as an RVT and Desktop Connector will be a ‘real’ RVT file.

So that sounds simple. Just make sure when you link the cloud model that’s it’s most recent version is published. But it’s not that simple. At any point in the future if one of the linked files is not published when you publish the model, you’re back to the ZIP file again and it stays that way. Until you fix it.

Unzipping the ZIP

If you ever link a cloud model that has unpublished changes you’ll end up with ZIP files. Further more, if at any point you publish you model, any one of the linked cloud models has unpublished changes, you’ll get a ZIP file again. And it won’t get fixed again easily.

This is why you should NOT link to cloud models from Desktop Connector. Because you’re relying on the author to understand this and know what to do. In fact, in the course of a real project, it’s damn near impossible to make sure you’re not going to get a ZIP. You can’t control when the project teams make changes and publish.

However, if you do want to fix the ZIP problem, here’s the process.

  1. Open your Revit model and “unload” (not remove) and cloud model links. Save/Sync and publish the model.
  2. Repeat Step 2 for all of the linked Cloud model. Make sure none have the links loaded.
  3. Once all models have their links unloaded, republish them all.
  4. Reopen one of the models and reload the links. Save/Sync the model. One model only.
  5. Now Publish the model and wait for publish to complete before doing any more models.
  6. Repeat steps 4 and 5 for the remaining models.

So that’s the process to “fix” the issue. Each model needs to be republished with none of the cloud model links loaded. You then open one, sync and publish each model. If you do save/sync more than one model before publishing again, you’re back to the ZIP files.

Try It Yourself

This issue is a bit nuanced…what makes a ZIP files vs a RVT. An even when its a ZIP, The web site and Desktop Connector misleadingly tell you it’s an RVT. And if you do have it working, it’s still fragile and breaks easily. Which is why it’s recommended to NOT use Desktop Connector to link to Revit Cloud Models.

If you really want to understand the issue, it’s best to try it yourself. You can do it with just 2 files. Here’s how. Follow these steps exactly.

  • Step 1 – Create file A in Revit and save as a Cloud model or Cloud Workshared model.
  • Step 2 – Close file A.
  • Step 3 – Create file B in Revit and save as a Cloud model or Cloud Workshared model.
  • Step 4 – Close file B.
  • Step 6 – Open file A and link file B using the “External Resources” (not Desktop Connector)
  • Step 7 – Save/Sync file A and close.
  • Step 8 – Open file B and link file A using the “External Resources” (not Desktop Connector)
  • Step 9 – Save/Sync file B and close.
  • Step 10 – Publish both files so their latest version appear in BIM360 / ACC Docs.
  • Step 11 – Try downloading with model from the web and you’ll see they’re zip files.
  • – – You’ve now recreated the process which makes the ZIP files – –
  • Step 12 – Open file A and unload the link to file B.
  • Step 13 – Save/Sync and Close file A
  • Step 14 – Open file B and unload the link to file A.
  • Step 15 – Save/Sync and Close file B.
  • Step 16 – Publish both models. (when you publish doesn’t matter with links unloaded)
  • – – Both models are now published with no Cloud model Links. This clears the ZIP issue. – –
  • Step 17 – Open file A and reload the links to file B.
  • Step 18 – Save/Sync and Close file A.
  • Step 19 – Publish file A and wait for it to complete before continuing. This is important. It’s linked to a file B. While file B has no links loaded, it has all it’s changes published (the critical step)
  • Step 20 – Open file B and reload the links to file A.
  • Step 21 – Save/Sync and Close file B.
  • Step 22 – Publish file B and wait for it to complete before continuing. This file is linked to file A which does have links, but it also has all of it’s changes published too.
  • Step 23 – Try downloading the models now. You should get a RVT file instead of a ZIP.
  • – – Both models are now published but are now accessible from Desktop Connector or downloadable as RVT files – –

It sounds like a lot of steps but it’s fairly quick to do. Perform these steps and you’ll get a better idea how the issue. Any time you have changes in multiple models before you publish, you’ll see the ZIP show up. If you change and publish a single model at a time, you’ll have RVT files. But also note, once you get the ZIP files, you’ll need to unload the links on all the files, republish and then open, reload and publish one at a time to clear the issue.


So that’s it. If you understand the issue, you’ll see how easy it is to have the ZIP issue show up. And that’s when linking from Desktop Connector breaks. And in the course of a project, it’s easy for others doing what I’ve explained above to break YOUR link to THEIR model when you use Desktop Connector.

So don’t use it to link Revit Cloud models if at all possible. If you’d like further reading on this, check out these Autodesk Knowledge Base articles…

“Failed to open document” when adding links to a Revit model through Desktop Connector.

ESTmep – Troubleshooting Duct Area & Weight

ESTmep seems like it should be easy to calculate things like Area and Weight. A couple of the major factors in cost. But this couldn’t be further from the truth. It’s difficult to understand “Where” numbers are coming from. Here’s a few tips for troubleshooting.

Eliminate Wastage and Costing Adjustments

Make sure Normalization is turned off for costing. You can do that here…

Next, eliminate any Wastage factors. Here’s what that might look like…

Create a Neutral Takeoff

There’s so many adjustments and factors that reporting properties it’s hard to tell what all makes up a number. The best way to find out what makes up a number is to make a Takeoff that eliminates as much of the factors as possible so you start with the core properties.

You can do this by adding Duct with simple numbers…12″ x 12″ x 12″. Duct with no connectors and no seams to eliminate allowances and sealant. Sizes that either don’t use stiffening or a purpose built specification that eliminates stiffening.

In my test, I created 20 pieces of Straight Rectangular Duct, You can do other fittings or Round/Oval too but start with the simplest and once you get dialed in and understood, you can expand to Round Straight or Fittings, etc.

  • Qty of 1
    • 12″ Width x 12″ Depth
      • 12″ Length
      • 24″ Length
      • 36″ Length
      • 48″ Length
      • 60″ Length
    • 24″ Width x 24″ Depth
      • 12″ Length
      • 24″ Length
      • 36″ Length
      • 48″ Length
      • 60″ Length
  • Qty of 2
    • 12″ Width x 12″ Depth
      • 12″ Length
      • 24″ Length
      • 36″ Length
      • 48″ Length
      • 60″ Length
    • 24″ Width x 24″ Depth
      • 12″ Length
      • 24″ Length
      • 36″ Length
      • 48″ Length
      • 60″ Length

Customize Takeoff

Takeoff in ESTmep can sometimes list “Many” properties for Area and Weight or Quantity. When you add them, they typically just list “Area” or “Weight” making them unclear what they are. You can customize the takeoff Description to reflect which property it maps to. This way you can add them all and see the differences.

Test Various Quantity Units

Each Property in Takeoff also has the ability to change the Qty Units. Here’s the 3 settings you have can reflect what Area and Weight is displayed. Here’s what those settings look like…

Here’s the results of those settings on my sample duct…

Per Item Quantity

Per Item Rate

Total Item (extn)

You can see “Per ITem Qty” gives you likely the closest to what you want. Exept it doesn’t take into account the Quantity of fittings. Quantity of 1 vs 2 is the same Area/Weight for the respective sizes.

“Per Item Rate” seems to be furthest from what you’d think. It’s really a ‘Per Ft’ value.

Lastly, the “Total Item (extn)” gives you most likely what you want and also taking into account the quanities of fittings.

Validate Data

Now that you have sample data and simple numbers, you can start doing the math. Look at the material and gauge and find the weight or area and see how your numbers respond.

Once you get comfortable that the numers are correct, start by adding in Seams or Connectors and see if the ancillary weights get added as you expect. Note that you’re numbers may be a little “off” based on Seam or Connector allowances and notching. Try adding only one thing at a time.

If you want to test how Wastage or Costing methods apply, you’ll want to go back to simple duct…No Seams…Connectors….Stiffeners, etc.

Keep things simple. Experiment. Check the numbers. Remove one of the factors and add another and try again. Then combine factor and verify your data is adding up properly.

Unfortunately there is no easy path or roadmap. But by starting with simple datasets and incrementally testing added features or factors, you can start to get a better picture of where your values are coming from.

ESTmep/CAMduct – Area/Weight Missing

In ESTmep and CAMduct, if you use the 3d View and stretch duct to add pieces, you end up with duct that has zero Area & Weight. This also means you have zero cost for that material.

This is a confirmed issue that’s been around forever. I’ve tested from 2016 thru 2023 and can reproduce in all versions.

Here’s what that looks like…

The Fix

The good news is, there’s a quick fix (workaround) you can deploy to update the weight and area. Using Notepad, you can make a quick COD script that updates the ITM’s. Below is what your script should look like…

Once you create the COD script, it’s recommended you put it in the SCRIPTS folder of your Fabrication Configuration. From there, you can make a process that calls the script which will update all the ITM’s to their proper Area and Weight. The display on the Item Takeoff may not refresh. If so, just browse to another tab and back. Here’s what that looks like….

So, which this doesn’t “Fix” the issue, it does work around it fairly easily. Just run the process before running and reports or data exports.