Si has exportado un archivo de posición pick & place de KiCAD usando la GUI o la línea de comandos:
kicad_export_pos_to_file.sh
kicad-cli pcb export pos MyPCB.kicad_pcb --units mm -o MyPCB.pospuedes leerlo desde dentro de tu script de Python usando pandas.read_table(...) así:
read_pos_with_pandas.py
import pandas as pd
pos = pd.read_table('KKS-Microcontroller-Board-R2.2.pos', delim_whitespace=True, names=["Ref", "Val", "Package", "PosX", "PosY", "Rot","Side"], comment="#")Opcionalmente, también puedes indexar pos por la columna Ref (la cual contiene valores tales como C12, D1 o U5):
set_index_example.py
pos.set_index("Ref", inplace=True)También puedes empaquetar todo eso en una función:
read_kicad_pos_file.py
def read_kicad_pos_file(filename):
pos = pd.read_table(filename, delim_whitespace=True, names=["Ref", "Val", "Package", "PosX", "PosY", "Rot","Side"], comment="#")
pos.set_index("Ref", inplace=True)
return posSi has usado .set_index(), puedes acceder a un componente tal como C13 usando
example_lookup.txt
pos.loc["C13"]Ejemplo de salida:
example_output.txt
Val 100nF_25V
Package C_0603_1608Metric
PosX 187.1472
PosY -101.8243
Rot 180.0
Side top
Name: C1, dtype: objectSi este artículo te ha ayudado, considera invitarme a un café o hacer una donación vía PayPal para apoyar la investigación y publicación de nuevos artículos en TechOverflow