Router une piste à angle droit avec l'API Python de pcbnew
Créez une piste avec un coude à angle droit entre deux points non alignés, par script — avec pcbnew ou l'API IPC de KiCad.
Le tuto routage de piste trace un segment unique en ligne droite. Dès que le point de départ et le point d’arrivée ne sont pas alignés, il faut au moins deux segments reliés par un coude — la base de tout algorithme de routage un peu plus élaboré qu’une ligne directe.
Créer les deux segments
Le second segment démarre exactement où le premier se termine — c’est ce point partagé qui forme le coude :
from pcbnew import PCB_TRACK, VECTOR2I, FromMM, F_Cu
track1 = PCB_TRACK(board)
track1.SetStart(VECTOR2I(FromMM(10), FromMM(15)))
track1.SetEnd(VECTOR2I(FromMM(25), FromMM(15)))
track1.SetWidth(FromMM(0.25))
track1.SetLayer(F_Cu)
board.Add(track1)
track2 = PCB_TRACK(board)
track2.SetStart(VECTOR2I(FromMM(25), FromMM(15)))
track2.SetEnd(VECTOR2I(FromMM(25), FromMM(35)))
track2.SetWidth(FromMM(0.25))
track2.SetLayer(F_Cu)
board.Add(track2)Même logique, en créant deux pistes distinctes qui partagent un point :
from kicad.geometry import Vector2
track1 = board.create_track()
track1.start = Vector2.from_mm(10, 15)
track1.end = Vector2.from_mm(25, 15)
track1.width = 0.25
track1.layer = "F.Cu"
track2 = board.create_track()
track2.start = Vector2.from_mm(25, 15)
track2.end = Vector2.from_mm(25, 35)
track2.width = 0.25
track2.layer = "F.Cu"
board.update_items([track1, track2])Essayez ci-dessous : déplacez le coude pour voir les deux segments se réajuster.
Pour aller plus loin
Ce squelette à deux segments se généralise à un chemin en zigzag arbitraire en bouclant sur une liste de points intermédiaires, chaque segment reliant le point précédent au suivant — la base d’un mini-routeur qui évite des obstacles simples.