Autodesk Fabrication: Best Practice #6

Don’t PURGE or COMPACT Your Database When In Use

A Fabrication Database that’s well managed should have changes being made. This can mean things like materials, specifications, services, connectors and such may be occasionally deleted and removed. If there are proxy items in your database that have {brackets} around them, they should be made permanent or removed as well.

The way to do this is to PURGE and/or COMPACT your database, You can do this by typing PURGEDB on AutoCAD’s command line or by selecting File -> Setup -> Manage Database from ESTmep or CAMduct as sown in the following image.

When you initiate this process, you’ll be presented with a standard “Backup Your Database…” warning which you can click OK to.

From there, you are then presented with the following dialog.

Items that show up here are the ones that show up with {Brackets} in your database, They should either be made permanent or removed in a well managed system.

The Make Permanent option is fairly safe. The items are in your database already there and already have indexes assigned.

On the other hand, the Purge Database option will remove them from your database. When you do this, the’s a chance that some of the database indexes will change as those indexes are how the various database tables relate to each other.

If you do this while others are using the database in CADmep, ESTmep or CAMduct, they already have the database tables loaded into memory. Depending what they are doing, some activities may cause parts of the database to be reloaded while others are not. When this happens, strange things can happen to your drawing…your systems might loose their service or change services or connectors change without notice. More times than not, unless you catch it right away,by the time you find the issue you’ll need to remodel your data or retrieve it from a backup.

In a Database, records are not actually deleted so while the Purge command appears to remove items from the database, it  actually just flags them as being unused so those areas in the database can be overwritten with new data later. This is where Compacting the database comes into play. The Compact the Database Now option will rewrite and re-sequence all the database files and their indexes to recapture that unused space. Again, this causes issues for others who are currently referencing the database and doing work.

While there is danger in using these commands, they should be used to properly manage your database. The key here is to use them after hours when other users are not using the database. Another option would be to do your development work in a copy of the database so nobody is ever “using” the database you’re performing administration work in. When you’re done, you can “copy” this database to the production database but again, after hours when nobody is doing work or you could have all users log out temporarily (perhaps at lunch) and copy the database then.

To the best of my knowledge, this issue is NOT present for those of you using Revit with Fabrication parts. Revit loads in your services and content and caches it in the Revit model. It doesn’t reference the database configuration again while you work unless you manually “reload” the configuration, So unlike CADmep, ESTmep or CAMduct which may reload parts of your database just by using the software, Revit won’t do this unless you manually reload in which care it will reload everything and keep all those database sequences sin check.

If you’ve ever opened an AutoCAD drawing and your parts appeared orphaned from their services, connectors changed to things that don’t make sense or your Cast Iron NoHub Waste system suddenly reports as Rectangular Supply Air, this likely was the cause and this Best Practice is for you.

Autodesk Fabrication: Best Practice #4

Make sure ALL of your ITM content has a Database ID assigned to it.

A database ID is a unique identifier for content. There should be a single Database ID for any ITM that is NOT Product Listed. For Product Listed ITM’s, there should be Database ID for each entry in the product list.

For ITM’s that are not product listed (typically fabricated sheet metal fittings or other content where the ITM only represents one size, you can put the Database ID in the “Code” field of the ITM Properties as shown in the following image…

For ITM’s that are Product Listed, the Database ID should be in the ID column of the Product List. When you place an instance of a product listed ITM in your model, you select a size from the product list, When you select that size, the Database ID associated with that size it automatically entered into the Code field of the ITM Properties like shown earlier, The following image shows the Database ID column in a Product List…


Why Use A Database ID?

The Database ID is a useful component to managing an Autodesk Fabrication configuration. This Database ID can be referenced by other aspects of Autodesk Fabrication should you choose to use them. The Database ID is what can link your content to….

  • Price lists
  • Fabrication Labor
  • Installation Labor
  • Product Information (ProdInfo)

Even if you don’t use ESTmep for estimating  and don’t want to use the Price and/or Labor features of the database, Product Information is tied to the Database ID and is used to store additional meta data about your content like Manufacturer, Size, Description, etc. Even if you’re not using ProdInfo now, it’s still a good idea to use Database ID’s because adding them to the content is the most time consuming part. It’s easy to add them when building content, more cumbersome later after the fact. If all your content had Database ID’s assigned, it’s much easier to implement ProdInfo, Price and/or Labor later down the road.

The following Video shows how to access the Database ID of Product Listed and Non-Product Listed ITM’s. It also shows you 2 different sizes of a product listed ITM in a drawing and how Autodesk Fabrication automatically assigned the Database ID from the Product List for the corresponding size into the Code field of the ITM Properties.


Key Database ID Takeaways

Here’s a few pointers when working with Database ID’s:

  • Each Database ID should be unique and not assigned to other content or sizes.
  • Managing Database ID’s using a spreadsheet or other database makes managing them much easier.
  • Your database ID can be anything you want but should have some sort of naming standard associated with it.
  • Your Database ID Naming standard can be as simple as a prefix followed by incremental numbers to something complex with special codes and formatting to indicate other aspects of your content. (e.g. Valves, Pipe, Sheetmetal, etc)
  • You can use Autodesk or other Vendors ID’s if they already have them assigned and use your for anything you create or replace them all with your own company Database ID’s if you are particular about naming standards,
  • Don’t reuse ID’s if the content that once used them is now obsolete. Legacy/Archive drawings still reference these numbers. Simply flag them as being obsolete in the Spreadsheet you are managing them with.

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.

Autodesk Fabrication: Best Practice #3

Don’t leave proxy items in your fabrication database.

You’ll notice these as they appear with curly brackets { } around a piece of text like an ITM name or DWG name.

These proxy objects can show up many places. Services, Service Templates, Materials, Connectors, Seams, etc. They occur when an ITM or drawing containing ITM’s references a database entry that no longer exists in your Fabrication configuration. As an example, if you delete a connector from your database, let’s say “Copper Cup” then later add an ITM to your drawing that contains a reference to that connector, it gets added back to your configuration and displays the ITM name in the curly brackets.

If there’s bracketed items in your database they should either be made permanent or deleted. If deleted, they may keep coming back.  If you truly want them gone, you need to find the objects bringing them back and update them to the new item in your database configuration that they should point to.

A properly managed Fabrication database configuration should have everything configured properly. Items with curly brackets are an indication that things are not configured properly.

Future posts will explain various techniques to help identify where these bracketed items come from as well as how to correct them efficiently.

 

Autodesk Fabrication: Best Practice #2

Don’t use BMP files for ITM Images

If you’ve been using an Autodesk Fabrication configuration for a long time, like back before Autodesk acquired MAP Software Ltd, you may have a lot of content that’s using Bitmap (*.BMP) files. These image files are used on a couple key locations….

1: Service Palettes….

2: Folders Dialog….

If you’re Fabrication configuration uses BMP files for images, you should consider converting them to PNG files. There’s a number of utilities that will do this in bulk for you if you have a lot. My favorite is using TechSmith’s SnagIt Editor but there are others.

Use Windows Explorer and browse to your content. You can use the search functionality in the upper right corner and search on *.BMP to see how many Bitmap images there are. Or you can browse folder by folder looking for them. Hint: Sorting by type can speed with this too.

Once you convert the BMP’s place the PNG files in the same folder using the same name as the BMP and then delete the BMP files. Doing this will reduce the size of the files which in turn speeds the display of your service palettes and folder’s list.

Autodesk Fabrication: Best Practice #1

Don’t use Double Quotes ( ” )….Ever.

An Autodesk Fabrication Configuration contains a lot of information. One of the best tools for managing, sorting, filtering and maintaining lots of information is Microsoft Excel. There are some functions in Fabrication that export information into CSV format. Commands like SYSSCRREPORT in CADmep. You may even have some scripts or API code that exports data to a CSV.

When Double Quotes are used, this can and does often confuse Excel into thinking that it’s a separator between multiple pieces of Text and it can shift the data in some rows to different columns.

If you use feet-inch format/units and like the look of double quotes for inch marks, an easy workaround is to use 2 single quotes ( ” ) as opposed to a single double quote ( ” ). When using 2 Single Quotes, it’s hardly noticeable even when looking for it like in this text. Try selecting the text sand you’ll see they are indeed different.

While this rule should be adhered to anywhere in the fabrication database, there’s 4 primary areas where it’s most likely to cause you grief.


Database Entries – Materials, Specification, Connectors, Seams, Airturns, Ancillaries, etc.


Folder and ITM Names – While a perfectly valid character in Windows for files and folders, it’s not a good idea when using Autodesk Fabrication.


Product List Names – One of the most common areas to see the inch mark.


Product Information Editor – Another common location where you’re tempted to add double quotes. It’s common for people to maintain this data in Excel in the first place so it’ll be really easy to do a global search and replace to fix it.


In future posts, I’ll share some processes and scripts that can be affected by using Double Quotes. Until then, just trust that it’s a bad idea.

Autodesk Fabrication Resources

I’ve posted a number of Autodesk Fabrication resources for anyone using Autodesk Fabrication CADmep, EDTmep, CAMduct or Fabrication parts in Revit. You can find them using the Resources menu or by following the link here. You can also find this same information on the site XtraCAD.com. In the future, I’ll be compiling and posting additional resources that I’ve collected over the last several years in the course of administering Autodesk Fabrication databases for some large MEP firms.

Fabrication Resources…
  • History of Autodesk Fabrication build numbers for all the versions, service packs and product updates.
  • Pattern/CID Number history lists which Pattern Numbers (CID’s) are supported in which versions of the Fabrication products.
  • Revit Support history lists which Pattern Numbers (CID’s) are supported by which Revit versions.
  • CADmep command history lists which commands where added/removed from the different CADmep versions.
  • AutoLISP function history lists which versions of CADmep support which CADmep specific AutoLISP functions.
  • FabViewer command history lists the commands supported for the FabViewer in each version of Fabrication products.
  • Post Processor history lists which post processors are supported in each version and/or servicepack/update of the Fabrication Products
    • Decoiler/Coil Line Posts (DPL’s)
    • Plasma/Laser/Router/Waterjet Posts (VPL’s)