diff --git a/README.md b/README.md index 920daca9..9ce12332 100644 --- a/README.md +++ b/README.md @@ -53,8 +53,55 @@ Multiple BoM output formats are supported: * XML * HTML +Output file format selection is set by the output filename. e.g. "bom.html" will be written to a HTML file, "bom.csv" will be written to a CSV file. + ### Configuration File BoM generation options can be configured (on a per-project basis) by editing the *.bom* file in the PCB project directory. This file is generated the first time that the KiBoM script is run, and allows configuration of the following options. * Number Rows: Add row numbers to the BoM output * Ignore DNF: Component groups marked as 'DNF' (do not fit) will be excluded from the BoM output -* Ignore Columns: A list of columns can be marked as 'ignore', and will not be output to the BoM file. By default, the *Part_Lib* and *Footprint_Lib* columns are ignored. \ No newline at end of file +* Ignore Columns: A list of columns can be marked as 'ignore', and will not be output to the BoM file. By default, the *Part_Lib* and *Footprint_Lib* columns are ignored. + +## Example - HTML Output + +A simple schematic is shown below. Here a number of resistors, capacitors, and one IC have been added to demonstrate the BoM output capability. + +![alt tag](example/schem.png?raw=True "Schematic") + +Here, a number of logical groups can be seen: + +** R1 R2 ** +Resistors R1 and R2 have the same value (470 Ohm) even though the value is expressed differently. +Resistors R1 and R2 have the same footprint + +** R3 R4 ** +Resistors R3 and R4 have the same value and the same footprint + +** R5 ** +While R5 has the same value as R3 and R4, it is in a different footprint and thus cannot be placed in the same group. + +** C1 C2 ** +C1 and C2 have the same value and footprint + +** C3 C4 ** +C3 and C4 have the same value and footprint + +** C5 ** +C5 has a different footprint to C3 and C4, and thus is grouped separately + +A HTML BoM file is generated as follows: + +![alt tag](example/bom.png?raw=True "BoM") + +To add the BoM script, the Command Line options should be configured as follows: +* path-to-python-script (KiBOM_CLI.py) +* netlist-file "%I" +* output_path "%O_bom.html" (replace file extension for different output file formats) + +Hit the "Generate" button, and the output window should show that the BoM generation was successful. + +The output HTML file is generated as follows: + +![alt tag](example/html.png?raw=True "HTML") + +Here the components are correctly grouped, with links to datasheets where appropriate, and fields color-coded. + diff --git a/example/bom.png b/example/bom.png new file mode 100644 index 00000000..ebe083fe Binary files /dev/null and b/example/bom.png differ diff --git a/example/html.png b/example/html.png new file mode 100644 index 00000000..8a8d8517 Binary files /dev/null and b/example/html.png differ diff --git a/example/schem.png b/example/schem.png new file mode 100644 index 00000000..1c9b30e7 Binary files /dev/null and b/example/schem.png differ