BOM is an important feature available in CAD software by default. Even though every CAD software has given the flexibility to the user to configure the BOM according to their requirement, most users want some additional options to be available in BOM. One of our clients was looking for a more powerful BOM feature which will save time and hence increase productivity.
The client’s business situation requires
- An editable BOM – the user should be able to modify detail(s) from BOM
- Show Leaf level – Show items in BOM which are at Leaf level in the assembly
- Sorting capability – the user should be able to sort based on any column in BOM
- Assigning of the Part Sequence number in BOM based on user parameters
- The user wanted size of the Part/SubAssembly as a column in the BOM
There were a range of challenges faced during the course of the project. Few of them are listed below
- Sorting capabilities were not available directly in ‘CAD API’ provided UI controls
- Only selected columns will be ‘Editable’, which should be configurable. To set certain columns as editable based on user preference was a challenge.
- Since the primary key like the part number can also editable, maintaining the map from the BOM row to the part was a challenge
- Providing a dynamic highlight of the component(s) in the graphic area when the row(s) is selected was a challenge
- Another challenge was excluding the non-topological entities like Dimension, Annotations, etc. while computing the bounding box.
After careful consideration of the client need and analysis of the API provided by the CAD system, we decided to develop an ADD-ON inside the CAD system named as “BOM List Editor”. It was also decided to develop the COM component using .Net technology after considering the UI flexibility expected by the client.
Some of the features we included are:
- Using the default BOM settings on the first usage of “BOM List Editor”
- The list of columns to be displayed can be configured in “BOM Settings”
- Shortcut to show “BOM Settings” is provided in “BOM List Editor” UI.
- context menu options on in the BOM list for Zoom and Hide Entities
- Option to change BOM Hierarchy Level (0, 1, 2… n, ‘All’ and ‘Leaf’)
- Option to make certain columns Editable is also provided inside the Settings dialog.
- Performance is high even for complex assemblies as the assembly is scanned and the data is cached to avoid repeated scans and hence lags were avoided when the user makes modifications
- Exporting to excel along with the column headers information is provided. The checkbox columns are exported as True/False
- Properties displayed as checkbox are named with a suffix _BOOL
- Automatic size calculation was also displayed as a column in BOM List Editor
- The client experienced great usage of this custom ‘BOM List Editor’.
- The sorting provision was used by clients to add Weight and Cost as properties and then sort to do a cost analysis.
- The automatic size computation and editing capability helped them to understand certain size parameters [Ex: how much length should a certain pin be trimmed?]
- User was able to assign part numbers at a later stage while generating the BOM with weight and cost which will be later used in their ERP system.