Integrating BoMs

Enterprise viewpoint

The value of a BoM integration capability comes to the fore when engineers need to bring together multiple BoMs (each describing a given product in a different way) to form a single design description for the product. In this scenario, three BoMs for a test product (a five piece puzzle) are brought together such that the source BoMs are preserved but also related to the others through a shared underlying structure (see Mathematical concepts) that can be used, e.g., to highlight how changes in one BoM may impact the others.

Information viewpoint

The example used here is a five piece puzzle that was developed as a test case to highlight the different ways in which a collection of 2.5D shapes may be configured geometrically.

This functionality relies on a range of product data present in its STEP files, including its shape, and our machine learning tool, PartFind, is used to compare the shapes of objects, along with other BoM characteristics.

The STEP files used in this scenario are available through the following links:


BoM reconcilation is the process of finding common items between BoMs for the purpose of aligning BoMs (as in the following scenario: Aligning BoMs) or integrating BoMs (as in this scenario), for example. In StrEmbed, this is done by (a) comparing all the parts in one BoM with those in another, (b) calculating the degree of similarity between them based on several metrics, then (c) determining a set of matches between items in the form of item pairs. The four metrics used in StrEmbed are: (1) part names, (2) the assembly structure local to the items being compared, (c) the volumes of the items, and (4) the topology of the items' shapes via the PartFind software tool. For example, if BoM 1 and BoM 2 have 5 and 6 parts each, a total of 30 pairs of parts must be compared, and a maximum of 5 part matches can be made; whether any matches between sub-assemblies can be made depends on which parts the sub-assemblies in each BoM contain.

Computer support viewpoints

The flowchart below summarises the operations performed by the user in the scenario. We begin with an assembly for a five-piece puzzle, then load two more BoMs for the same product that both have different assembly structures. StrEmbed automatically matches common items between BoMs, the final result being that all three BoMs are embedded in the lattice, a common data structure (see Mathematical concepts).

The user wishes to reconcile a set of three BoMs which differ in their assembly structures. They click the “Load” button in the toolbar and add the first BoM to the lattice (see Mathematical concepts ), a data structure for the whole project. They then click the “New assembly” button, then the “Load” button again, so that two BoMs are present, each with their own tab. The user specifies a BoM reconciliation strategy and StrEmbed, with help from PartFind, executes the reconciliation process, producing a number of matches between BoMs, which are now held within the lattice.

The user repeats the process by loading a third BoM, then specifying a reconciliation strategy to direct StrEmbed to match common items between the first and third BoMs. The lattice now contains three linked BoMs, with corresponding items matched.

There follows a video of the scenario being performed in StrEmbed in real time. It is possible to recreate the scenario in StrEmbed using the BoMs provided above.

scenario 3_120722_6.mp4

The scenario uses StrEmbed, a software prototype that was developed as part of the DCS project, available from Github here: https://github.com/paddy-r/StrEmbed-6-1, with the following persistent DOI: 10.5281/zenodo.6806818. StrEmbed also uses PartFind, a trained machine-learning tool for identifying similarity between the shapes of CAD objects and identifying their primary manufacturing process, available at Github here: https://github.com/thazlehurst/partfind; also see the Machine Learning section of this website for more details.