added BKA30D footprint and symbol
This commit is contained in:
51
BOM scripts/kicad-jlcpcb-bom-plugin-2.0.0/bom_csv_jlcpcb.py
Normal file
51
BOM scripts/kicad-jlcpcb-bom-plugin-2.0.0/bom_csv_jlcpcb.py
Normal file
@@ -0,0 +1,51 @@
|
||||
#
|
||||
# Example python script to generate a BOM from a KiCad generic netlist
|
||||
#
|
||||
# Example: Sorted and Grouped CSV BOM
|
||||
#
|
||||
|
||||
"""
|
||||
@package
|
||||
Generate a CSV BOM for use with JLCSMT service.
|
||||
Components are sorted by ref and grouped by value with same footprint
|
||||
Fields are (if exist).
|
||||
LCSC Part numbers are copied from the "LCSC Part" field, if exists.
|
||||
It is possible to hide components from the BOM by setting the
|
||||
"JLCPCB BOM" field to "0" or "false".
|
||||
|
||||
Output fields:
|
||||
'Comment', 'Designator', 'Footprint', 'LCSC Part #'
|
||||
|
||||
Command line:
|
||||
python "pathToFile/bom_csv_jlcsmt.py" "%I" "%O.csv"
|
||||
"""
|
||||
|
||||
import kicad_netlist_reader
|
||||
import csv
|
||||
import sys
|
||||
|
||||
net = kicad_netlist_reader.netlist(sys.argv[1])
|
||||
|
||||
with open(sys.argv[2], 'w', newline='') as f:
|
||||
out = csv.writer(f)
|
||||
out.writerow(['Comment', 'Designator', 'Footprint', 'LCSC Part #'])
|
||||
|
||||
for group in net.groupComponents():
|
||||
refs = []
|
||||
|
||||
lcsc_pn = ""
|
||||
for component in group:
|
||||
if component.getField('JLCPCB BOM') in ['0', 'false', 'False', 'FALSE']:
|
||||
continue
|
||||
refs.append(component.getRef())
|
||||
lcsc_pn = component.getField("LCSC Part") or lcsc_pn
|
||||
c = component
|
||||
|
||||
if len(refs) == 0:
|
||||
continue
|
||||
|
||||
# Fill in the component groups common data
|
||||
out.writerow([c.getValue() + " " + c.getDescription(), ",".join(refs), c.getFootprint().split(':')[1],
|
||||
lcsc_pn])
|
||||
|
||||
f.close()
|
||||
Reference in New Issue
Block a user