DEV Community

Cover image for Custom BOM Editor
CADvision Engineers
CADvision Engineers

Posted on

Custom BOM Editor

About the BOM:
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.

Challenges Faced
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.
Solutions
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 . Read more about the case study

Top comments (0)