Smart Part Numbers are a Trap
- Caden Armstrong

- 7 days ago
- 4 min read
Updated: 4 days ago
The question that comes up time an time again is: what is the best part numbering schema? The answer is - depends on the company. But more specifically, I get asked "Sequential or Intelligent Part Numbers"
In simple terms
A sequential scheme is a fixed number of digits - maintained by a central database (such as Onshape, Arena, or an ERP). When a new number is required, it is assigned in the database and the "next number" is incremented. Example: 1000052
1000053
1000054
A "Smart" part numbering system uses logic to generate part numbers. Typically by using a combination of other data.
Examples: {Project Number} - {Type} - {Subassembly} - {sequential number} would produce a part number like: 100-L-01-055
Where project numbers are sequential, but the sub assembly/sequential number are specific to the project.
So what's wrong with "Smart" Numbers?
What is the Purpose of a Part Number?
To uniquely identify parts/assemblies.
That's it. That is the purpose. Do smart numbers do that? Well, not always. Depending on the schema, by trying to do more, they cause some problems.
Not unique - Smart schemas that use things like project IDs can end up with part numbers where a specific part that gets shared across projects ends up with many redundant numbers. The scheme works for a single project, but once a company has hundreds of projects, how do you manage it? Your CAD data will become a mess very quickly.
CAD Data is not just for CAD - Eventually a design needs to be manufactured. Parts need to be ordered, machined, printed, or assembled. On the previous point, if the same part is shared across projects, and has a different number in each project...how do you stock and order these common parts? A Smart part numbering scheme is usually the tip of the iceberg to bad PDM practices, and unnecessary work
Changing Metadata changes the Part Number - By using metadata in the part numbering, changing characteristics of a part results in a new part number, even if the actual part hasn't changed. In my above example, restructuring your design and moving a part to a different subassembly would cause the number to change.
Support By your Stack - Some software has limits on things like Part Number length, or even character types (some system only support numeric numbers). Is your schema even compatible with your ERP/PLM, etc? What about in a future where you switch to a different one?
Introducing each of these challenges into your design environment have downstream effects where the problem becomes more challenging to solve. Over the years I have had a few "impossible" automation requests that trace back to weird and wacky part numbering schemes.
What problems do Sequential numbers have?
If companies are trying to reinvent the wheel with Smart numbers, there must be challenges they are trying to overcome.
Friction in Generation - If you are use to managing numbers from an ERP, it can feel like a lot of friction to have to leave your CAD - open the ERP - generate a part number - go back into CAD - copy at the data back and forth. Solution: Onshape has part numbering built in that is a breeze to use - or you can integrate your part numbering functionality from your ERP directly into Onshape
Running Out - A sequential list of numbers will eventually run out. A 4 digit part number only has 9999 possible options.
Solution: Start with more digits. If you pick a sequential schema, start with a number of digits that is future proof. You shouldn't have to worry about typing in a few extra digits, because you shouldn't be doing manual data entry! If you're trying to pick a number, 4 digits is too few, and 14 is too many. Do some napkin math and find a number in-between.
Exceptions to the Rule
While I generally think that sequential part numbering is typically the less problematic, there are always exceptions. The one that comes up most often - is the lighting industry. Lighting products come in an astronomical number of configurations. Temperature, voltage, length, finish, etc. Its possible to have a single product with 20,000+ variants. Generating and maintaining part numbers for each and every combination is sometimes just not feasible. Its typical to have a top level assembly with a structure such as {Base product}-{Length}-{Temp} (etc). But the components of that assembly have a typical sequential part numbers.
In conclusion - there isn't one specific way of doing part numbers that is "the best". You need to pick a scheme that makes sense for your company, the technology you use, and the challenges you are trying to solve. Understand the downstream effects of those choices, and work through the various corner cases. Its extremely difficult to change once you've picked a path.
Bonus - Bad Part Numbering Ideas
In writing this article, I've brainstormed a few not so great alternatives to sequential and smart part numbers:
GUID - Just generate them as needed. No need to go into a database, they are mathematically guaranteed to be unique. You think sequential part numbers are hard to read? What if they were longer and contained letters?
UNIX timestamp - yep, just take the current milliseconds since 1970 and set that as your part number. Benefit - you know exactly how old a part is! Its very unlikely two parts will be generated at the exact same microsecond. Its a bit like a sequential numbering system, except with 16 digits and is constantly burning part numbers.
STEP file in base 64 - Why not use the part geometry itself? Converting the file to a base64 string means that when you share the part number, you're also sharing the CAD data! Probably not supported by most systems, but change has to start somewhere.
What3Words - The concept take a list of words, and by combining 3 of them, you can make 57 trillion unique combinations. For example - ///apostrophe.mandate.gushed is the corner of "This st" and "The other st". This system applied to part numbers would make part numbers a lot easier to remember, or potentially more confusing. Definitely funnier. Update - I made a demo of what this would look like



This will definitely be helpful when trying to convince prospects that they don't reaaally need smart part numbers! Also What3Words was a gem, glad I clicked that link haha