Aligning BoMs

Enterprise viewpoint

The value of a BoM alignment capability comes to the fore when engineers need to bring together BoMs from different sources that describe a given product. For example, a BoM created by a designer in France is likely to be labelled in French whereas the same BoM created in the UK is likely to have English part names. In this scenario, a BoM for the torch example used in the DCS project video labelled in French is aligned with one labelled in English. Both BoMs are related through a shared underlying lattice.

Information support viewpoint

The example used here is an adapted version of the test case used in our BoM transformation scenario. Its BoMs are introduced in the DCS project video and, in this scenario, two BoMs are used, one in English and one in French.

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 reconciliation is the process of finding common items between BoMs for the purpose of aligning BoMs (as in this scenario) or integrating BoMs (as in the following scenario: Integrating BoMs), 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 by loading two torch assemblies with identical structures but parts that have names in different languages. The two BoMs are reconciled and the final result is that both are embedded in the lattice, a common data structure.

The user wishes to reconcile two BoMs that are in different languages, here French and English. They begin by loading the French BoM, add it to the lattice (see Mathematical concepts), a common data structure for the whole project, then load a second BoM in English.

When prompted, the user specifies a BoM reconciliation strategy, and StrEmbed then reconciles the BoMs. In this case the matching strategy ignores the names of items, as they are very different. The result is that the two BoMs are embeddedd in the lattice, 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 2_120722_5.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.