Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
Including document numbers in dash-number part numbering scheme
tim_hess427
Member Posts: 648 ✭✭✭✭
in General
At my company, we're taking a look at our part (and document) numbering systems, and I'd like to know what others here think about the topic.
I've been reading Watt's book (Engineering Documentation Control Handbook), where he advocates for a dash number system. My understanding is that it would look something like this (please correct me if I understand this wrong!):
- 123456 is the base item number and does not have any significance
- 123456-00 = Drawing
- 123456-01 = released part
- 123456-02,-03,-04 = could be a variants (color, material), or non-interchangeable part revisions.
This seems like a reasonable approach. However, I have a few questions. What if I also have other specification documents I need to tie to this particular part (3D printer settings, material specs, etc.)? I suppose I could give those documents a dash-number. But, if I have a spec that is used for multiple parts, I'd want it to have its own document number. It seems like this inconsistency would be confusing over time.
On the other hand, some people recommend having a complete non-significant part number. In those cases, how do you manage part variants and document references? Do you just create cross-references on the drawing as necessary?
Tagged:
0
Comments
- What if specification 123456-04 applies to other parts as well?
- What if I change part 123456? Do I duplicate all of the documents just to give them the new number?
In the case of the completely non-significant numbering system, where do keep the lookup table to know which documents go with which part?HWM-Water Ltd
One thing that's come out of that research is different systems have different levels of capability for dealing with the engineering documentation. They all reference part numbers, but don't always have ways to tie the part number back to all of the documentation that goes along with it (perhaps this is really the domain of a PLM system instead). This starts to bring me back to every part number having a drawing with the same number that calls out all of that documentation.
The book suggests to use this tab for "similar" items documented through tabulated drawings (with a dimensional variable for example), different colors/finishes, etc., as well as for non-interchangeable changes. If you combine the two however it starts to get more complex (what happens when you make a non-interchangeable change to parts on a tabulated drawing, with different sizes and different finishes?).
At my organisation there have been attempts to add some significance to the "tab" number as well (e.g. -02 = primed, -08 painted blue, -21 = galvanised etc.), but this is also not helpful in the long run, and it would be better to number sequentially for the different finishes as required.
What you are describing however is a need for different document "types". If your part has P/N 123456-01, and the corresponding drawing number is 123456-01 as well, wouldn't it be helpful if your STL file is 123456-01.stl, your DXF is 123456-01.dxf, and your 3D Printer build code file is 123456-01.xyz as well?
Then if your design changes non-interchangeably and becomes PN 123456-02, then the relevant STL and build files will update to that number as well.
The book suggests that a document-only part gets tab -00, so its part number is 123456-00. It would be a safe option to simply keep these documents standalone and refer to them on any component you might need them, and not risk the confusion of grouping the document with another part the first time you create it. Unless it applies uniquely only to that one part, similar to an STL file.
If you consider that a specification document has a part number, then you can reference this document like you would any other part in a parts list. With a proper PLM/ERP system you will then get full used-on availability. This is covered in "Chapter 2 > Assembly Parts List" which has an example of what such a parts list would look like including reference documents which have part numbers, and again in Chapter 5 on BOM.
Just came across this discussion from last winter... Did you ever implement the Watts numbering system? Just wondering how it worked out. I wrestled with the idea of pushing that system off and on.
- quickly ran into new scenarios that required changes to my base system
- forgot what the numbering meant.
- I ended up with way too many parts that were 51mm, so too many numbers started with "51..." and the "51" lost its meaningfullness to finding a unique result. It definitely found a category of parts quickly, but didn't narrow it down enough to be useful.
- It became nearly impossible to communicate to a new person the importance of the various bits, or have them internalize enough to create new part numbers correctly on their own.
So it became clear for me that sequential, unique, SHORT numbers were the easiest way to number things.Since search (together with limited ability to recall part numbers over time) is so important in data management inside an organization, I felt that the most efficient way to structure part / item numbers is to have the most unique information at the front of the number. That way, you can find the unique item you're looking for with the fewest digits remembered, and the fewest digits entered into whatever search box you're using to find those parts / items.
I have adopted Onshape's default approach to Prefixes (which basically works for me) P1234 for Part, A1234 for assembly, D1234 for Drawings.
Generally works except that I can't easily see if a drawing is for a Part or an Assembly (since there's no indication in the part number for Drawings...I need to make a change here). I like the idea of a Suffix or something that could give a bit more info or categorize the item. However, I feel that 1 level of extra categorization is as far as it should go, to make it easier to create new items).
I've since added two more prefixes:
- WIP1234 for parts that are undergoing an internal process that transforms them from P1233 to P1234
- V1234 as the "Visualization" state of P1234 (many of my parts can't be rendered in their "as-built" state since they are manipulated or folded or flexed or collapsed during final assembly, so I have to have a separate configuration of every part to be able to share the design while in development).
Before Onshape generated numbers for me, I used a Google Sheet as my "part number builder" which kept track of anything I needed. Now that Onshape generates my sequential, unique numbers, I have to remember to keep the Google sheet up to date.The downside to this system is that parts that are physically related don't always share part numbers ranges (for instance, my Assembly might be A1951, but the parts are P2041 & P2145 because I assigned numbers to parts in that assembly after doing a bunch of work on other assemblies or parts in between). However, it also doesn't matter at all, because my part numbers don't mean anything! It's just a little harder to see a part number and remember what assembly it might belong to. The advantage to setting these up on a separate Google Sheet (or other system) is one could block off groups of numbers (but then have to reserve the right number of them, and remember to go back to use those numbers later).
Since so many of my stakeholders do NOT go into Onshape to find the correct revision of a part / drawing, I feel it's critical to export parts / drawings with the Revision as part of the File Name.
Drawings often get revised at a different rate than parts / assemblies, so I use Letters (P1234-A) for parts and numbers for Drawings (D1234-1). Onshape's Release Management help pages show how to set up a custom Revision Numbering scheme.
Slightly off-topic, but similar to "meaningful" or "random but unique" part number discussion:
Along with "front-loading" part numbers with uniqueness (to facility efficient search) I've done a similar thing for other types of documents etcI use
YYDDD.x.CODE
(YY is year)
(DDD is day number - today, November 2, 2019 is 306)
(x is incremental number for today - for instance the third number I generate today would be "3")
(CODE is a human readable helpful bit describing the Record Type, but is NOT required to find the unique item. Like RECD (for received), TST for Test, PS for Packing slip, REL for items released etc)
With this, with 6 keystrokes I can find a document anywhere in Drive (YYDDD.x), Gmail, or anywhere else.
For a slide deck created yesterday, the number could be: 19304.2.DECK. However, to find that document, I only have to search for 19304 (it will likely show up) or 19304.2 (that uniquely identifies that Slide Deck).
I use a Google Sheet to generate and keep track of these numbers. There's an automatic formula that builds a search URL for each row in that sheet as well, so it becomes a good central repository. As long as these numbers appear somewhere in a document, title, email, they can be found. The ones that I NEED to remember over time get remembered - because there's only 6 digits to remember.
~~
If you're interested in setting up something like this, put your Date in column A (YYYY-MM-DD) and your record type "CODE" in Column E, and use this formula in Column B (replace 2204 with the row number you paste this in):
=if(A2204<>"",(join(".",CONCATENATE(mid(A2204,3,2),text(A2204-DATE(YEAR(A2204),1,0),"000")&"."&if(A2204=offset(A2204,-1,0),INDEX(split(offset(B2204,-1,0),"."),0,2)+1,"0")),E2204)),"-")
Over to the right are all the other fields that would be helpful for you to understand (in the future) what the record was about. I think it's important to be able to create these records with the least amount of cognitive overhead so that they get used....if it's not in this sheet, it's harder to find.
The "Find" link in ColD is automatically built using a the Record Number in ColB, and putting together a URL that shows search results in Google Cloud Search (could search in Drive too).
Curious about anyone's thoughts on this approach to home-grown record numbers.
100001
100002
100003
100004
Etc.
You would have a short 6-digit number of consistent length, and your spreadsheet tells you any other properties you need to know (Date, Record Type).
Personally I would to start at 100001 and not 000001; I'm not a fan of reference numbers with leading zero's. If this number is too generic, at best put a letter in front of it like G100001 (G for Google Docs or something) to make it more recognisable. And use less numbers if you don't expect to create that many documents (depending on how long it would take you to reach 9000/90.000/900.000 documents created).
The recognizability (year / date) and short form of the date came about because these numbers were regularly hand-written on samples or retains (undergoing testing / archiving / etc) and then stored. Later (years later, often) the samples are pulled out and reviewed. The date number is useful to give a person a general idea of when the sample / part was prepared. This person may / may not know where to go for the spreadsheet where the rest of the information is.
The DDD for the date was used for two reasons:
- 1 less digit makes a difference when hand-numbering 100's of samples. Often our materials are not suitable for any type of inkjet printer, too small for a label, etc. So: Sharpie it is.
- DDD also eliminates issues with date format between US and Canada (I work with teams in both areas). Folks are remarkably "sticky" on their date format - and if they know it's a date their writing, muscle memory takes over and we end up with different codes than are necessary. With the DDD, they at least have to go to the Sheet (the easy way) to figure out what DDD "today" is.
The X is not useful in its position in that day, but only to create several numbers that day that are unique. You're right: there's no intrinsic or valuable information in the X (other than reflecting later: "huh, we must have been busy that day...").SharePoint (or something that creates numbers for everything) sounds perfect - but I didn't have that type of thing. Also - this system was supposed to work for all different types of office documents (Microsoft Office, Google Docs, PDFs, boxes of samples / product that arrive by Courier, collections of files (images, documents, drawings, STEP files) that are sent out by email etc etc etc). Would something like Sharepoint track different types of objects?
Back to the handwriting of a number: it's handy, when rooting through the boxes of closure samples years later, to be able to relatively easily / quickly get a sense of how old it is ("15302.2.RECD - we got these way back near the end of 2015 - they must be for XXX project").
I agree that allowing Onshape to take care of the numbering for stuff inside Onshape is awesome, and jumped on it immediately for parts / assemblies / drawings. I haven't really started putting other stuff in Onshape much yet though. I was trying to build some type of Bates numbering system for all kinds of objects, both physical and virtual (documents etc).
Though - to be honest, this system (like many others) has a very limited uptake with teams. It is remarkably challenging to get all types of users to incorporate new systems, unless you build it so there is literally no other way to perform the task.
Thanks for the thoughtful feedback!
Sorry @tim_hess427 for the long-winded hijacks of your original question!
I think really going all-in on the non-significant numbering scheme will require a good database to properly tie all the desired metadata to each part number, which we don't have at the moment.
So, if it were up to me to build something from scratch, I'd probably still implement something closer to what Watt describes, but I think it's important to keep in mind that a key part of his system is shifting efforts from "creating numbers" to "database management". If you don't have a good database to use, and someone to keep it up-to-date, some level of significance is still valuable.