The Evolution of a Numbering Scheme

Because numbering schemes are a very important part of every CAD standard, I have decided to share with you the story about how we got to the numbering scheme we are using today.


I started working as an apprentice one year before I went to university. This was the first time I held a real drawing in my hands, and it had a real drawing number on it too. During my years as an apprentice , the company had at least three different numbering schemes!

  • The first scheme was an old one that was very significant and complicated. If I remember correctly these drawings were made in a 2D software.
  • The second scheme was only used for projects in our country and had a hierarchical structure.
  • And the third was a non-significant scheme with 6 digits.

This means we had all the numbering schemes we could have at once. Sadly, I don’t have any examples to show you.


At the university, we never gave much importance to the numbering of drawings. All the professors cared about was that we made the drawing according to the ISO standard!

This is an example of a weldment drawing. As you can see its’ parts are also on the drawing.

ISO drawing

My first employer was a start-up company that made sports equipment. Because I was the first mechanical engineer there, I had to come up with a numbering scheme. It turned out to be complicated and significantly hierarchical. Not a surprise, is it?

To make this blog post more readable, I made a diagram to explain the numbering schemes and an additional diagram to show how it looked on a project.

Numbering SchemeNumbering Example for SolidWorks

But soon this numbering system came crashing down on me.

According to ISO standard, one should have all the parts of a weldment on the weldments drawing. After some time, I realized that if the weldments’ parts are made by two different manufacturers and then welded by a third manufacturer, I damn sure want to have a separate drawing for each part so I can send it to each manufacturer! And if I was going to make drawings for each part, why should they be hierarchically positioned under the basis number of the weldment (KO_01_1001)?

The next problem appeared when I used the same part in two different subassemblies. How will I number that part? After the first subassembly or after the second? And what if I had to machine the weldment afterwards, how would I get another level in it?

Looking at it now, it was a real mess and very complicated.


Being self-employed, I knew I had to come up with a better numbering scheme that I could use with multiple customers.

One day I got a call from the manufacturer that was making the parts for the second version of a product. He said: “Hey Barbara, I need some help. Can you please tell me which parts have actually changed in comparison with the first product we made?”

You see, when I was working on a new version of the product, I copied the whole main assembly via “Pack-and-Go” and replaced the old project number with a new one (KO_01 -> KO_02). The manufacturer had all the CNC code saved according to the last products’ numbers, but now the drawing numbers were different although some parts remained the same. This was when a light bulb lit up: one part should have one number even if used in multiple products, and if it changes it should get a revision. Eureka! I think this was the first time I typed “CAD numbering” system into Google.

I did some research and found that non-significant numbering is the way to go. So, I came up with a new numbering scheme. 


Numbering SchemeNumbering Example for SolidWorks

The first two digits were customer digits, and the last six were for the parts, assemblies, weldments, etc. I tried this system for some time, but it got very hard to manage and to keep track of which part was used where. And if I made a change to a part it could have affected other projects that were already finished! I also had problems with folder organization. Besides all that, I had to manage an Excel table to keep track of the numbers. All this became very time-consuming.


Although we are aware of all the benefits that a totally non-significant numbering scheme has, we kept some significance to make it easier for people to interact with the projects' documentation.

Numbering SchemeNumbering Example for SolidWorks

Keep in mind that for all our numbering schemes the filename of the drawing and the model matched the drawing number.

Drawing Numer = Filename

As you can see from the example above, a number begins with the project number (17002) and is then followed by a 3-digit number (or 4 digits for larger projects). If these 3 digits are 000, this means you are looking at the main assembly or one of its’ subassemblies that we call “main subassemblies”. If these 3 digits are anything else then 000, then you are looking at a part or a lower level assembly. In case it is a standard part, we designate it with the needed ordering information.

So why are we using the number of the main assembly (17002-000) also for the main subassemblies? We could also have numbered the first main subassembly 17002-012 and the second one 17002-035 for example, but what would this mean in a printed project folder? It would mean that every time someone would open the project folder, he would have to go through a lot of paper to get to the main subassemblies, and after that, he would sooner or later bring them to the beginning of the project folder. And the same goes for a Windows project folder. If these subassemblies are positioned just under the main assembly, everything is much more transparent and organized on the top of our screen. Furthermore, when it comes to very large projects you want each main subassembly to have its own drawing file. We tried to put all of the main subassemblies on different sheets of the main assembly drawing, but SolidWorks just wasn’t responding fast enough to make it bearable.

The negative side of our numbering scheme is seen when a remake of a project occurs, which does not happen very often. But when it does, we use the old project and copy it via “Pack-and-Go” to the new project location with the new project number at the beginning of each file. After we send the files to the manufacturer, we notify him to pay attention if he will be using the code from the old project, because each part could be different. In most cases, manufacturers don’t care much about it after all. 

We could avoid this issue if we used a non-significant 6-digit scheme. But as I said before, managing this without PDM would be very hard and time-consuming. With keeping the project number at the beginning of each CAD file, I know that this CAD file can only be used in one particular project. And if I change it, I can’t ruin any other projects that are already finished. Having this checked up gives me peace of mind.

Although we are using PDM now, we still kept the same numbering scheme as before. But I am thinking of testing a non-significant numbering scheme with PDM in the future because if I figure out how to make it a no brainer, it could be a nice upgrade to our current system.


To know more about the latest version of our numbering scheme that works very well with PDM, check out: The Numbering Scheme Revolution


What is your numbering scheme like?

We would like to show examples of different numbering schemes on this blog. Anyone is welcome here. If you are willing to contribute, please contact me via

Share this post:

If you found this article helpful, please share it with others who might benefit from it.

About the Author

Barbara Jerin

Is the creator of this blog and author of the majority of blog posts.

Comments 41

  1. Hello Babara,

    a fine story …
    But finally I would say: Be consequent. Now, when you have a PDM system, use non-significant numbers assigned automatically with a part number generator.

    Having the project number as part of the part number is a wrong approach: Parts are not usable in other projects or the significance is going away.

    You wrote: “One part should have one number even if used in multiple products, and if it changes it should get a revision.”
    Well this is correct if you have properly defined: What is a part? What is “changing a part”? What is a revision? And most of all: Are the interchangeability rules used correctly?

    My thougts on part numbers and interchangeability you can find on my website at

    Best regards

    1. Post

      Hello Jörg,

      Thank you for your comment and opinion. I appreciate you took the time to check out my blog.
      What do you think about the main subassembly numbering scheme: 17002-000-01, 17002-000-02..? Can we keep this even with the non-significant scheme? This would mean something like: 180521-01,180521-02,..?
      What kind of numbering would you suggest to someone that does not have a number generator?

      1. Your subassembly numbering scheme is the same as project number in the part number. What if the same part later goes into another assembly? Just never code where-used information into the part number. (I have formulated my paper more precise in this point.) The usage of a part must be retrieved from the BOM and only from the BOM, or product structure in the PDM resp.

        The simpliest part number generator may be an Excel sheet with a VBA macro that copies the next free part number into the Windows clipboard. We use this too. And we have little scripts in the CAD and PDM which search for the highest existing part number withinf a defined part number range, addes +1 and put this new one into the P/N field of the system.

        Best regards

        1. Post

          I agree with you!
          I have thought about doing a similar macro, that would suggest the next highest available number in the project folder, but I did not have the time yet.

          Have you developed these scripts and macro yourself, or have you got it developed from some other company?

          1. Hi Barbara,

            I have written the code by myself. I have sent the Excel VBA version to you by e-mail. The PDM script depends on the system. In principle I have made a SQL select for the highest existing sequential number (this may be a substring of the part number), added +1 and inserted it into the appropriate PDM field of the form for creation a new part record.

            Best regrads,

        2. hi Jörg

          Is it possible to sent the excel part number generator also to my email?

          Does your script work with solidworks? If so, is it also possible to share that so I can check this out?


  2. Hi Barbara,

    I know I’m a little late to the conversation, but I just recently found your blog page.

    I am a consultant (Applied CAD SOLUTIONS, LLC) and have been for many years. Having worked for and with many companies having all kinds of numbering schemas I have grown accustomed to understanding them. I do like your -00, -01, … at the end of the assembly part number indicating an upper level assy.

    However: from an ease and “reuse” point of view I personally like a semi-smart numbers system followed by a sequential (dumb) part number. I’ll clarify what I mean: I like a 2- or 3- digit part number prefix which helps define the type of part/assembly.

    00 for top level assy
    01 for assembly
    02 for machined parts
    03 for weldments parts
    04 for sheetmetal parts

    96 for screws
    97 for washers
    98 for nuts
    99 for Dowel pins

    This prefix followed by a simple 5 or 6 digit sequential (dumb) number (01-00001, 02-00099, et…). I have seen this type of format work at several companies and it typically has the least confusion and issues later.
    No matter what there is no such thing as “one size fits all” and P/N’s depend on the need of the particular company.

    Kind regards,

    1. Post

      Hi Tom,

      This is an interessting numbering scheme you are suggesting. Would you suggest this kind of numbering scheme for project-based or product-based companies?

      I suppose this kind of numbering scheme is used to easiliy find the top assembly of a product, because it will always be on top in any project folder. Which is not possible with totally dumb numbers. I agree!

      On the other side it might happen that a sheet metal part could be “replaced” with a machined part, and if the parts are actually interchangeable, the PN would have to stay the same. This means that a 04- part would become a machined part :). The same could happen with a top assembly and assembly.

      I know, there’s always something that get’s in the way :). I’m still searching for the right mix of everything, and it’s hard to find. No matter what scheme I choose, each has it’s pros and cons and should be considered from company to company.

      Looking forward to your response 🙂

      1. Hi Barbara,

        Sorry for the late reply to this post, I guess it got lost in my emails in bucket.

        I’ve seen this type of numbering schema work for both product-based and Project-based companies. In both systems I’ve seen the folders sorted by p/n prefix and use a filed on the data card to select the product &/or customer. If using PDM it’s pretty simple, in the model select the product/customer name from a predefined dropdown list and configure the drawing data card to automatically “copy” the product/customer name to the drawing’s data card. Product/Customer name can easily be a search field in PDM and you can set a column in File Explorer to display the customer name (which you can then sort by).

        I’ve also seen customers decide that they want wat to list the Product/Customer and have all the files in one folder. This is pretty easy to setup and the same numbering system can still work but it always seems to get buggered up if reusing the part into another project.

        As we’ve indicated there is no one size fits all. Typically, when I’m working with a client, I start by reviewing their current p/n schema. Most are pretty good about letting you know what pieces work and what gives them issues. After that we assess if the existing system just needs modifications or if an entirely new system warranted.


        1. Hi,
          Regarding the semi-smart prefix & dumb sequential numbering scheme.

          Is the dumb sequential part number sequential per prefix or is it sequential system wide?

          From my experiences from working in different firms, both small and semi large, I do believe that using a straight out automated dumb sequential numbering system via PDM gives the least hassles.
          The downside being that the numbers aren’t useful for anything other than an identifier for each individual part contra a (semi)smart number that actually tells you something about the part or assembly in addition to being an identifier.

          I currently work for a firm that uses dumb sequential numbering and I admit that I miss having some form of identifier included in the file & drawing name, but at the same time I see how few issues this has.

          Though, that said, I do like the idea of the prefix you listed above. That’d be great for identifying and wouldn’t cause any headaches when re-using parts.

          But still no matter how reusable a part (due to dumb numbering) is I’ve still seen issues due to their placement in a project/product based folder hierarchy.
          One could make a folder hierarchy according to part/file type, ie. assemblies, machined parts, weldment, sheetmetal, etc etc … and place the files in their respective folders.
          But then the files wouldn’t be easily sorted into projects or products. Headache again!
          The other downside being you’d soon end up with an overwhelming amount of files in one folder.

          Is there a preferred folder hierarchy that you recommend that suits this semi smart prefix/dumb sequential numbering?

          1. Post

            Hi Ben,

            I know what you mean.
            In case of dumb numbers I was thinking about making separate folders for a sectionof numbers, for example:
            – from 100000 to 100500
            – from 100501 to 101000
            I think that having 500 parts in one folder might even still work if you don’t have a PDM and you would like to use the super powers of the custom property Description in SolidWorks.

            But then you say, how do I find the top assembly of a product or project without knowing its exact number and without using too much time for searching?
            In this case, I would make an individual folder that would only contain the top assembly model and its drawing (or even betteronly a shotcut to it). You can name this folder however you like.

            Because in my case, I rarely know the number of the part/drawing…so I always open the top assembly (Large Design Review) and then I continue opening the part files from there.

        2. Post

          Hey Tom,
          I do have a question for you:
          Have you ever seen a company that is using two different numbering schemes at the same time?
          For example: usualy project companies don’t really care about revisions or interchangeability rules, because this would only slow down their work process that deals with a lot of changes.
          But on the other hand, those companies are also using some subassemblies over and over again in all of their projects and at some point it would be a good idea to standardize them for their own profitability.
          So, I was thinking… why don’t we just use two different schemes…one that is semi-dumb (only a project prefix) fo components that change all the time and another that is a very-dumb six digit scheme for components that remain the same the majority of time? This would enable the company to keep it’s flexibility where it needs it and also start with the standardization process of some devices that are used over and over again.

          What do you think? Have you seen such an approach in any of your companies that you have consulted? If yes, how did it work?

  3. This is all I’ve been thinking about as we’re (I) reading our drawings and standards. We’re a custom furniture and millwork shop, so it’s a project based numbering system. Though I do want the drawings/models/files, etc to be both easily recognized and deciphers quickly, but also easy to file sort and search… so I landed with this..

    3D parts/assemblies follow a ####-#### format in which the first 4 are the project number, the second 4 are an assembly/part number. Assemblies always end in 00… This gives me 99 assemblies/sub assemblies in a project and 99 parts per assembly/sub assembly. The file name is client-job name-itemdesc.-sec.itemdesc(if needed)-and either SKETCH/PART/ASSY/TEMP( temp for templates) this makes finding and distinguishing modeling and sketch files in a folder a lot easier.. drawing names and files always adopt the part/assembly number but also then end in an acronym of either -AD, -DD, -ID(install drawings or elevations), or -TD(template drawings for things that aren’t actual part but need to be made, like molds or jigs that aide in assembly/fabrication)


    1234-0000 is a 3D master assembly
    1234-0000-AD is a drawing for the above
    1234-0001 is a part that does not dependent upon a parent assembly. Such as an adjustable shelf or a leg that is used on different tables. It’s drawing would be 1234-0001-DD.
    1234-0100 is a 3D sub assembly file, it’s drawing would be 1234-0100-AD
    1234–0101 would be a part that belongs to the 0100 subassembly and it’s drawing would be 1234-0101-DD

    General install drawings for contractors or installers (which would look more like arch. drawings) would be 1234-0000-ID

    1. Post

      Hey Eric
      Thanks for commenting!

      If this kind of structure is “strong” enough for your assemblies, I would continue using it. But I’m afraid of the situation when you need more than 99 parts in one subassembly…

      Are you using PDM? If you are, maybe you could get rid of the acronyms and put the in a separate custom property by which you could filter in SolidWorks and PDM.

      1. Hi Eric and Barbara,

        My first thought was the same as Barbara’s, what if you hit that large project that has more than 99 parts &/or assemblies? But the reality is: if it works for you why change it.

        Personally, I’m a fan of keeping the model and drawing the same name so when you have the model open (in SOLIDWORKS) it’s easier to open the drawing from within SOLIDWORKS (using the “Open Drawing” command). By default, the “Open Drawing” command is designed to look in the same folder as the model and for a file with the same base file name just with the slddrw file extension.

        If you are using SOLIDWORKS (& especially using PDM) why do you need a -DD for a detailed drawing? Couldn’t the drawing simply have the same exact number as the model since they will have different file extensions (sldprt or sldasm vs. slddrw)? I usually suggest customers keep the model and drawing the same and use the fields (Description, Customer Name, etc…) on the data card. When looking at your files in File Explorer simply make the second column have the description and maybe the third with the customer name, therefore you don’t need to build the description into the file name. As Barbara indicated, this would allow for searchable fields in PDM as well, it’s be very easy to search all files for customer X. Just a thought.

      2. Thanks for the reply, and sorry, this was all via my phone.. and is again. Yes that’s the fear, but as of right now as a furniture maker/millwork shop, more than 99 dependent parts per subassembly seems far off. Thanks again.

        No PDM as of now. Also really like the acronyms for drawing files as it really helps to distinguish what type of drawing it is/what type of model it holds. Also needed a way of showing those simpler “architectural” or ID drawings for installers and customers that don’t need to view sheets upon sheets of parts and sub assemblies items… but if they do, I can send them as needed. Thanks again.

  4. Hi Barbara,

    To add to your post, here’s what we had at my 2 last job. We had similar numbering system.
    The part numbers are xx-yyyyyy-zzz
    XX is a number with letter. The number defines if it’s an assembly or a part and the letter a type of ‘object. We also have a series of other xx classes.
    1M,mechanical assembly
    1W, welded assembly
    5M, machined part
    5S, sheetmetal part

    The yyyyyy is simply an incremental number starting at 10000. One thing we did wrong at my first job is to start with 5 digits. Unfortunately after a few years (8-10), we ran out of numbers so when I started this similar scheme at my new job, I used 6 digits.

    The ZZZ is normally 000. For mirror parts, we use 100. If the part is used in an assembly and doesn’t need a separate drawing (a welded gusset for example), we use 5w with the same yyyyyy number as the assembly and -001, -002. This also works for mirrored assembly.

    Now it’s not perfect but it gets us 99% there. We do use a PDM system but prior to that, we’re saving files on a network drive. The drawings had the same number as the object, we use the file extension to know what it is. On our drawing, we only show the ID of the part as xx-yyyyyy but not the zzz.

    Obviously, an excel file or database is nice to keep track of the numbers.

    I hope this helps. I’m happy to discuss more if needed.

    1. Post

      Hey Marc,

      Thanks for sharing.
      I see you also use a complex numbering scheme :).
      I’m wondering what is the exact purpose of the XX? Do you use it for sorting purposes or something else?


      1. Hi Barbara,

        The value of xx is mainly for quick recognition of the object type. (We use 6 different groups). It also allows sorted BOM to have assemblies first then parts.

        We can also ‘link’ related assemblies or parts together. For example, 1c-12345-000 is a composite assembly. 1T-12345-000 will be the tool to make that part. 8p-12345-000 could be a document explaining the manufacturing process of that part.



        1. Post
  5. Hi Marc,

    While it’s a semi smart numbering system you don’t need much of a “decoder ring” to figure it out. Personally I think it looks like a pretty good numbering schema, simple to understand and would seem to fairly error proof. The only part that I don’t like is needing an Excel file to track the numbers.

    I’ve yet to come across any system that is totally error proof and if this gets you 99% you’re probably ahead of most companies.

    Thanks for sharing,


  6. Hello guys,

    This is a great little conversation we have going on. This and ECO’s are probably the two things we spend the most amount of time on when assisting customers.

    I figured I’d pass along the latest that one of my clients has decided to use for a numbering system. They are a contract design & manufacturing company.

    They assign a unique 4 character abbreviation (customer code) per customer. Maybe mine: Applied CAD Solutions would be something like: ACSO

    They really liked the method I described earlier:
    00 for top level assy
    01 for assembly
    02 for machined parts
    03 for weldments parts
    04 for sheetmetal parts

    96 for screws
    97 for washers
    98 for nuts
    99 for Dowel pins

    But that was not granular enough for them so they will be putting the 4 character customer code in front of the part number.

    EX: ACSO-02-00001 in this case the breakdown would be:

    The ASCO indicates that the file is for: Applied CAD Solutions
    The 02 indicated that it is a machined part
    The 00001 is a sequential dumb number, this number will be sequential for ALL 02- part numbers no matter who the customer prefix is for.

    In their case the files are saved in a customer folder specific to the customer 4 character code.
    Honestly I’m not sure I’m totally sold on it but they were very adamant that this is the way they want it.
    But figured I’d pass it along. As I’ve said a few times, there is no one size fits all when it comes to part numbers.



  7. Hi Tom,

    let’s say you have a screw 96-12345. Do you really want to create a separate part number/identifier no. for the same screw for each individual customer???
    Do you really want to have in your ERP system different part numbers (e.g. AAAA-96-12345, ABBB-96-12345, BASF-96-12345) for the same screw???
    This would be a waste of time and material and therefore money.

    Why the hell customer codes, project numbers, part classificators must be included inside the identifier number? Why not put it into separate data base fields of PDM and ERP? Anyway, they can be included into a filename, into lists, labels etc. even if they are not part of the part number/identifier number.

    Have you read my comments earlier in this discussion? Have you read my numbering recommendations on my web site? Do they really not convince you to do it otherwise?

    Best regards,

    1. Post

      Hi Jörg,

      Nice to hear from you again :).

      I’m also on your side when it comes to numbers, but I also understand the problem that Tom’s customer may have, because they are a contract design & manufacturing company. So, the easiest way for them to operate is having things devided by projects. If the projects they make are also very versitale, it might also come handy to divide by customer…but I would have to know more to be sure.

      For example, it might be the case that they have to obey different customers CAD standards, and that is why they might need to have different files of the same screw. The reason for this is usually a different set of metadata (custom properties). Maybe one customer wants to have a different description of the same bolt…for example one wants them in ISO and the other in DIN.

      I had this problem in the past and I also solved it with different files. But if you also add to it ERP, then this might be a bigger problem.

      Of course if we knew exactly what each customer in the future will want, we could set our files the correct way from the beginning, but usually we can’t ;).

      I believe that if a company is product-based they should 100% go with non-sginificant numbering. If they are project-based, this type of numbering can cause a lot of problems if people are not educated about interchangeability and usually they are not. Plus when you are project based, you need to be fast and this means that checking if a file is used on other projects, before we change it, is a waste of time.

      But, I know that usually even project based companies have some devices or groups of parts that they could standardize and run as products under a non-significant scheme. This way they could keep their flexibility on the projects but also reap the rewards of standardizing the parts or devices that are on every project the same.

      I really want to know, what both of you (Tom & Jörg) think about this approach.

      1. Hi Barbara,

        the company where I have worked during the last almost 20 years was a contract design & manufacturing company. We have designed and produced devices and subsystems for the big players of the IT industry like IBM, HP, DELL, XEROX and others, and we have had several production locations in Germany and other countries and we have had several subtier suppliers all over the world. The design was project driven. Some products have been made in series production, others were customized machines in very small quantities.

        Nevertheless it was possible to change from a really very complicated significant part number to a non-speaking part number within a few years. We made this step by step and the people accepted this. It may be that this was only possible because we had a PDM and ERP system from the beginning. We have put each singular part property into a specific PDM database field. Part lists could get more columns than only part number and part name. They could be sorted by several columns as required.

        Paul wrote: “It is nice if in a list parts fall under sub assemblies etc.” Of course, but who says that a BOM must be sorted by part number? We have sorted them by the BOM position number to have it “nice”.

        What I want to say is:
        Also in a project driven contract design & manufacturing company – if it has a PDM system – it is not necessary for humans to have a lot of information inside the part number. If they have no PDM system they should think about it as soon as possible.
        Also a project driven contract design & manufacturing company should be interested in minimizing the number of different parts and in reusing them in several projects. If there is a where-used information in the part number this is not possible or the where-used significance gets lost over the time.

        A Merry Chistmas and a Happy New Year and a Corona free time to all readers of this blog.

  8. Hi, this is Paul for New Zealand.
    I am a contract designer embedded in an organization that has an organic part numbering system driven by sales codes. Fortunately the SOP is capable of operating with any number subset for components. So change can easily happen in the engineering department.
    There are some preferences I have re what as a human I want to see in a part number.
    * What family it is from?
    * Is it a part or a sub assy?
    * Is it a true assembly(reversable) or a Fabrication sub or final?
    * I can add assembly, sub assembly and part variants at any time and still know the above.

    Here is the hook.
    We do castings that have a part number cast in.
    We do a set of casting drawings.
    And sets of machining drawings. A common Casting can be machined to variant parts e.g a size difference for a feature, which leads to a variant sub assembly, final assembly etc.
    We can machine additional identifiers on.
    Challenge is to keep the part number connection with the number in the casting across the manufacturing process.

    Generic parts/fasteners etc are same name no matter where used. Non issue.

    There is no PDM/PLM in place – Part Families live in folders with standard subfolders for different outputs/3D/3D/STL/DWG etc depending on purpose.

    The quest if for a system that meets as closely as possible the preferences stated.

    I have read Jorgs paper.


    I don’t really care about the numbers as such but it is nice if in a list parts fall under sub assemblies etc.

    1. Post

      Hey Paul,

      What do you mean by “organic”.

      If you don’t use PDM it can be hard to know which casting goes with which mold.

      Anyway a mold needs to be produced as well as the casting is produced with the help of the mold, so I would try keeping the document numbers of the casting and mold independent.

      If the mold is made of different parts you must have also the mold saved as an assembly. Maybe I would add the casting to the mold’s assembly (excluded from BOM). This way I would have a connection between the casting and the mold and you could also make a call-out on the mold’s assembly drawing.
      So, in this case if you want to find the mold for a particular casting you open up the casting and search by “Where used”. SolidWorks Explorer had this option a while ago, then they removed it because it was too good to be true :).

      Or maybe you could create a new custom property for example “Casting No” and you would put this custom property in all your manufacturing documents (models&drawings)?

      I’m just brainstorming here, so please don’t judge me if I haven’t understood your problem corectly 🙂

  9. Thanks Barbara,
    FYI – Organic – no specific system, a bit of this a bit of that, then as parts evolve it gets harder to keep the intelligence. The company has outgrown the original ideas.
    We do not make the molds, patterns etc. So no issues there.

    After reading a lot of material on this subject I came up with a guide for a part numbering system that we will trial.
    ———————————————— (pasted from Excel – could be messy)
    Logical Part Number extensions Seperator _

    Family Variant PartUnique Increment PART_NUMBER Dwg Marker Interpret
    C22 00 C2200 Top level
    C22 2 2 2 C22222 X Tooled Part, at Ver 2
    C22 10 20 5 C2210205 Sub Assembly at Ver 5
    C22 5 23 1 C225231 Part at Ver 1
    C22 7 45 1 C227451 Part at Ver1
    C22 20 40 1 C2220401 Sub Assembly at Ver 1

    Family + Variant = Top Level Common Name/Sell
    Variant: most parts same but different size or configuration
    Variant: common = 00

    Part Unique: Ends in 0 if it is a subassembly of some form.
    Part Unique: Ends in a digit it is a single part
    Increment: Always starts at 1
    Increment : Modified version of previous. Always 1 or higher
    (Allows for changes that are more than a drawing revision)
    So we can keep the organic family thing going so sales people can relate to items they sell, we can have a range of part number lengths so it is scalable.
    Allows distinction between single part and sub assembly.
    Can see if an item is the tooling original. (aka Casting, that will later be machined etc.)
    Most importantly I can Increment part numbers for essentially the same item 9x – easily with impunity to duplicates.
    For me as the development guy when there are multiple variants being developed this is a big deal. (We reset variants once settled on V1 final) then any subsequent in production versions simply count up.
    It also means that we can see exactly the history of the part and trace this forever without the need to use a computer to do this. I propose to add the suffix _Superceded to files for no longer in production parts which allows then to exist in the CAD world as an archive and never be confused for something current.
    Am I missing something obvious?

  10. Hi Barbara et al

    @Barbara: in your article, which specific ISO Standard specifies that all sub-components of a Weldment must be on the Weldment Dwg?

    For my own clarification and self-interest I want to have clearer understanding of this ISO Standard. (personally where any appropriate international standard exist I prefer to follow these rather than re-invent the wheel. IMO, I consider ASME Standards to be far more concise and up-to-date with the constantly evolving / improving Industry Best Practices. In general ASME Standards are consistently reviewed 3 yearly. ISO lags terribly…. IMO, too many member country cooks who can’t agree)

    Regardless of my comment above; my present process I follow for all clients is that all Weldment Dwgs feature a Parts List. Any features that are created AFTER welding is done are detailed in context of that complete Weldment unit.
    Dimensioning for these features are datumed from the most stable edge least likely to be affected by Welding distortion or from the most critical feature of that Weldment.

    All Sub-components that have feature requirements which are required be created pre-welding by either manual processes, CNC Profiling processes or by Beamline System, are detailed separately on its own sub-sheet of their parent Weldment. Sub-components are numbered as “dashed numbers” of the Weldment Number.

    Any Sub-component that is known to be common/identical across any number of other Weldments is issued its own independent Part Number and has its own independent Detail Dwg.

    If Procurement Dept is not concerned with buying the Sub-components (not required to be itemized into the ERP) then the Weldment BOM Structure is set to “Purchased” so that the Weldment is a Single Line Item, otherwise the Weldment BOM Structure is set to “Inseperable” in order to have a Multi-line Item.

    To follow-on what has commented previously on topic of Part Numbering;
    Over the preceding, nearly 10 years, for various companies (from medium to huge multi-national) I have been directly involved in setting up CAD File interphase with ERP (via a PDM)

    The lessons learned is that the traditional style numbering systems generally set up by legacy “engineering” minds where they want an “intelligent” numbering structure simply cause huge issues for procurement.

    Regardless of whether Product-Design, or Project-Design, where the primary KPI for any profit based business is that all items arrive on-site, order in full, on-time and correct to spec,… it becomes a painful reality that Engineering Dept’s soon get bumped off their pedestal for trying to dictate a complex “smart” Numbering Structure, simply because to be most effective, it is ONLY the ERP System which generates sequential Item Numbers. ERP Numbering is best to be as “non-smart” as possible.

    In context of “CAD world”, for Parts, the ERP Item Number IS the CAD Model Part Number and IS also the CAD Dwg Number (if that Part has a Dwg. A bolt for example doesn’t have a Dwg).
    Because ERP’s “don’t like complex smart” Item Numbers it is likely that best that can be presented as a “wish list” is that a Part can have a single alpha prefix character (type identifier) followed by defined number of numeric characters.

    Anybody confused yet?

    The best the Engineering Dept can hope for is that the ERP can be set up to issue

    1. Post

      Hi Craig,

      Thank you for your comment.
      I agree with you on the smart numbering scheme…a dumb number is much better for the companies future (with or without ERP).
      My post is not very up to date with my philosophy of part numbers….from the day the post was issued and up to now, I have learned a lot more. Special thanks for this go to Paul Van der Ree and Jörg Eisenträger…they are my best mentors when it comes to CM.

      When it comes to ISO and ASME I know that ASME is much more engineer friendly when I compare the two standards for GDT. Sadly, I can’t tell you which ISO standard says that all components of the weldment need to be on one sheet, I never investigated it…this is what we have been taught at the university.

      I totally agree with you on the fact that if a component is used on multiple weldments, there is no use of dimensioning it on each weldment drawing. That is also one of the reasons why we don’t model our weldments as weldments but rather as assemblies in SolidWorks. Each component has it’s own part number and a separate drawing (if needed). There are many more reasons why we don’t use weldments, but I would rather not explain it here (could be another post 🙂 ).

      I’m curious…what is your favorite part numbering scheme?


    2. HI All,

      Craig, that was well put and makes a lot of sense. I am a big fan of the model and drawing’s file name matching the part number. Easy to find and makes lots of sense.

      I do like just sequential dumb part numbers but I run into very few customers that are configured that way, even with PLM & MRP systems. For some reason most companies like to have some “smarts” to their numbering.


  11. Apology, I didn’t describe what I meant be Weldment very well (I’ve become used to describing Welded Assys as “Weldments” to intentionally avoid the use of the word “assembly”)

    I use Autodesk Inventor. I create a “Weldment” as a standard Assy file just as you described. I don’t convert that Assy to an actual Inventor Weldment file though unless absolutely necessary (ie only where features MUST be created AFTER Welding as this allows me to better control drawing view types).

    I will follow up on you query later as I’m presently actually working through a Numbering Format for a business that now requires that their Vaulted CAD Files MUST interphase with their new ERP (which has been my niche speciality in CAD/ERP for the previous 10 years or so)

  12. Hi all.

    It’s very interesting to read all your pro’s and cons regarding “smart” numbering systems. I am 70 years now and worked all my life in the metal fabricating and worked with sketches on the back of a cigar box (no numbering at all of course). I have been working with CAD systems for some thirty odd years, of which the last fifteen with SolidWorks with and without PDM system. Overall I reckon “smart” is dumb, and dumb is SMART.

  13. Hi All,
    Firstly, very interesting blog!!!

    Not sure if this is still monitored and an active conversation, but I find myself in a position where I am currently restructuring the part numbering scheme, with an “open book” to start fresh if required.

    On the scale of smart -vs – dumb scheme, I am swaying towards a variation of a semi-dumb scheme as follows:

    X _ _ _ – _ _ _ _ is a major “group”, where:
    1=assembly, 2=weldment assembly, 3=part, 5 thru 9 = projects

    _ XXX – _ _ _ _ _ is a minor “group”, where:
    101=universal, 102=single axle, 103=twin axle, 104=tri axle for assemblies, OR
    301=sheetmetal, 302=machined, 303=profiled, 304=welded, OR
    (5)001= project # 1001, (5)101= project # 1101, (6)001= project # 2001, (6)101= project # 2101, etc

    _ _ _ _ – XXXXX is a sequential number

    We have a combination of products and projects.

    I am undecided as to pro’s and con’s for the sequential numbers to be run off the same list across the whole scheme? OR to have multiple and individual sequential number lists for each or a selection of major and/or minor groups, or per prefix?

    Comments would be greatly appreciated.
    Thank you.

    1. Post

      Hi Wojtek,

      Thanks for the comments!
      At first glance the numbering scheme seems quite complex, but to express my opinion I would need to know more about it.
      Would you be willing to hop on an google meets call with me?
      Maybe we can figgure something out together.

      If you are interessted, please let me know via:


    2. Hi Wojtek,

      > I am in the process of restructuring the part numbering scheme, with an “open book” to start fresh.

      This is such a good opportunity, don’t mess it up.

      In the past, we also had a complicated part number like the one you presented. I promise you: In a few years’ time, you will be unhappy that you ever made such a decision. I speak from personal experience.

      The classifications you have in the first part of the number are complicated, error-prone and costly/not automatable when assigning a part number. People will make mistakes and after a few years the classification will no longer be reliable. Most people won’t even know exactly what each classification number means.
      The project in the part number? What happens if you want to use the same part later in a different project? What if a bolted assembly later becomes a replaceable welded assembly? A new part number every time?
      When a designer starts to invent a new part, sometimes he doesn’t know exactly what it will look like and can’t classify it yet, but the CAD/PDM immediately asks for a part number. The result is incorrect classifications that cannot be changed later because they are burned into the ID number, the part number.

      My strong recommendation: Remove the first classifying part from the part number and place the classifying information in other database fields of the CAD/PDM/ERP system. Display it wherever it is needed. But please, please do not put it in the part number.

      If you still want to keep the classification in the part number, use only one number range for the sequential number. This is simpler and safer.

      Finally, a quote from the numbering principles on my website

      Never code into the part number (part ID number):
      – classification information,
      – status or revision information,
      – sourcing or manufacturing methods,
      – kind of the material of the part,
      – where used information (depending on next higher assembly or project),
      – or any other temporary information.

      Best regards

      1. Hi Jörg,
        Thank you for your critical feedback, much appreciated.

        Just to clarify, the part# scheme in my first message is the NEW scheme I am looking at using.
        I can see that it may seem like a complex and too-smart scheme, but it consists of just two groupings;
        Major X _ _ _ – _ _ _ _ _ number 1=assembly 2=weldment assembly 3=part 5=projects.
        Minor _ X X X – _ _ _ _ _ assigned to a group of assemblies or parts.

        The current scheme uses FOUR lots of Groups / Categories, plus a FOUR lots of sequential numbers, so my proposed new scheme is substantially simpler already.

        But, I sense that you think that my proposed new scheme is still too “smart” or complex???

        Upon further thought since my first message, I do agree with you on using a single sequential number system wide.

        I should add;

        We are working in a PDM (pro) environment.

        We are looking at setting up the system for the part number to be completely system-generated by picking up the folder ID to populate the first 4 digits then adding a new sequential number. All that user needs to do is to browse to the desired folder, system will do the rest.

        As for projects, many part and assembly files used in projects are “standard” parts and assemblies, either purchased or manufactured, and they stay that way and are only referenced to the project from their original location. Any and all files that are to be saved in the project folder are specific to that project only and will never be used in any other project – hence using project number for the part number prefix.

        So, how am I doing? Is this still too “smart” / complex?
        If do, what do you suggest? A “dumb” sequential number only?

        Again, appreciate your time and opinion.


        1. Hi Wojtek,
          why do you want to have classification information in the part number, because people are used to and want to have it, or for searching parts in the PDM?
          If the people issue check if they really require and need this.
          For searching in the PDM it is better to have these information in several database fields.
          But, if your new system fits for you use it.
          In fakt, I would – based on my experience – use a dumb sequential number only, maybe with suffixes like TAB or Generation number if required (see my text). If possible keep part numbers short and don’t use minus signs therein.
          Best regards,

          don’t use the minus signs before the suffixes.

          Please read the literature I have posted in my papers.

  14. Hi All,

    This is a great conversation, and it always gets lots of opinions and thoughts.
    I’ve expressed in that past that Ideally; I really like the concept of “smart” numbering but in the end it almost always turns bad.
    Currently I’m working with a client that is converting from 50+ years of smart numbers that are really pretty dumb since it’s an absolute mess to a simple dumb sequential numbering system. From there we are building all the different fields into the PDM data card. Since you are using PDM Pro like my client you can build that information into the data cards (& search cards) and have it become searchable inside of the vault. This actually allows for a more granular search as well.

    Here are just a few of the issues I’ve seen w/smart numbers:
    1. You need to supply the “decoder ring” to all that are going to use the parts.
    2. It seems there is always an exception to the rule and then you have those part numbers that are actually using the wrong prefix.
    3. As expressed earlier in this conversation, what if it was a bolted assembly (w/that prefix) and now it becomes a weldment (different P/N prefix). Do you create a new P/N?
    4. Typically, it’s more difficult to maintain data cards and folders in PDM as the P/N is decided by the actual folders selected you when you first save the model. What if you accidentally select the incorrect folder. Yes, you can move the file but what about the already assigned p/n?

    Obviously, I’m saying this not knowing your exact situation and every company has different issues and concerns to contend with. Maybe “smart” numbers will work for you but 99% of the time they turn dumb as general mistakes or changes happen so be cautious with them. I do have a customer that smart numbers work great and fit their situation perfectly.

    This is a great conversation, lets keep it going!

    All the best,

    Tom Cote
    CAD & PDM Admin Specialist

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.