A few questions first:
Q1) (to see if I'm understanding correctly) Are you wanting to "add" the category base number to each item?
So the first "100" item would be Item No "100", then "101", etc.? and the first "200" item would be "201"?
2) How will you (& SW) know which category a part/assembly belongs to?
Will it be from a custom property added to every SW file?
Q3) Will every BOM item be a 100 or 200 item?
Will there always be 99, or less, distinct items for each category?
This system breaks down above 99 items (& at 98 for below 100: it's 1 thru 99 in this range)
Q4) Will there be any non-100/200 items?
Will they be relegated in the "regular" 1-99 range?
Will there always be 98, or less, distinct items for this "non" category?
I've been through several secret sauce coding scenarios and I've never seen much added value in any of them.
Basically, it's because of inherent (and DNA hard-coded) limitations in their design that will eventually become a cliff that needs kludging to get around.
The limited "feedback" they do provided can generally be garnered from other data.
1) Add a custom property, say "Category", to every part and assembly file, setting the value of this property accordingly: 100, 200, blank, etc.
2) In your BOM, insert a new column and have it point to this custom property.
Original Post (OP) direction:
3) Create an equation column in the BOM and have it add the Item No and Category columns and subtract 1 (one) to be base zero (100 first) instead of the regular based one (1 first)..
(If this is possible, I'm not in front of SW at the moment, so SW might squawk if it doesn't think these are numerical columns.)
Also, for this equation: If some items won't be categorized (Q4 above), then you'll need to add an If statement in there to check for blank categories (if "Category"="") and adjust the logic for these accordingly.
Title this new column something appropriate for it will replace the regular Item No column.
4) Hide the Item No and Category columns.
5) Move the new Item No column to the far left.
6) Sort the BOM by the new Item No column.
7) Save this BOM as a template.
8) All balloons must be altered to point to the new Item No column (if this is possible, I'm not in front of SW at the moment)
Diatribe direction (no coding, just the BOM collecting by Category, which, as an attribute, can be better served by creating it's own field in an ERP/PDM system):
3) Move the Category column to the right of Item No (the regular one).
4) Set the BOM properties to allow the renumbering of item numbers.
5) Sort the BOM on the Category column. (Items are renumbered within categories, but there's no addition and no 98/99 item limits).
6) Save this BOM as a template.
7) Optional: Use split-circular balloons (with regular Item No above) and set the lower value to display the Category property value (save this balloon as a favorite for reuse).
The Diatribe direction displays and sorts the BOM by Category (and you can supplement this with Category balloons) without the need to encode what are basically part attribute data.
Plus, as categories are added (and they will propagate like bunnies on Viagra), you've not painted yourself into a corner by hard coding anything.
And it's an easy edit, when (not if) a part needs to have its category value altered (this will happen with increasing frequency, as categories are added, they will become more and more overlapping, duplicated and obtuse).
The best case for Diatribe direction is when enough people are sick of it, it's easy to dismantle: delete the Category column from the BOM and redo the balloons,
My apologies for the sermon and I hope this helps.
The "98" & "99" range references are actually "99" (1-99 inclusive) & "100" (100-199 inclusive).
Good Evening Kevin,
Thanks for the response let me start by answering your questions.
A1: I want to categorize components based on their purpose. So we will have hardware as a 301 and 301 for a screw and a washer. Then we may want to use a custom part as 101 102 so our mechanics on the floor and planning can clearly find what needs to be ordered and it is easier to navigate through a drawing. The other 201 and 202 may be a purchased part from vendors. We haven't decided exactly what the numbers will represent as of yet.
A2: It would be the responsibility of the Designer to know where each item would fit in the column set up. It will take a designer's judgement to put each item in the proper category.
A3: no, we haven't created a system drawing with over 99 purchased parts or 99 custom parts or 99 different types of hardware yet.. That would be beastly so for now that limitation is not a concern.
A4: Yes, there will be 300 level 400 level 500 level all having different meanings.
Kevin, I like your suggestions. I am limited by our company templates and can not add new columns. We have an approved BOM template for the department and to get it changed would be more pain then it may be worth... But I will make sure to mention that option... I will mess with a custom item No column see if Solid Works will allow those things to be tied in without "squawking". I appreciate the help!!
Upon further reflection, the OP direction may be more complex than I first envisioned.
Each series would need to start at 1 and then add its series base to that index.
So the first item "1", with the BOM sorted on Category, would become "101" and so on up through the 100 series.
The rub starts after that.
Let's say there are 12 "100" parts, so the first "200" part is item #13.
By simply adding item No to Category number, the first "200" part would be 213 when it should be 201.
How to get there will require more flexibility than what's the regular BOM.
An Excel BOM could probably handle it, but the coding needs to be ironed out.
I've attached a sample using a regular (non-Excel) BOM.
The BOM is customized to be sorted by the Category column (which, along with the regular ITEM NO. column, is hidden).
The "Cat Item No" column is an equation column and SW didn't squawk on the "ITEM NO" + "Category" equation. It just did the math.
So the first item number is "101".
Note: You could subtract 1 in the equation to start at zero, but since it will only apply to the zeroing the 100 series, I probably skip that.
Plus, by starting at 1, it maintains a one-to-one with the row number.
One downside, if it is one, is that only the "100" series starts at "1".
The 200 series starts at the item number after the last 100 item.
If this is acceptable, the other downside is that it further limits your total part/assembly count per assembly to 99.
If this is (or could possibly become) an issue, I suggest that you shift your categories up one order of magnitude: 100 becomes 1000, etc.
Now, your limit is just under 1000 items per assembly.
As a variant to the above:
Changing the equation to `Category` "-" 'ITEM NO.' yields 100-1, 100-2,...200-4, etc.
Therefore, there are no part quantity limitations per assembly.
I'm not sure, right now, how to code up an Excel BOM to start each category at one (or zero).
Personally, I think it will complicate things too much and increase the brittleness of an already brittle situation.
I hope this helps.
I agree with Kevin,
this should be driven by a custom property within the part file. The category field as he describes would work well.
I take it your part numbering system is not up for alteration? If it were, adding a category system within the part number. It would be more elegant IMO.
You could also try ordering the table, then splitting it so the 100 and the 200 level parts are separate.
At the end of the day though, the item numbers are irrelevant to the part, they're not part specific as in, on two drawings that share the same part, the parts will not be given the same number unless you manually fiddle it that way (unlikely to remain accurate over time). The item number links the image to the table. The table is where the important data lies within.