New paste Repaste Download
#!/usr/bin/env python
import pandas as pd
HEADER = '''(kicad_symbol_lib
(version 20231120)
(generator "kicad_symbol_editor")
(generator_version "8.0")'''
def gen_sym(data):
SYM = f''' (symbol "{data['value']}"
(pin_numbers hide)
(pin_names
(offset 0.254) hide)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "R"
(at 0.762 0.508 0)
(effects
(font
(size 1.27 1.27)
)
(justify left)
)
)
(property "Value" "{data['value']}"
(at 0.762 -1.016 0)
(effects
(font
(size 1.27 1.27)
)
(justify left)
)
)
(property "Footprint" "{data['footprint']}"
(at 23.114 1.778 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Datasheet" "{data['datasheet']}"
(at 30.988 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Description" "{data['description']}"
(at 21.59 3.81 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "manf_num" "{data['manf_num']}"
(at 17.526 -8.89 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Tol" "{data['tol']}"
(at 9.652 -5.334 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "V" "{data['V']}"
(at 9.652 -1.778 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "W" "{data['W']}"
(at 10.16 -3.556 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "mass (g)" "{data['mass']}"
(at 10.668 -7.112 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "mouser#" "{data['mouser#']}"
(at 19.05 -10.668 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "ki_keywords" "R resistor"
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "ki_fp_filters" "R_*"
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(symbol "{data['value']}_0_1"
(rectangle
(start -0.762 1.778)
(end 0.762 -1.778)
(stroke
(width 0.2032)
(type default)
)
(fill
(type none)
)
)
)
(symbol "{data['value']}_1_1"
(pin passive line
(at 0 2.54 270)
(length 0.762)
(name "~"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "1"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin passive line
(at 0 -2.54 90)
(length 0.762)
(name "~"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "2"
(effects
(font
(size 1.27 1.27)
)
)
)
)
)
)'''
return SYM
# data = {}
# data['value'] = '200k'
# data['footprint'] = 'Resistor_SMD:R_1206_3216Metric'
# data['datasheet'] = 'https://www.vishay.com/docs/28881/tnpve3.pdf'
# data['description'] = 'High Voltage Thin Film, 1206'
# data['manf_num'] = 'TNPV1206200kBEEN'
# data['tol'] = '0.1%'
# data['V'] = '700V'
# data['W'] = '0.25V'
# data['mass'] = '0.0162'
# data['mouser#'] = '71-TNPV1206200kBEEN'
#print(gen_sym(data))
fn = 'resistor.csv'
df = pd.read_csv(fn)
print(HEADER)
for i,row in df.iterrows():
data = {'value': row['Value'], 'footprint':row['Footprint'],
'datasheet':row['Datasheet'],'description':row['Description'],
'manf_num':row['manf_num'],'tol':row['Tol'], 'V':row['V'],
'W':row['W'],'mass':row['mass (g)'],'mouser#':row['mouser#']
}
print(gen_sym(data))
print(')')
Filename: gen_TNPV.py. Size: 4kb. View raw, , hex, or download this file.

This paste expires on 2025-02-25 19:17:06.772527. Pasted through v1-api.