Générer les fichiers de fabrication (Gerber) avec l'API Python de pcbnew
Exportez les fichiers Gerber d'une board par script, sans passer par le dialogue de tracé de KiCad — avec pcbnew ou l'API IPC.
Régénérer manuellement les Gerbers à chaque révision de board depuis le dialogue Fichier → Tracer est vite oublié. Scripter l’export garantit des fichiers de fabrication à jour à chaque build, et s’intègre naturellement dans un pipeline CI qui valide une board avant de l’envoyer chez le fabricant.
Configurer et lancer le tracé
PLOT_CONTROLLER pilote l’export couche par couche. On configure le dossier de sortie, puis on ouvre et referme un fichier de tracé pour chaque couche :
from pcbnew import PLOT_CONTROLLER, PLOT_FORMAT_GERBER, F_Cu
pctl = PLOT_CONTROLLER(board)
popt = pctl.GetPlotOptions()
popt.SetOutputDirectory("gerbers")
pctl.SetLayer(F_Cu)
pctl.OpenPlotfile("F_Cu", PLOT_FORMAT_GERBER)
pctl.PlotLayer()
pctl.ClosePlot()Avec l’API IPC, l’export passe par un appel de plus haut niveau sur la board, qui gère la configuration des couches en interne :
from kicad import KiCad
kicad = KiCad()
board = kicad.get_board()
board.export_gerbers(output_dir="gerbers", layers=["F.Cu", "B.Cu"])Exporter le fichier de perçage
Le perçage utilise un contrôleur dédié, EXCELLON_WRITER, séparé du tracé des couches cuivre :
from pcbnew import EXCELLON_WRITER
drill_writer = EXCELLON_WRITER(board)
drill_writer.SetOptions(False, False, board.GetDesignSettings().GetAuxOrigin(), False)
drill_writer.CreateDrillandMapFilesSet("gerbers", True, False)Même logique côté API IPC, en un seul appel :
board.export_drill_files(output_dir="gerbers")Pour aller plus loin
Ce script s’intègre directement dans une étape de CI : à chaque commit modifiant un .kicad_pcb, régénérer automatiquement les Gerbers et les comparer à la version précédente permet de détecter tout changement de fabrication non intentionnel avant l’envoi chez le fabricant.