work on library interation tool

master
polymurph 2 years ago
parent f690c547dd
commit a4e9ecbff5

@ -0,0 +1,26 @@
(fp_lib_table
(version 7)
(lib (name "000_SDM_Resistor")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/000_SDM_Resistor.pretty")(options "")(descr ""))
(lib (name "010_capacitor_smd")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/010_capacitor_smd.pretty")(options "")(descr ""))
(lib (name "020_SMD_Inductors")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/020_SMD_Inductors.pretty")(options "")(descr ""))
(lib (name "021_inductor")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/021_inductor.pretty")(options "")(descr ""))
(lib (name "101_FET")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/101_FET.pretty")(options "")(descr ""))
(lib (name "180_relay")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/180_relay.pretty")(options "")(descr ""))
(lib (name "190_active_high_side_switches")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/190_active_high_side_switches.pretty")(options "")(descr ""))
(lib (name "310_smps_buck")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/310_smps_buck.pretty")(options "")(descr ""))
(lib (name "314_PMIC")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/314_PMIC.pretty")(options "")(descr ""))
(lib (name "350_power_driver_motor_dc")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/350_power_driver_motor_dc.pretty")(options "")(descr ""))
(lib (name "370_DCDC_Module")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/370_DCDC_Module.pretty")(options "")(descr ""))
(lib (name "420_MCU_32_bit_microchip")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/420_MCU_32_bit_microchip.pretty")(options "")(descr ""))
(lib (name "800_relay_monostable")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/800_relay_monostable.pretty")(options "")(descr ""))
(lib (name "801_relay_bistable")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/801_relay_bistable.pretty")(options "")(descr ""))
(lib (name "810_Cable_To_Board")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/810_Cable_To_Board.pretty")(options "")(descr ""))
(lib (name "810_connectors_clable_to_Board")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/810_connectors_clable_to_Board.pretty")(options "")(descr ""))
(lib (name "814_connectors_circular")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/814_connectors_circular.pretty")(options "")(descr ""))
(lib (name "815_connectors_fibler_RJ")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/815_connectors_fibler_RJ.pretty")(options "")(descr ""))
(lib (name "817_connectors_serial.ptretty")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/817_connectors_serial.ptretty")(options "")(descr ""))
(lib (name "817_connectors_serial.ptretty - Copy")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/817_connectors_serial.ptretty - Copy")(options "")(descr ""))
(lib (name "818_USB")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/818_USB.pretty")(options "")(descr ""))
(lib (name "819_connectors_card_edge")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/819_connectors_card_edge.pretty")(options "")(descr ""))
(lib (name "870_Button_SMD")(type "KiCad")(uri "${KIPRJMOD}/test_lib/footprints/870_Button_SMD.pretty")(options "")(descr ""))
)

@ -0,0 +1,26 @@
(sym_lib_table
(version 7)
(lib (name "000_SMD_Resitors")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/000_SMD_Resitors.kicad_sym")(options "")(descr ""))
(lib (name "010_SMD_Capacitors")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/010_SMD_Capacitors.kicad_sym")(options "")(descr ""))
(lib (name "020_SMD_Inductors")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/020_SMD_Inductors.kicad_sym")(options "")(descr ""))
(lib (name "056_Digital_Pot")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/056_Digital_Pot.kicad_sym")(options "")(descr ""))
(lib (name "100_BJT")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/100_BJT.kicad_sym")(options "")(descr ""))
(lib (name "101_FET")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/101_FET.kicad_sym")(options "")(descr ""))
(lib (name "110_Rectifier_Diodes")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/110_Rectifier_Diodes.kicad_sym")(options "")(descr ""))
(lib (name "111_ZenerDiodes")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/111_ZenerDiodes.kicad_sym")(options "")(descr ""))
(lib (name "131_Full_Bridge")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/131_Full_Bridge.kicad_sym")(options "")(descr ""))
(lib (name "180_active_driver_relay")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/180_active_driver_relay.kicad_sym")(options "")(descr ""))
(lib (name "190_active_high_side_switches")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/190_active_high_side_switches.kicad_sym")(options "")(descr ""))
(lib (name "200_OPAMP")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/200_OPAMP.kicad_sym")(options "")(descr ""))
(lib (name "210_Amplifiers")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/210_Amplifiers.kicad_sym")(options "")(descr ""))
(lib (name "314_power_management_ic")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/314_power_management_ic.kicad_sym")(options "")(descr ""))
(lib (name "350_power_driver_motor_dc")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/350_power_driver_motor_dc.kicad_sym")(options "")(descr ""))
(lib (name "370_DCDC_Module")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/370_DCDC_Module.kicad_sym")(options "")(descr ""))
(lib (name "470_digital_io_port_expander")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/470_digital_io_port_expander.kicad_sym")(options "")(descr ""))
(lib (name "551_Logic_And")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/551_Logic_And.kicad_sym")(options "")(descr ""))
(lib (name "818_USB")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/818_USB.kicad_sym")(options "")(descr ""))
(lib (name "819_connectors_cad_edge")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/819_connectors_cad_edge.kicad_sym")(options "")(descr ""))
(lib (name "870_Button_SMD")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/870_Button_SMD.kicad_sym")(options "")(descr ""))
(lib (name "1000_Contactors")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/1000_Contactors.kicad_sym")(options "")(descr ""))
(lib (name "1005_Switches_sym")(type "KiCad")(uri "${KIPRJMOD}/test_lib/symbols/1005_Switches_sym.kicad_sym")(options "")(descr ""))
)

@ -0,0 +1,77 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": false,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36,
39,
40
],
"visible_layers": "fffffff_ffffffff",
"zone_display_mode": 0
},
"meta": {
"filename": "test.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

@ -1,41 +0,0 @@
(module USB_Micro_B_Female_10118193-0001LF (layer F.Cu) (tedit 5FCDF6C1)
(descr http://portal.fciconnect.com/Comergent//fci/drawing/10118193.pdf)
(attr smd)
(fp_text reference REF** (at 0 -4.75) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value USB_Micro_B_Female_10118193-0001LF (at 0 4.5) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 4.014908 2.461848) (end 4.014908 2.841848) (layer F.SilkS) (width 0.1))
(fp_line (start 4.014908 2.841848) (end 3.644908 2.841848) (layer F.SilkS) (width 0.1))
(fp_line (start -4.013324 2.84) (end -3.643324 2.84) (layer F.SilkS) (width 0.1))
(fp_line (start -4.013324 2.46) (end -4.013324 2.84) (layer F.SilkS) (width 0.1))
(fp_line (start 4.06 -3.22) (end 4.06 -1.75) (layer F.SilkS) (width 0.1))
(fp_line (start 4.06 -3.22) (end 2.4 -3.22) (layer F.SilkS) (width 0.1))
(fp_line (start -4.05 -3.21) (end -2.4 -3.21) (layer F.SilkS) (width 0.1))
(fp_line (start -4.05 -3.2) (end -4.05 -1.75) (layer F.SilkS) (width 0.1))
(fp_line (start 3.93 2.75) (end 3.93 -2.9) (layer F.Fab) (width 0.1))
(fp_line (start -3.93 2.75) (end 3.93 2.75) (layer F.Fab) (width 0.1))
(fp_text user %R (at 0.06 1.86) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -3.93 -2.34) (end -3.37 -2.9) (layer F.Fab) (width 0.1))
(fp_line (start 3.93 -2.9) (end -3.37 -2.9) (layer F.Fab) (width 0.1))
(fp_line (start -3.93 2.75) (end -3.93 -2.34) (layer F.Fab) (width 0.1))
(fp_line (start 4.25 -3.75) (end 4.25 3) (layer F.CrtYd) (width 0.05))
(fp_line (start -4.25 -3.75) (end 4.25 -3.75) (layer F.CrtYd) (width 0.05))
(fp_line (start -4.25 3) (end 4.25 3) (layer F.CrtYd) (width 0.05))
(fp_line (start -4.25 -3.75) (end -4.25 3) (layer F.CrtYd) (width 0.05))
(pad 6 smd rect (at 1.2 0) (size 1.9 1.9) (layers F.Cu F.Paste F.Mask))
(pad 6 smd rect (at -1.2 0) (size 1.9 1.9) (layers F.Cu F.Paste F.Mask))
(pad 6 smd rect (at 3.2 -2.45) (size 1.6 1.4) (layers F.Cu F.Paste F.Mask))
(pad 6 smd rect (at -3.2 -2.45) (size 1.6 1.4) (layers F.Cu F.Paste F.Mask))
(pad 6 thru_hole oval (at -3.3 0) (size 0.9 1.6) (drill oval 0.5 1.2) (layers *.Cu *.Mask))
(pad 6 thru_hole oval (at 3.3 0) (size 0.9 1.6) (drill oval 0.5 1.2) (layers *.Cu *.Mask))
(pad 1 smd rect (at -1.3 -2.675) (size 0.4 1.35) (layers F.Cu F.Paste F.Mask))
(pad 2 smd rect (at -0.65 -2.675) (size 0.4 1.35) (layers F.Cu F.Paste F.Mask))
(pad 5 smd rect (at 1.3 -2.675) (size 0.4 1.35) (layers F.Cu F.Paste F.Mask))
(pad 4 smd rect (at 0.65 -2.675) (size 0.4 1.35) (layers F.Cu F.Paste F.Mask))
(pad 3 smd rect (at 0 -2.675) (size 0.4 1.35) (layers F.Cu F.Paste F.Mask))
)

@ -0,0 +1,57 @@
import os
import glob
def getFootprinLibrarys(pathTofootprints):
cwd = os.getcwd()
os.chdir(footprintPath)
footprintList = []
files = os.listdir()
# append all .pretty folders
for f in files:
if f.endswith(".pretty"):
footprintList.append(f)
os.chdir(cwd)
return footprintList
def getSymbolsLibrarys(pathToSymbols):
search_pattern = os.path.join(pathToSymbols, "*.kicad_sym")
return glob.glob(search_pattern)
pathToProjectFolder = input("enter path to KiCad project folder:")
# move one directory back into the main KicED library folder
# https://stackoverflow.com/questions/12280143/how-to-move-to-one-folder-back-in-python
os.path.normpath(os.getcwd() + os.sep + os.pardir)
cwd = os.getcwd()
print(pathToProjectFolder)
print(cwd)
# find common path
commonPath = os.path.commonprefix([cwd, pathToProjectFolder])
# KicED library paths
footprintPath = os.path.join(cwd, "footprints")
symbolsPath = os.path.join(cwd, "symbols")
# create relative path from KiCad project and the KicED library
relative_path = os.path.relpath(cwd, pathToProjectFolder)
print(relative_path)
baseRelativeBasePath = os.path.join("${KIPRJMOD}", relative_path)
print(baseRelativeBasePath)
fps = getFootprinLibrarys(footprintPath)
for f in fps:
print(f)
sps = getSymbolsLibrarys(symbolsPath)
for f in sps:
print(f)

@ -0,0 +1,23 @@
import tkinter as tk
from tkinter import filedialog
def select_folder():
folder_path = filedialog.askdirectory()
folder_label.config(text="Selected Folder: " + folder_path)
# Create the main window
root = tk.Tk()
root.title("KicED library linker")
# Create a label to display the selected folder
folder_label = tk.Label(root, text="Selected KiCad project folder: ")
folder_label.pack(pady=10)
# Create a button to open the file dialog
select_button = tk.Button(root, text="Select Folder", command=select_folder)
select_button.pack()
# Start the GUI application
root.mainloop()
Loading…
Cancel
Save