Revit 2022 – Missing Fabrication Addins (temporary fix)

Update (2020.04.08): Autodesk released the Extension for MEP Fabrication 2022 on April 8th. You can get it from the Autodesk Desktop App or from your Autodesk Accounts Portal (manage.autodesk.com). This restores the MAJ Import/Export functionality and access to Fabrication Reports. It does NOT install the RME to FAB add-in. So part of the below guidance is still needed. You’ll want to copy the ADSK_Export.addin file per the below instructions. The other file is no longer needed and Autodesk’s newly released Extension will overwrite what’s needed if you used the below guidance.


If you’re an Autodesk Fabrication user and loaded up Revit 2022, you may have noticed some key Fabrication Add-ins are missing. It happens most every release. Deadlines for product releases always trump add-ins. This year, all the installers were reworked too so there was extra work I’m sure.

Don’t fear, they’ll get to them eventually. Just keep an eye on the Desktop App for when the updated Add-ins are release. In the mean time, here’s a temporary fix…

Enabling Fabrication Add-ins

To get the Fabrication Add-ins, you’ll need Revit 2021 installed and have those add-ins loaded in there. From there, there’s 2 files you’ll need to copy to a different folder.

Autodesk.MEPFabricationPart.Commands.Application.addin
ADSK_Export.addin

The first file enables MAJ Import/Export and Fabrication Reports. The second file enables the Fabrication RME Extension in the Add-ins Ribbon.

You copy them from this folder…

C:\ProgramData\Autodesk\Revit\Addins\2021

…to this folder…

C:\ProgramData\Autodesk\Revit\Addins\2022

Here’s what that looks like in Windows Explorer….

What This Looks Like in Revit

Once you copy those files, restart Revit to see the changes. Here’s a review of what that looks like…

MAJ Exports

MAJ Import

Fabrication Reports

A Parting Word

It should be noted that this work around should be considered “temporary”. You’re running 2021 Add-ins in 2022. The files you coped should be removed once the official 2022 Add-ins are released. This will ensure you get any fixes they may have added to the 2022 versions.

Fabrication Job Contains No Parts – Possible Fix?

Have you ever tried importing an MAJ into Revit and received the following error….Fabrication Job Contains No Parts.

There’s a lot of reasons this can occur and it’s NEVER because there are no parts. So much for Autodesk’s QA/QC and Error checking.

You may see this most commonly because parts used in the model contain data that’s no longer in your database. You’ve likely noticed from time to time database entries with curly braces around parts of the name like the following…

This happens when an entry in the database is used by an ITM but the database entry itself later gets deleted. Information is cached within the ITM so when it’s accessed, it creates a Proxy entry in your database if it was missing. Within the {Curley Braces} is the name of the object that created the entry.

While CADmep, ESTmep and CAMduct handle this fairly gracefully, Revit on the other hand does not. When it attempts to load an MAJ, it sees these entries and notices they’re missing from your database and prohibits you from importing the MAJ file. Revit thinks the database doesn’t match the MAJ and stops you cold!

A Possible Fix

If this is cause for the import error, you can use the following COD script to potentially work around the issue….

Take the following script and run in in CADmep, ESTmep or CAMduct. You should be logged in with Administrative Permissions while doing this. This script isn’t fixing Revit or the MAJ. What it’s doing is loading ALL the ITM’s from your Database Library into memory.

The process of loading all these ITM’s into memory creates all these proxy entries in your database. This way, when Revit attempts to import the MAJ, the data associated with those ITM’s are most likely present in your Database configuration. In many cases then results in a successful import of the MAJ.

If the Revit file you are importing the MAJ into already points to a Fabrication Configuration, you should reloaded the configuration FIRST before attempting to import the MAJ.

If for some reason this process still doesn’t work, verify that Revit is reading from the same database location as the version of CADmep, ESTmep or CAMduct where you ran the COD script.

In the event it still doesn’t work, there may be other reasons for the failure but this is often the most common, especially with MAJ’s created recently.

If it does work, you’ll want to use the other scripts I provide on this site to help analyze your database. You likely deleted those database entries in the first place for a reason. You either didn’t realize they were needed, or you didn’t know where they were used to repoint those ITM’s to a proper substitute. Those scripts can help you find which ITM’s use which database entries.

Hope this helps.

Revit 2020 Fabrication Extension

For MEP fabricators using Revit, Autodesk has finally released the Fabrication Extension for Revit 2020. This extension allows you to Export and Import MAJ files from Revit. Imports have always been problematic and prone to issues but Exports typically work well.

You can download the extension 3 different ways…

1: Autodesk Desktop App

Likely the easiest way, check your Autodesk Desktop App for available updates and download/install from there.

2: Autodesk Accounts – Updates

The second easiest way is to log into your Autodesk Accounts portal and click the Product Updates button on the left. This lists all the available product updates associated with the products you have.

3: Product Download Page – Updates

The least easy way to get product updates is to do to the Revit product downloads and look at the Updates section. Takes a little longer to get here but all the updates associated with a single product can be found here.

CAMduct, OPUS Parts, Edited Developments and Proxies

Two Problems….One Solution

In CAMduct using OPUS parts and/or ITM’s with developments that have had edits made to them can on occasion cause some headaches. The following process can be used to resolve 2 different issues in CAMduct, Those are….

  1. Retain edited pattern developments
  2. Eliminate proxy database entries with {curly brackets}

1) Retaining Edited Developments

It’s fairly common for CAMduct users to edit pattern developments. Occasionally, they may want to save these edited developments for later use. A good example is using a number of separate ITM’s for damper blades. Each ITM is a different size with perhaps some edits to the pattern for slots/holes for U-Bolts, notching to clear screws, etc.  A CAMduct user can use any CID Pattern for the basis of their edits. For example, they could use an Elbow CID, delete all the developments belonging to the elbow and redraw something completely from scratch. The problem with this is that if you ever try to change materials or edit the ITM in any other way, the development edits are lost and the original development is back minus your changes.

In the following image, you can see that Right-Clicking on an ITM made from CID 41 offers a couple editing options In this case, we’re going to select the Edit Developments option.

When you select the Edit Developments option, you’re brought to the OPUS Part editor shown in the next image. Here you’ll see that there’s been a 45 degree slot added to the development.

On the other hand, you can also Right-Click on the ITM and select EDIT from the menu as shown in the next image.

This option brings up the standard ITM editor which you should be fairly familiar with. The part you see in the ITM editor may not look anything like the development, it may look very similar or in fact be the same part developed if there were no edits made. From the ITM Editor, click the “Develop” button in the lower right and you’ll again be brought to a dialog that displays the part(s) developments. This time you’ll notice that the 45 degree slot is not shown. In fact, it’s displaying the unedited development for the CID you’ve selected based on the Dimensions, Options, etc. as entered in the ITM Editor. From the ITM editor, the dimensions, options and other settings drive the size/shape of the developments. It wouldn’t know what to do with your edits so it gets rid of them,

When you Edit the part in the ITM Editor, even if to change something simple as a material, the pattern gets redeveloped and the edits you made to the developments are lost. This makes ITM’s utilized this way very prone to getting wiped out of you’re not careful.

The solution to protecting these developments is to change them to a different CID pattern used exclusively for OPUS parts…CID 998 (or 0 depending how it’s created) OPUS parts contain only the development and not the originating ITM pattern. When you select the Edit option for an OPUS part, you go directly to the Opus Editor.


2) Proxy Database Entries

The other problem with edited developments is they can bring in proxy entries into your database. As an example, lets say the CID Pattern used was pointed to a Material, Connector or Seam in your database that no longer exists, was renamed or moved to a new group. As explained earlier, you can’t go back and edit the ITM to change them or your edits to the development will get wiped out.  You can change the seams/connectors/materials with a COD script to avoid this but most people are not familiar with this process. When you use this type of ITM, the old materials, seams and.or connectors that were originally used come back into your database with {brackets} around them.

Even then, a Development Part is assigned a material separate from the material on the ITM. There is no way to change the development part’s material from a COD script. You can however, change it from the Development tab of the Properties dialog.

The following image shows the Properties option when Right-Clicking on an ITM.

After clicking the Properties option, the properties dialog box will appear. Here, you can switch to the Developments tab to see the developments of the ITM. From this tab, you can then edit the Development Part material. This still presents a few possible difficulties…

  • You have to edit the development part material one ITM at a time.
  • You can’t script changing the development part material
  • You can’t set the development part material to “None” as this is not an option
  • Depending on the “Catalog” and/or other options of the ITM, the Development Part material drop down may not be enabled for selection.

As we mentioned earlier, a native OPUS part CID only contains the developments and avoids a lot of these issues.

The obvious thing to do is to go to the edited developments of the original ITM and copy the geometry to the Windows Clipboard (Ctrl-C). You could then go to an Empty OPUS part and paste the object there from the Windows Clipboard (Ctrl-V). But again, this presents yet more issues.

Even though you would only be copying/pasting the development entities, CAMduct still remembers there were seams and connectors applied and this data hitch hikes along for the ride on the geometry even though you can’t see it. Except now, you can’t get to the ITM editor any longer to change them and COD scripts can’t find any connectors to seams to change because an Opus part doesn’t have those options. The information i there,, hidden, but inaccessible.

In the following image, you’ll see two ITM Properties dialog boxes side by side.

In the LEFT image, you’ll see what the Developments tab looks like on an ITM with edited Developments or even. It alo look this way on an OPUS part that was created using Copy/Paste method from a different CID. The OPUS Editor doesn’t show you, but the Developments tab in Properties displays text for the Seams/Connectors.  The image in the RIGHT is an OPUS part created with a completely different process that we’ll show shortly.

Also notice the image on the LEFT shows a material in the drop down list where as the image on the RIGHT does not. Using the ITM that was the source of the Left image will bring in proxy Materials, Seams and Connectors if they no longer exist in your configuration. Using the ITM that was the source for the Right image, will not bring in these Proxy items. This means if you later reorganize your materials/seams/connectors, the ITM for the left image will keep corrupting your database and the ITM for the right image will not.


The Solution

To resolve both of these issues, Edited Developments on none OPUS CID Patterns and eliminating proxy database entries, we can use the same process. This process involve creating DXF files for the existing ITM’s an then creating new ITM’s from those same DXF files.

The following image shows how to Right-Click on the ITM and Export the DXF to a file on disk.

Once the DXF files are create, you can Right-Click on an empty area of the Folder display and select New, then Import as shown in the following image.

The import process is fairly self explanatory end leaves you in the Opus part editor. Here are can make any final changes and when clicking OK, you can overwrite the existing ITM or give it a new name. This new ITM is based on CID 998, has no material set in the developments and contains no traces of any seams or connectors. You also don’t need to worry about accidentally deleting the edited developments because editing this ITM brings you directly to the OPUS Part editor and does not bring you to the ITM editor.


Additional Considerations

What’s nice about the above process, is that you can select multiple ITM’s at one time to Export to DXF. And when you Import the DXF’s, you can also select multiple DXF files. There will be some additional or changed prompts in this process but it allows you to quickly clean up your existing OPUS parts and protect ITM’s made from non-OPUS CID’s.

One thing to watch for is complex geometry with a lot of curves/arcs/lines. You’d typically see this type of geometry when cutting patterns that represent art or a lot of text. When dealing with this type of geometry, before you Import the DXF’s, you may want to explore some of the settings used by CAMduct to automatically detect a complete profile without any small gaps or overlaps causing issues, The following image shows where these settings can be made.

Use of these settings goes beyond the scope of this article so I’d recommend using a little trial and error to get the best results only if you encounter problems with importing DXF’s.

The other thing to watch for is the Kerf or offset used on the tools assigned to the profiled part and which types of lead in/out paths are used to start and end the profiles, While you can always edit these settings of the OPUS parts later on a case by case basis, you can set the defaults to use in CAMduct. The following image shows where to set these default values.


Taking a Closer Look

If you want to take a closer look, at the entire process, you can view the process this these two videos.

Here’s the process to cleanup a single ITM…

 

Here’s the process to cleanup a multiple ITMs…

 

If you want to play with a couple ITM’s yourself, you can download them here.

If you play with the original ITM Test Plate (CID 41 – Dev Edits).ITM or the OPUS part created with the flawed Copy//Paste method Test Plate (CID 998 – Copied to OPUS).ITM, you’ll see a custom Material, Seam and Connector added to your database, Delete them out and try again with the next ITM. You’ll see that the ITM created with the DXF process Test Plate (CID 998 – DXFed to OPUS).ITM we showed earlier does not bring the old materials, seams or connectors shown in the below images.