Créer une grille de vias de stitching avec l'API Python de pcbnew
Générez une grille complète de vias de stitching reliés à la masse par script, plutôt qu'un via à la fois — avec pcbnew ou l'API IPC de KiCad.

Le tutoriel sur la création d’un via en pose un seul. Une grille de vias de stitching — reliée à la masse tout autour d’un plan de cuivre pour améliorer le retour de courant HF — se construit avec la même API, dans une double boucle sur les lignes et les colonnes.
Boucler sur les lignes et les colonnes
Chaque via est créé, positionné et rattaché au net dans la même itération :
import pcbnew
board = pcbnew.GetBoard()
from pcbnew import PCB_VIA, VECTOR2I, FromMM
rows, cols, spacing = 4, 4, 5 # mm
gnd = board.FindNet("GND")
for row in range(rows):
for col in range(cols):
via = PCB_VIA(board)
via.SetPosition(VECTOR2I(FromMM(20 + col * spacing), FromMM(20 + row * spacing)))
via.SetWidth(via.TopLayer(), FromMM(0.6))
via.SetDrill(FromMM(0.3))
via.SetNet(gnd)
board.Add(via)Même structure de boucle côté API IPC : la position se fixe en millimètres, mais le diamètre et le perçage sont des nanomètres bruts à convertir avec from_mm. Chaque via est un objet neuf, donc créé sur le board avec create_items :
from kipy import KiCad
from kipy.board_types import Via, Net
from kipy.geometry import Vector2
from kipy.util.units import from_mm
board = KiCad().get_board()
rows, cols, spacing = 4, 4, 5 # mm
gnd = Net(name="GND")
for row in range(rows):
for col in range(cols):
via = Via()
via.position = Vector2.from_xy_mm(20 + col * spacing, 20 + row * spacing)
via.diameter = from_mm(0.6)
via.drill_diameter = from_mm(0.3)
via.net = gnd
board.create_items(via)Essayez ci-dessous : ajustez lignes, colonnes et espacement pour voir la grille de vias se recomposer.
Pour aller plus loin
Pour un stitching utile en pratique, on ne place généralement les vias qu’à l’intérieur du contour d’une zone de cuivre existante — un test d’appartenance point-dans-polygone avant chaque board.Add(via) suffit à filtrer la grille en fonction de la forme réelle du plan de masse.