CAD File Naming Advice

When making a CAD model you will often end up with a bunch of files.  Naming those files might seem pretty simple at first, but it can quickly evolve into a rather tangled web. Initially you can get by with descriptive names (top, bottom, shelf, bracket, etc.) but if you make models of any appreciable size this will soon become cumbersome.

To avoid this you're better off using part numbers rather than descriptive names.  I'll describe my preferred method for naming CAD files.  In the early 1990's a few of my colleagues and I (I was working at a large company at the time) developed this scheme.  It has held up very well over the years.

The first step is to pick a name for your project.  Actually, I suggest giving each project a number, rather than a name, but you can get by with a name.  In the Carleton shop, every project gets a sequential number prefixed by the year it was begun.  For example, a project might be numbered "2009-056".  It's best to keep the number of characters the same, so decide how many digits you might need and pad with zeros.  For my project number example, I will do between 100 and 1000 projects in a year so I go with three digits e.g. "056" rather than "56".  To this project name (or number) add a dash and then a part number.  Again a maximum of 1000 is adequate so, a part might be numbered "2009-056-103" or, if you chose to use a project name, "ThreeDrawerCabinet-103".

If you number the files this way it will be hard to use the file name to pick out a particular part in a directory listing.  That's OK though, because you will usually open the assembly and then pick the individual parts from there - from within the CAD tool.  You will use the numbering scheme for assemblies as well and, in contrast to individual parts, it is convenient to be able to pick out the top level assembly from a directory listing.  For that reason I suggest segregating the numbers.  Start with 000 for the top level assembly and continue sequentially numbering your assemblies from there.  For the pieces (not assemblies) start with number 100 and then go up from there.  In our example, the top level assembly will have number 2009-056-000 and the first part will be 2009-056-100.

That numbering scheme will get you quite a ways, but there are a couple more considerations.  The first is that, relative to the real-world thing you plan to build, you can have three different types of parts.  When you go to make your thing, it is very convenient to be able to use the file name to tell which type of real-world part a CAD file represents.  The three different types of parts are parts you will make, parts you will buy and parts for reference.  Parts you make will have drawings and include both individual pieces and assemblies.  Parts you buy will be completely specified by a manufacturer and part number while reference parts will be there just to help with the CAD model.  

The second thing to consider is that there is not a one-to-one correspondence between CAD files and real-world parts.  In particular, it is sometimes convenient to use a CAD assembly to represent something that is treated as a single part in the real world.  One example of this is a welded part.  You might choose to make the individual pieces of the welded part as separate CAD files and then put them together in a CAD assembly.  In the real world this would be a single part but in the CAD world it is an assembly.  Another example is a commercial part built as an assembly.  You might, for example, model an air cylinder as a housing and a separate piston.

To deal with these situations, we add and "extension" and a counter to the file names of some CAD files.  Purchased (a.k.a. commercial) parts, reference parts and components of real-world single-parts made as assemblies get an extension and a counter.  An "extension" is a underscore ("_") followed by a two letter code.  A "counter" is a three-digit number following the extension.  The counter wouldn't have to be three digits, but experience has shown that three digits is enough whereas two is sometimes not quite enough.  The "core part number" of any file with an extension is, in general, the part number of the CAD assembly on which the part is used.  This is not a strict rule, however, because it is OK for a part to be used on more than one assembly in a given project.  Parts to be made, both assemblies and single pieces, do not get an extension or counter.

One last note - you can expand this to include other file types that are not CAD files.  For example, if I make a CNC program for a part I would build a file name using _nc as the extension.  Following the pattern above, 2009-056-106_nc001 would be the file name for the first CNC program for part 2009-056-106.

That's really all that's to it.  Not so complicated but it takes a bit to explain. I'll end with a summary table and an example of a CAD assembly tree.  The tree shows most of the possible combinations and should clear up any uncertainty.

File Extensions

Extension File Type Example
None Ordinary part or assembly 2009-056-000
_cm  Purchased part 2009-056-000_cm001
_wd Component of an ordinary part 2009-056-103_wd001
_rf Reference part or assembly.  May be used as a component to another reference part. 2009-056-000_rf001
_cc Component of a purchased (_cm) part 2009-056-000_cc001

Example CAD Assembly

The indentation shows the assembly structure

  • 2009-056-000 (the top-level assembly)
    • 2009-056-001 (a sub-assembly)
      • 2009-056-100 (a part to be made.  It is modeled as a single CAD file)
      • 2009-056-101 (etc.)
      • 2009-056-102 (a single part made as a CAD assembly)
        • 2009-056-102_wd001
        • 2009-056-102_wd002
        • 2009-056-102_wd003
      • 2009-056-001_cm001 (a purchased a.k.a commercial part)
      • 2009-056-001_cm002
    • 2009-056-002 (another sub-assembly) 
      • 2009-056-003 (yet another level of sub-assembly)
        • 2009-056-103
        • 2009-056-104
        • 2009-056-105 
        • 2009-056-001_cm001 (this part was originally made for the 001 assembly,  it's OK to re-use a part on another assembly)
        • 2009-056-003_cm001 (a purchased part made as a CAD assembly)
          • 2009-056-003_cc001
          • 2009-056-003_cc002
        • 2009-056-106
      • 2009-056-107
      • 2009-056-000_rf001 (a reference part)
      • 2009-056-000_rf002
        • 2009-056-000_rf003 (rf parts can have other rf parts as components)
        • 2009-056-000_rf004