Cómo leer el archivo de posición pick&place de KiCAD usando pandas en Python

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.pos

puedes 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 pos

Si 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: object

Echa un vistazo a artículos similares por categoría: KiCad Pandas Python