Recently I was asked for my thoughts regarding using a one BOM or a two BOMs to represent parts and designs. In one approach you store a single BOM which contains all of your CAD and business data in a single BOM structure. In the other you use one BOM strictly for the CAD designs and another for the business data and associate the two. So, which approach is better? What are the pros and cons of each? What considerations should you think about?
I’m very much still figuring this stuff out myself; I have my opinions, but honestly I don’t the experience yet to back up my opinions. I’ll share what I currently think; hopefully it’ll spur your own thinking on the matter, if nothing else.
Why You Should Use Multiple BOMs
Multi-BOM is the future. The future, I say!
From what I’ve seen at the conferences, conversations I’ve had with Siemens PLM employees, discussions with colleagues, and from reading the documentation, Siemens is invested in having separate part and design structures. I think we’ll be seeing more and more features added to each new Teamcenter version to support the multi-BOM approach for the foreseeable future.
Having separate part and design BOMs means that you can revise parts and BOMs independently. Some changes only require changes to the CAD model — e.g. updating attributes updated, hiding construction geometry, updating the model to design standards. And on the other hand, sometimes their may be updates that don’t require the CAD to update — adding new suppliers, changing
Let the designers design
Sometimes it makes sense for the CAD user to organize the design differently than how ERP organizes the data. For example, it might make sense to group a large assembly model into sub-assemblies that don’t represent any actual part, but make it easier to divide up work on the overall structure.
A related reason is that having the part BOM separate from the CAD BOM isolates the part BOM from the inevitable messiness of the CAD files. I have yet to see the system that didn’t have some of the following issues:
- Improperly named data (particularly when dealing with imported, legacy, data)
- Duplicate data, usually in the standard parts library and particularly after merging sites.
Dummydata — design ideas that never went anywhere, test data, and the occasional design of someone’s back deck.
Having multiple BOMs isolates the ERP system from this data, cleanly. If the design is never associated with an actual part, the ERP system will never see it.
There are automations to support multiple-BOMs
In v10 you can create the associated parts automatically when you create a design, or vice-versa, create the design automatically when you create a part.
Why You shouldn’t use Multiple BOMs
You aren’t storing Part data in Teamcenter
If you have another system, such as Teamcenter Enterprise or an in-house system, where you store part data and it will continue to be the system of record for the foreseeable future, there’s no reason to store the part data in Teamcenter too. In this case you really do have two BOMs, but one of them is stored in an entirely different system.
Single-BOM is still a valid option
Even though Siemens is seems to be pushing the multi-BOM approach, they still support using a single BOM. In fact, there are enhancements in TC 10 specifically added to support using a single BOM. For example, the structure manager in 10 adds the ability to use closure rules to filter a structure. This lets you filter the BOM view to only see parts with CAD data attached, for example.
A single BOM is Simpler
It’s hard to say that one BOM isn’t in many ways simpler than having two. I will say though that you have to think about all the stuff you have to manage in that single structure that isn’t CAD data.
Aligning BOMs is work!
If you have two related BOMs someone is going to have to align the two BOMs. Who’s going to do that? Are they willing to do it? Can you convince then that there is a benefit to doing it? When the schedule is on the line will BOM alignment be the scapegoat? This might actually be the most important issue to address. The technical challenges are just work. The social-political challenges are a whole ‘nother ball of wax.
The automations are limited
Although it’s nice to create and associate designs and parts automatically, the real day-to-day challenge is in creating and aligning the BOMs. If I have a CAD BOM, how do I get the correct corresponding Part BOM? As of yet there aren’t any automations to help us in that regard. To be honest, I don’t expect that any will be forthcoming. Being able to know how to automatically align two BOMs depends heavily on the specific decisions you’ve made regarding your business practices. What is your part-to-design cardinality? Does the part structure drive the design structure or vice versa? Do you use collector assemblies or other
dummy items in your structure and how are they differentiated from the
real models? I touch on many of these topics below. Once you’ve answered these questions for yourself I think you can often create some customizations to align your BOMs for you automatically. But I don’t think there’s a one-size-fits all solution that everyone could use.
Decisions, decisions, decisions.
I want to close out by touching on some topics I think you need to consider when managing Part and Design BOMs.
What is your Part to Design cardinality?
Teamcenter allows you have a single part represented by 0, 1 or multiple designs. Conversely, each design can represent, 0, 1 or many parts. The 1 Part to 0 Designs and the 0 Parts to 1 design cases simple. An example of the former case is a part like paint or glue that doesn’t need to have a CAD model. The latter case could be a CAD model that is just an experimental design idea that was never turned into a part.
A part may have multiple designs because it legitimately has multiple valid physical representations. A flexible electrical cable is a common example. For the drawing it may be modeled as straight cable of a particular length. When used in a particular assembly though it will be routed as necessary to make its connections and avoid all obstacles. Every assembly it is used in may require a different model specific to that assembly. You may also have multiple designs for the same part after merging sites that each had their own model for a particular part — this is common when dealing with standard library parts. Everyone has their own models of all the same common libraries.
How are non-aligned designs differentiated?
Let’s say you have a CAD BOM with some components which shouldn’t be aligned with anything in the Part BOM. How do you know they shouldn’t be aligned? If the parts don’t actually have any associated parts then that’s easy. But what if you have a component that really does represent a part, but just not a part in the other BOM? Here’s an example. I modeled an assembly that mounts to the side of a vehicle. To make sure I have the mounting correct I brought in the pieces from the vehicle that my assembly will be mounting to as reference geometry. I don’t want those reference components showing up my Part BOM however. I can think of the following ways to make sure that doesn’t happen.
The user just knows
It’s not fancy, but one one way is just to put the responsibility on the user to make sure the reference geometry isn’t represented in the Part BOM.
Mark the component as
A NX-only solution is to mark the component as reference-only in the assembly tree inside of the assembly model itself. Using this option will cause the NX integration to not represent the design in Teamcenter’s BOM for the assembly. But again, this is an NX only option so if you support other CAD systems this won’t work for you.
Set the quantity to zero
You could set the quantity to zero in the CAD BOM for the reference geometry. Anyone, or anything, seeking to create and align a Part BOM from the CAD BOM would use a quantity of zero as a signal to not align that component.
Reference Onlyoccurrence notes
The last idea I have is that you could create a special note type that would indicate that a particular occurrence in a BOM was for reference only.
The first solution pretty much requires you to be doing manual CAD and Part BOM alignment. The others could be used to support automatic BOM generation and alignment.
Will you revise BOMs independently or not?
I gave Part and Design revision independence as a reason to consider having multiple BOMs. That doesn’t necessarily mean that you will revise the BOMs independently. Personally I’ve encountered many people who think that everything should be revised in sync. Personally I don’t agree with that, but you might encounter that resistance as well.
How are multiple designs updated?
Let’s go back to the multiple-designs-for-one-part example of flexible cable I have earlier. Let’s say that the primary CAD model needs to be updated. How do you make sure that all of the other CAD models are updated as well? What if the length of the cable was increased by a half-inch? How would you make sure your routings are all updated properly? Whatever workflows your using for you designs need to be able to handle their being more than one design for the same part.
What do you think?
Hopefully I’ve given you some food for thought. It’s not a easy decision to make with a clear cut answer. I personally know very capable and intelligent people who are currently implementing both types of solutions. Each have their own reasons. I’d love to hear from you. Have you implemented a Teamcenter solution that manages both parts and designs? Did you go single BOM or Multiple BOMs? Were there any other issues you had to consider? How did you address the issues? Leave a comment below to let me know; I appreciate it.