Fields can now be ordered and labelled for output. User configuration of the columns, labels, and groupings can be saved as presets for viewing/editing/exporting.
A new tab has been added to export the configured view. Users can configure the export format and save presets. Built-ins include CSV, TSV, and Semicolons.
The command line tool has been upgraded to support export of the BOM from the CLI:
Usage: bom [-h] [--output VAR] [--fields VAR] [--labels VAR] [--group-by VAR] [--sort-field VAR] [--sort-asc] [--filter VAR] [--group] [--exclude-dnp] [--field-delimiter VAR] [--string-delimiter VAR] [--ref-delimiter VAR] [--ref-range-delimiter VAR] [--keep-tabs] [--keep-line-breaks] input
Positional arguments:
input Input file
Optional arguments:
-h, --help shows help message and exits
-o, --output Output file name [default: ""]
--fields --fields [default: "Reference,Value,Footprint,Quantity"]
--labels An ordered list of labels to apply the exported fields. [default: "Refs,Value,Footprint,Qty"]
--group-by Fields to group references by when field values match. [default: "Value,Footprint"]
--sort-field Field name to sort by. [default: "Reference"]
--sort-asc Sort ascending (true) or descending (false).
--filter Filter string to remove output lines. [default: ""]
--group Enable grouping of references with matching group-by fields.
--exclude-dnp Exclude symbols marked Do-Not-Populate.
--field-delimiter Separator between output fields/columns. [default: ","]
--string-delimiter Character to surround fields with. [default: """]
--ref-delimiter Character to place between individual references. [default: ","]
--ref-range-delimiter Character to place in ranges of references. Leave blank for no ranges. [default: "-"]
--keep-tabs Keep tab characters from input fields. Stripped by default.
--keep-line-breaks Keep line break characters from input fields. Stripped by default.
The settings format and CLI options are not fixed at this time as some functionality may be added or changed before 8.0 is released. A planned improvement is more advanced handling of symbol properties like Do Not Populate such as grouping-by and outputting the value of this property.
The symbol fields table editor has received many updates and bugfixes along the way. Field re-ordering is now upgraded such that copy and paste from a spreadsheet to and from the table with reordered columns now works as expected. The dialog now remembers how the user last configured it. Newlines are now stripped when pasted into a single cell.
Parts libraries (*.lib) and its associated CADSTAR symbol archive file (*.csa) can be added directly as an entry to the symbol library table.
For now, the *.csa file is configured as an “option” of the library entry and if not configured, is default to searching the file “symbol.csa” in the same folder. There is a second option that allows the user to specify which footprint library name (that has been previously defined in the footprint library table) will be used.
Note that in CADSTAR usually a library will be configured with associated pcb.lib and symbol.lib files. These files are binary format and must first be converted to pcb.cpa and symbol.csa respectively before they can be used with KiCad.
To display the options dialog, right click on a library entry and choose “Edit options…”. There you can add the configuration options:
Support for exporting Allegro netlists has been contributed to the schematic editor and is found in the same netlist export dialog as the pre-existing options
The PCB editor has gained footprint fields equivalent to symbol fields. Each footprint’s fields are synchronized with its symbol’s fields. Footprint texts are still available for non-field text in footprints.
Jeff Young added some options to allow applying board text and graphics settings to footprints by default if desired (see “When Adding Footprints to PCB” in lower-right), so your board text and graphics settings can automatically override footprint library defaults.
Named variables as schematic fields are now supported as a special field type. These are fields named something like ${DNP} or ${VALUE}. Their value is always set to the same variable as the name, and the shown name is always the variable without the ${ }.
These have a couple of uses, especially with regards to the BOM generator. The special variables allow exporting non-field properties such as Do Not Place:
/usr/local/bin/kicad-cli sch export bom
input: 1 argument(s) expected. 0 provided.
Usage: bom [-h] [--output VAR] [--fields VAR] [--labels VAR] [--group-by VAR] [--sort-field VAR] [--sort-asc] [--filter VAR] [--group] [--exclude-dnp] [--field-delimiter VAR] [--string-delimiter VAR] [--ref-delimiter VAR] [--ref-range-delimiter VAR] [--keep-tabs] [--keep-line-breaks] input
Positional arguments:
input Input file
Optional arguments:
-h, --help shows help message and exits
-o, --output Output file name [default: ""]
--fields An ordered list of fields to export. [default: "Reference,Value,Footprint,Quantity,${DNP}"]
--labels An ordered list of labels to apply the exported fields. [default: "Refs,Value,Footprint,Qty,DNP"]
--group-by Fields to group references by when field values match. [default: "Value,Footprint,${DNP}"]
They also work when specified in the command line exporter. Be careful of escaping! The shell will eat empty variables like ${DNP} so try ${DNP}, etc.
Lastly, the symbol fields table has gained the Item Number column as another magic column like Quantity.