ULP for Eagle and Fusion 360 Electronics which generates a JSON representation of the board.
The primary purpose is to integrate with openscopeproject/InteractiveHtmlBom, as the format of the objects in the generated JSON file is aligned with the internal data structures used in that tool.
This ULP is no longer necessary, since native .brd/.fbrd parsing was added to InteractiveHtmlBom in December 2022.
Eagle users: Please use the eagle
branch
The ULP is mostly feature-complete. Some known limitations:
- Proportional fonts aren't supported (won't be rendered) - use vector fonts if you want them rendered. An easy solution here is to set the "Always Vector Font" option in the Eagle/Fusion 360 Electronics preferences.
-
With your board open in Eagle or Fusion 360, simply run the ULP and the JSON file will be automatically generated
-
Upon completion, a dialog will pop up listing the full path of the generated JSON file, for easy copy-paste. Using Fusion 360 Electronics On Windows 10, it will look something like this:
C:\Users\<username>\AppData\Local\Temp\Neutron\ElectronFileOutput\<autogenerated gibberish>\<boardname>.json
-
Finally, pass the .json file as an argument to InteractiveHtmlBom. This is the same as the method listed in the wiki for processing an EasyEDA JSON file.
python generate_interactive_bom.py "<path>\<boardname>.json"
All attributes of each element are inserted in the JSON file for (optional) use. To display a particular attribute as an additional column in the resulting interactive BOM, use the --extra-fields
command-line argument. For instance:
python generate_interactive_bom.py "<path>\<boardname>.json" --extra-fields ASSY
will include the attribute "ASSY" as an added column - any elements which lack this attribute will simply be blank.