Renumber Revit Fab Parts – No Purchase or Coding Required

Most MEP contractors moving to Revit with Fabrication Parts at some point wrestle with renumbering parts. You can purchase tools or add-ins to make this easier or even write your own with Dynamo or C#.

But most contractors aren’t coders. And buying more software can also be a challenge. The good news is that those are not your only options, There’s some well written FREE Revit Add-Ins that make this a breeze.

Required Tools

Head over to DiRoot’s web site (https://diroots.com/) and download the OneFilter Add-In found here and the ReOrdering Add-In found here.

Once installed, you’ll find the tools in the DiRoots Ribbon in Revit along with any of their other tools you may have installed.

Getting Started

The following image shows 2 runs of Rectangular and 2 runs of Round duct work drawn in Revit using Fabrication Parts. One is drawn in a +2in WG service and the other -2in WG service. All duct has a tag configured to display the Fabrication Part’s Item Number property.

First Up – DiRoots OneFilter

Using the DiRoot’s OneFilter Add-In, you can easily select not just Fabrication Parts, but also select them based on their properties.

Once selected, you can see Revit selects the specified items in your model.

Next – DiRoots ReOrdering

Now that your desired parts are selected, you can use the DiRoots ReOrdering Add-In to renumber those parts.

After applying your renumbering parameters, you can see how Revit then displayed the updated Item Numbers for the Fabrication Parts.

Wrapup

As you can see, with a couple free (well written) utilities you can quickly and easily select and renumber your fabrication parts in Revit.

There’s a lot of other reasons beyond renumbering to use some of these Add-Ins. They’re very functional for a lot of workflows. Those uses are beyond the scope of this post but feel free to explore these Add-Ins or some of the other DiRoots tools when you get a chance. They’re some of the highest quality free Add-Ins for Revit than you’ll find anywhere.

SPOOL.INI Explained

Most (but not all) of the settings in SPOOL.INI relate to the SPOOLDWG command dialog. The following image maps those fields in the dialog with those found in the SPOOL.INI file.

Values and description are listed in the below table along with some additional notes as well as settings related to spooling but not part of the SPOOLDWG dialog.

Ref.SettingValueDescriptionNote
1SpoolNameAlpha/NumericName of Spool
3TemplatePath/Template NameName or Path & Name of AutoCAD Template for Spool Drawing.
9Status0 = Unchecked
1 = Checked
Set Status toggle in Spool Dialog.
8View0 = Plan
1 = SW Isometric
2 = SE Isometric
3 = NE Isometric
4 = NW Isometric
5 = None
Sets Spool drawing view type/orientation.
10StatusTypeStatus Index NumberIndex Number of the Status as defined in your database.
19Tags0 = Unchecked
1 = Checked
Set Display toggle in the Spool Dialog.
20Prompt0 = Unchecked
1 = Checked
Set Prompt for Position toggle in the Spool Dialog.
22Reorder0 = Unchecked
1 = Checked
Set Renumber toggle in the Spool Dialog.
4Set Colour0 = Unchecked
1 = Checked
Set Change Colour toggle in the Spool Dialog.
5Spool ColourRGB ValueRGB (Red Green Blue) color value of the last spool.

RGB Values are expressed as 3 integers, each between 0 and 255.

Use AutoCAD DDCOLOR command to determine color numbers & corresponding RGB values.
Note 1
11Report0 = Unchecked
1 = Checked
Set Report toggle in the Spool Dialog.
12ReportIndexIntegerZero based index as listed in the drop down list in the Spool Dialog.

e.g. 0 = 1st Report, 1 = second report, etc.
7ColourRangeComma separated Integer ListList of Integers separated by commas.

Represent the AutoCAD Color Index numbers (ACI) of the colors to cycle through for spool colors.

Use AutoCAD DDCOLOR command to determine color numbers.
Note 1
6Colour PosIntegerZero based index of color range for the last color used on a spool.
2SpoolPathFile PathFolder where created spool drawings are located.
n/aAuto Save0 = No
1 = Yes
If Spooling to separate DWG's instead of Layouts should spool drawings should be saved after they are created.
24Layout Tab0 = Unchecked
1 = Checked
Set Create in Layout Tab toggle in the Spool Dialog.
n/aMove Model0 = No
1 = Yes
Sets if the spool be moved to 0,0,0 when creating the spool DWG's.
26Create0 = Unchecked
1 = Checked
Set Create Spool on OK toggle in the Spool Dialog.
13Title Report0 = Unchecked
1 = Checked
Set Update Title with Report toggle in the Spool Dialog.
14TitleIndexIntegerZero based index as listed in the drop down list in the Spool Dialog.

e.g. 0 = 1st Report, 1 = second report, etc.
n/aIgnoreIDsComma separated Integer ListList of Integers separated by commas. Integers represent the Service Type Index.

Items with these Service Type Indices will not be renumbered or have their item number displayed in the Spool. (Exception: See RenumberIgnoreIds setting)
Note 2
25Select All0 = Unchecked
1 = Checked
Set Select All toggle in the Spool Dialog.
n/aRemove Section Level0 = No
1 = Yes
Controls moving the Spool to 0,0 (X,Y) if 1/Yes or 0,0,0 (X,Y,Z) if 0/No when the Move Modelsetting is set set to 1.
23SameNumber0 = Unchecked
1 = Checked
Set Same Number for Identical Parts toggle in the Spool Dialog.
21LockLeader0 = Unchecked
1 = Checked
Set Lock Leader toggle in the Spool Dialog.
n/aPrompt If Exists0 = No
1 = Yes
Prompts to overwrite existing Spool DWG if it already exists.
15Script0 = Unchecked
1 = Checked
Set Execute Script File toggle in the Spool Dialog.
16ScriptNameCOD Script File NameName of COD Script File to execute on the spool.

Script name should be the file name only and NOT include the ".COD" extension.

Script file must exist in the folder specified by SCRIPTS section of MAP.INI.
Note 3
17DataExport0 = Unchecked
1 = Checked
Set Export Item Data toggle in the Spool Dialog.
18DataExportNameIEX Report File NameName of IEX Data Export Report to run on the spool.

Report name should be the file name only and NOT include the ".IEX" extension.

Reports must exist in the proper product specific sub-folder under the reports folder specified by REPORTS section of MAP.INI.
Note 4
n/aUpdateJobNamewithSpoolName0 = No
1 = Yes
Updates the MAJ Job Name (Job Info) with the spool name prior to running any exports or reports.
n/aAddCOGMarker0 = No
1 = Yes
Calculates the Center of Gravity (COG) and inserts the COG Block (with attribute(s)) for the spool.
n/aShow3DText0 = No
1 = Yes
If showing annotations and the view is a 3d view, ensures that the database option is enabled to display in 3d. Note 5
n/aSpoolDimSnapsIntegerEnumeration (Bitwise) value for which OBject Snap Modes are set when using the SPOOLDWG command. Note 6
n/aRenumberIgnoreIds0 = No
1 = Yes
Renumbers the list of Ignored parts specified in the IgnoreIDs setting and stores the setting in the Alias field.

If the Alias already contains a value, the number will be appended to the value as a suffix.
n/aCloseDWG0 = No
1 = Yes
When spooling to separate DWG's instead of Layouts, will close the DWG after creation.
n/aRenumberMaster0 = No
1 = Yes
If renumbering, apply the new numbers to the Master DWG.

Note 1:

The DDCOLOR Command in AutoCAD can be used to determine ACI (AutoCAD Color Index) and/or RGB (Red Green Blue) values.


Note 2

Service Types can be found in the database editor. Use the Index Numbers in the Spool.ini settings.


Note 3

COD Scripts must be located in the folder specified by the MAP.INI file.

Type the command APPINFO in CADmep to display a dialog which will show where the Scripts should be located.


Note 4

IEX Data Export reports must be located in the software specific folder specified by the MAP.INI file. MAP.INI specifies the root folder for reports which are then found in a subfolder named based on the product using the reports. This makes knowing the exact reports folder a little difficult when looking in the MAP.INI file.

Tp more easily find the exact report folder, type the command APPINFO in CADmep to display a dialog which will show where the Scripts should be located.


Note 5

The database setting this option controls can be found in the database editor under Takeoff -> CAD Settings -> Annotation.


Note 6

To understand how bitcoded values work for the Snap modes, look up the OSMODE system variable in AutoCAD’s Help system.

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

Move Your AutoCAD Workflow to BIM360

If you’d like to move you AutoCAD workflow to BIM360, you can now easily accomplish this. It’s really quite simple and requires a couple things….

First, you nee to install the Autodesk Desktop Connector. This adds a BIM360 Drive” to your computer much like OneDrive, Google Drive, Dropbox, etc. This BIM360 drive provides access to your BIM360 Projects that you’ve been granted access to from your BIM360 Administrator.

Once the Autodesk Desktop Connector is installed, you can access your BIM360 projects from this drive. You may need to login first to see your projects. You can do this by right-clicking on icon in the System Tray.

You can get the Autodesk Desktop Connector using this link.

Second, there’s a new utility called File Locking for Autodesk BIM360. This utility allows AutoCAD to “lock” the drawings you open on BIM360 so that no others can edit them at the same time.

You can download and install the File Locking for Autodesk BIM360 from the Autodesk App Store using this link.

When you now open a DWG from the BIM360 drive, BIM360 will lock the DWG and prevent others from editing it at the same time.

A final word….Once the File Locking utility is loaded, you can use the CloudCollabModifiedOption system variable to control how file locking is handled when you close the DWG in AutoCAD. Details here…

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.

MEP Fabrication Online Training

Not sure why Autodesk has this stuffed away under “Civil Engineering” but they’ve released 3 introduction online training sessions for Autodesk Fabrication. If you’re new to Autodesk Fabrication content creation, these will get you up and running with some of the basics.

Courses are…

  • Patterns and the Image
  • Create Product Lists
  • Connectors

You can access these them here…

https://customersuccess.autodesk.com/disciplines/civil/challenges/item-creation-for-fabrication

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.

Where Did The Revit 2021 Fabrication Extension Addin Go?

Have you tried to Import or Export an MAJ file in Revit 2021? Have you tried to run a Fabrication Report or Export in Revit 2021? If so, you may have noticed that it’s not in the Add-Ins ribbon any longer.

Your first thought might be you need to install the Revit Extension for MEP Fabrication 2021. But even after installing, it’s still not there. You might then be tempted to submit a support ticket to Autodesk to help troubleshoot your install. No need. Autodesk simply moved the commands and made them more integrated to Revit.

MAJ Exports

MAJ Exports can now be found in two locations in Revit 2021. The first location is under File -> Export.

The second location shows up in the context ribbon when you select Fabrication Parts….

MAJ Import

MAJ Imports have moved as well. This is a little easier to find if you think about it, it’s located under the Insert ribbon.

Fabrication Reports / Fabrication Exports

Your Fabrication Reports and Fabrication Exports will also show up in the context ribbon when you select Fabrication Parts.

Context Ribbon Doesn’t Show MAJ Export or Fabrication Reports/Exports?

If you select parts in Revit and the context ribbon does not show the MAJ Export or Fabrication Reports/Exports drop-downs, take a look at the Ribbon’s title.

If the Title of the ribbon says Multi-Select, this means you have a more than just MEP Fabrication Parts selected. You can quickly filter your selection to just MEP Fabrication Parts using the Filter tool in the lower right of Revit.

Un-check all items except anything that begins with “MEP Fabrication …”. This will deselect any non-Fabrication Parts and your MAJ Export and Fabrication Reports/Exports tools will then show up.

Still Can’t Find These Tools?

Unlike prior years which required a separate install, Revit 2021 installs the Fabrication tools as part of the product install. However, if the tools somehow become uninstalled, and you don’t find them, you can reinstall them by downloading the Revit Extension for MEP Fabrication 2021 from your Autodesk Account. Alternatively, you should be able find it in the Autodesk Desktop App in the updates.

TigerStop Setup for Autodesk Fabrication

Setting up Autodesk Fabrication to communicate with a TigerStop isn’t difficult. But there really isn’t any good resources that explain how to do it. I’ve explained it multiple times to multiple people so I thought it might make sense to document it here.

This following instructions are not needed of you’re using a system like GTP Stratus or MSuite (formerly FabPro1) as they have their own process for interfacing with TigerStops. However, you can easily run a TigerStop from Autodesk Fabrication without buying any additional software. All you need is a TigerStop and Autodesk Fabrication.

Step 1 – Install TigerLink

From Autodesk Fabrication, you’ll be exporting CSV files. TigerLink is a free software from TigerStop that will take those CSV files and break them down and reformat them into files your Tigerstop software can use.

You can get TigerLink software from TigerStop.Com. Go there and search for “TigerLink” and download the latest version (6.x used in this documentation).

Once installed, you’ll notice a TigerLink folder on your desktop…

And an icon in your system tray…

Right-Click on the TigerLink icon in your system tray and select Open. This will display the following dialog. TigerLink can do several things but we only want it for one purpose. You’ll want to ensure the Auto Connect toggle is Unchecked so that TigerLink does not look for a TigerStop machine.

Be default, TigerLink runs automatically when you start your system and clearing this toggle will prevent it from warning you that there was no machine found. If you don’t want it to run automatically, remove the shortcut it places in the Windows Startup folder.

For now, close the dialog. Then, Right-Click on the system tray icon again and choose Exit. We don’t want the software running when we do our initial configuration a little later.

Step 2 – Creating Your Fabrication Export (Items)

For Tigerstop to work, you need to export data from Autodesk Fabrication. Tigerstops need a minimum of 2 pieces of information. One is a length (decimal format) , the other a quantity. That’s it. However in practice, you’ll want a little more information.

Cutting Pipe is one of the primary uses for TigerStop. So we need to configure a CSV export to do this. But let’s also plan the data we want. We may want to export all types of pipe and sizes in a single export. But you can’t cut mixed materials or sizes from the same stock. So we’ll need material and size in our export so TigerLink can use those fields to break down the data. Let’s breakdown our list of data fields here that we’ll want to send to the TigerStop….

NumberPropertyPurpose
0Item CIDThis won’t be output but is used in the Report to filter the Exports to CID 2041 (pipe) only.
1Item QuantityRequired by TigerStop
2Item Centerline LenthRequired by TigerStop. Must be decimal.
3Job File NameMay be helpful in the TigerTouch display for the operator
4Item NumberWe want to know the piece number for a label
5Item Description This typically holds the “Size” of pipe in product listed ITMs. e.g. 1/2″, 3/4″, etc. TigerLink will use this data so files are separated by “Size”. We’ll also use it on the label.
6Item Centerline LengthWe’ll include this again formatted in Ft-Inch for the shop guys who may want that on the labels
7Item Material NameTigerlink will use this data so files are also separated by material name. .e.g. Copper vs PVC vs Cast Iron, etc.
8Item Spool NameWe’ll want this on the label too.

Use the CSVEXPORT command in CADmep to create your export report. When done, your report configuration might look like the following….

When your report is done, the resulting data might look like the following. Notice how all the sizes and materials are mixed together. This is what TigerLink will fix for us.

Qty,Length,Job Name,Item No,Description,Length,Material,Spool
1,39.146,Sample Data Export,12,4'',3'-3 1/8",Pipe Systems: Cast Iron,
1,40.421,Sample Data Export,12,4'',3'-4 3/8",Pipe Systems: Cast Iron,
1,48.250,Sample Data Export,12,4'',4'-0 1/4",Pipe Systems: Cast Iron,
1,11.835,Sample Data Export,12,4'',11 7/8",Pipe Systems: Cast Iron,
1,42.242,Sample Data Export,10,2'',3'-6 1/4",Pipe Systems: Cast Iron,
1,21.542,Sample Data Export,10,2'',1'-9 1/2",Pipe Systems: Cast Iron,
1,18.024,Sample Data Export,8,2'',1'-6",Pipe Systems: Cast Iron,
1,35.939,Sample Data Export,6,3'',3'-0",Pipe Systems: PVC,
1,22.101,Sample Data Export,6,3'',1'-10 1/8",Pipe Systems: PVC,
1,22.101,Sample Data Export,6,3'',1'-10 1/8",Pipe Systems: PVC,
1,54.987,Sample Data Export,6,2'',4'-7",Pipe Systems: PVC,
1,22.101,Sample Data Export,6,2'',1'-10 1/8",Pipe Systems: PVC,
1,22.101,Sample Data Export,6,2'',1'-10 1/8",Pipe Systems: PVC,
1,16.664,Sample Data Export,6,2'',1'-4 5/8",Pipe Systems: PVC,
1,17.845,Sample Data Export,4,2-1/2'',1'-5 7/8",Pipe Systems: Carbon Steel,
1,14.678,Sample Data Export,4,2-1/2'',1'-2 5/8",Pipe Systems: Carbon Steel,
1,33.388,Sample Data Export,4,2-1/2'',2'-9 3/8",Pipe Systems: Carbon Steel,
1,38.282,Sample Data Export,4,2-1/2'',3'-2 1/4",Pipe Systems: Carbon Steel,
1,12.919,Sample Data Export,2,3/4'',1'-0 7/8",Pipe Systems: Copper,
1,13.923,Sample Data Export,2,3/4'',1'-1 7/8",Pipe Systems: Copper,
1,7.293,Sample Data Export,2,3/4'',7 1/4",Pipe Systems: Copper,
1,10.252,Sample Data Export,2,1/2'',10 1/4",Pipe Systems: Copper,
1,10.252,Sample Data Export,2,1/2'',10 1/4",Pipe Systems: Copper,
1,10.252,Sample Data Export,2,1/2'',10 1/4",Pipe Systems: Copper,
1,19.558,Sample Data Export,2,1/2'',1'-7 1/2",Pipe Systems: Copper,
1,19.558,Sample Data Export,2,1/2'',1'-7 1/2",Pipe Systems: Copper,

Step 3 – Configure TigerLink via XML

TigerLink uses the file “C:\Users\<user>\AppData\Roaming\TigerLink6\CutListLinks.xml” to understand how to process exports. We’ll edit this file in Notepad. If you’re familiar with editing XML, it’ll be easy and you may want to use an XML editor however Notepad will be just fine.

I highly recommend making a backup copy of the CutListLinks.xml file in the event you ever need to start over. If you recall the dialog for TigerLink, it listed a number of Export formats in the left column. Each export format are enclosed between a set of XML tags named <LinkType> & </LinkType>.

I’m never going to use any of those formats so I delete all of them from CutlistLink.xml except a single entry which we’ll edit for our purposes. Take some time to study the file before editing. It’s not difficult to see what’s going on with a little close examination.

When we have only one set of <LinkType> & </LinkType> tags, we’re ready to start editing. I’ve highlighted the lines that I edited and/or verified in the following image…

  • Edit the Link Name which is the name of the Export configuration that will display in the left column of TigerLink.
  • Verify the Extension matches that of the export…CSV in this case.
  • As you recall, we have 8 columns of data in our export so use the Columns field configures this.
  • The DataRowStart tells TigerLink that the data starts on row 2 as our export has headers. Adjust as your export report requires.
  • Delimiter is set to a comma for a CSV but if your data has commas, you may need to use a different character.
  • Verify Decimal is set as required. Typically only different in some other countries.
  • LengthColumn tells TigerLink which column is the length TigerStop will use to drive the machine.
  • QuantityColumn tells TigerLink which column stores the quantity of parts.

At this point, we’ll ignore the other data as it’s easier to set via the TigerLink interface. Save your CutListLinks.xlm file and restart TigerLink.

Step 4 – Configure Tigerlink via User Interface

When you restart TigerLink, your version should look similar to the following…

The checkbox next to Fabrication Items tells TigerLink that this Export configuration is active and ready to be used. If you Right-Click on Fabrication Items and select EDIT, you get to the configuration user interface as shown below…

Here, we’ll want to do several things to finalize your configuration.

  • Put a check-mark next to Column entries 5 & 7. These columns hold the Size (Item description) and Material Name. This tells TigerLink that for this export, anytime there’s a new Size and/or material, it belongs in a separate file.
  • Unless you’re doing something unique, Style should be set to Push
  • Optimized tells TigerLink that the material will be optimized for best yield/utilization when nesting.
  • Send File Name is not required but can be used to display the file name on the TigerStop system.
  • Use the Add button to add data fields to your label. You can add a lot but TigerStop’s label system only works with up to 5 lines. Drag where you want and Right-Click to edit the header, font size and assign to a data column. Thje preview isn’t the most accurate as you can see. My data is off the display but does print properly. You can later go into the CutListLinks.xml file and get a little more fine control over the font size and placement in the <PrintLabel> & </PrintLabel> XML tags.

You’re now done configuring TigerLink and Fabrication. The only thing left is to process data from an export.

Step 5 – Process Fabrication Exports

To process data from an export, take a file with Fabrication piping in it and run the CSVEXPORT command. Once you;ve run the report you created earlier, look for the the CSV file and copy or move it to the TigerLink folder on the Desktop. Once the file is in that folder, TigerLink will process the file and break it into separate *.tiger files. One for each Material and Size if pipe.

These *.tiger files are what the TigerStop machine will use to cut your pipe.

If your CSV file is not processed into separate files, verify that the TigerLink software is running before you copy your CSV to the Desktop folder. Also make sure that the Fabrication Items entry in the TigerLink interface is selected to make sure it’s active.

The following image shows how your file should look once opened in the TigerTouch interface…

Summary…

Ancillaries can be cut on a TigerStop in a similar way. Use the ANCILLARYEXPORT command to setup your ancillary exports. Using Ancillary Type and Names, you should be able to generate reports for your TigerStop to cut ancillaries.

Because filtering is limited, it may be a little harder to get a single export for all ancillaries. You may find it’s easier to create a report for each ancillary type. As long as all reports for Ancillaries have the same fields and number of columns, you should be able to just add a single “Fabrication Ancillaries” entry to the TightLink’s CutListLinks.XML file to process any of them.

For a copy of the CutListLinks.xml file and CSV Export report used in this example, you can download them from this file…

Fix – Revit Fabrication Parts Suddenly Become Invalid

If you’re using Revit 2018 or 2019 with Fabrication Parts, you may notice that upon loading or reloading your configuration some (or many) of your parts become “Invalid”.

I’m not talking about Fabrication Parts who’s CID/Pattern isn’t supported in Revit. I’m referring to perfectly valid Fabrication Parts. Parts that once worked. They may even be currently in your model but are no longer active in your Parts Browser. Here’s a couple examples…

You may even notice valid parts become invalid after unloading a service or that invalid parts become valid again after loading a new service.

What’s happening is that your Fabrication Configuration’s Image Cache has become corrupt. The issue is in Revit 2018 and 2019. Revit 2020 does not experience the issue. Whatever changed in Revit 2020 made it more resilient to a corrupt image cache.

The only known fix until recently was editing your service template. You would have to remove and re-add the part. Reloading the Fabrication Configuration in Revit and it would be fixed. Unfortunately, future database changes would often revert back to the invalid state.

Quick and Dirty Work-Around (Revit 2019 Only)

If you’re using Revit 2019, there is a quick and easy work-around. That’s assuming you only have a few parts that are invalid. To work around the issue, reload your Fabrication Configuration and individually load the invalid part in the Parts tab. The following image shows one invalid part added to the Parts tab.

Once added, the Part then becomes valid in the Parts Browser.

A Permanent Fix (For both Revit 2018 & 2019)

The prior work-around was only available in Revit 2019. This didn’t help Revit 2018 projects which do not have the Parts tab in Fabrication Settings.

To properly fix the issue, you need CADmep. Load your Fabrication Configuration in CADmep. Once loaded, find an open area of your service and press CTRL+SHIFT+Right-Click and select Clear Cache.

Next type the REFRESHALLBTNS command. You’ll see a progress bar while CADmep refreshes your button image cache.

At this point, your button cache should be rebuilt. However I’ve seen instances where you have to “coerce” or otherwise persuade CADmep into saving it back to disk. To verify the changes are saved, go to the Service Editor and click the Apply button then close the dialog.

At this point, you should be all set. If you go back to the problem Revit file and reload your Fabrication Configuration, you should see the Fabrication Part become active again.

Preventing Future Corruption

To prevent future corruption, you first need to understand how it happens. When loading CADmep, you may have noticed the “Button Validation” as shown in the following image…

Because this can be a slow process, most users simply hit the Escape key to terminate the validation. This isn’t a big deal for a user. For a database administrator, this can leave your image cache partially built and corrupt it.

While you can simply stop canceling the process, the better option is to prevent it in the first place. By default, CADmep enables Button Validation. But you can turn it off. To do this, use the Edit Configuration utility that comes with CADmep.

Note that this utility is named the same between versions and between CADmep, ESTmep and CAMduct products. It may be tricky to pick the right one. You need to select the one that comes with CADmep.

You also need to perform this for each CADmep version that’s installed. To help, you may want to choose the Open file location option. This will bring you to the folder with the shortcuts. You can then easily navigate to the proper version of Edit Configuration that you’re looking for.

When you run the utility, it’ll prompt for a configuration. You can pick any, it doesn’t matter. The setting to change is not specific to the configuration, only the product and version for the currently logged in user. The following image shows the Skip Validate Buttons at Start-Up option.

Select this option and the next time you launch CADmep, you’ll no longer see the button validation. This prevents you from canceling out of the validation as well as speeds loading of CADmep.

Credit Goes To…

Special thanks to Martin Schmid and Craig Farish of Autodesk for helping with this issue. We’d been experiencing this issue on and off for over 1/2 a year. Autodesk Support had indicated that nobody else had reported the issue and provided the 2019 work-around. They repeatedly assured me it was fixed in 2020 and not a problem with my data. They had no fix for 2018 which is used by several projects.

After experienced a large volume of invalid buttons, our database administrator spent 6 hours before users arrived rebuilding service templates. The the issue resurfaced within hours of a simple database update. With $5k-10k of lost productivity over 2 weeks with several detailers unable to model certain services, I called in a favor with Martin and Craig. They quickly had their team analyse our data and identify the fix.

I’ve since run into 4 other companies experiencing the same issue and this fix has worked flawlessly for them as well. Hopefully you’ll not need it but if you do, it’ll save you load of time, frustration and money.