AutoBOM is a Bill of Materials exporting and rendering tool. It does:
- Automatic exporting of manufacturing filetypes for 3D models, circuit boards, and wire harnesses
- Generating a shareable Bill of Materials webpage with renders of all parts
- Standardization of a Bill of Materials format
AutoBOM is a command line tool and can be run locally, but is meant to be used as a Github Action for automatic exporting and rendering of a BoM for hardware releases.
It is an effort to formalize and standardize the smattering of automatic export and render tools developed as part of the LumenPnP project.
This is still heavily in beta. There are bugs abound. Please report any issues by making a Github Issue.
There are only a handful of CAD packages that we can support, given that all this exporting needs to run headless and automatically. Here is the list of planned packages we will support:
- FreeCAD
- OpenSCAD
- KiCAD
- Wireviz
With Hatch installed, from the autobom directory, run:
hatch env create
Then, if you want to test building and running as a command line tool:
hatch build
pip install .
autobom
Or, to just run within hatch:
hatch run autobom
You can try running autobom within this repository! Autobom needs three things to run:
- An
autobom.json
file in the directory where it's run. This contains settings about how to perform the export and render. - A bill of materials! This can be named whatever you'd like, as the name is specified in
autobom.json
. It must conform to the expected format. - The source files somewhere in the directory where autobom is run. It will hunt for the correct files based on the cad type and part name, but you can be more explicit if you'd like.
That's it! After running it, you'll have a newly generated folder with a webpage showing you all the parts in your BoM, and all the exported files ready for production.