Basculer un footprint sur la face arrière avec l'API Python de pcbnew

Publié le 15 septembre 2026 par leZ

Faites passer un footprint de la face avant à la face arrière du PCB par script, pour un composant monté côté cuivre B.Cu — avec pcbnew ou l'API IPC de KiCad.

Avant / après : l'empreinte U1 basculée sur la face arrière (B.Cu), en miroir, par Flip() en Python dans KiCad
U1 sur la face avant, puis basculé sur la face arrière.

Sur un PCB double face, certains composants (souvent des composants passifs peu encombrants) se montent côté cuivre arrière pour gagner de la place côté avant. Basculer un footprint par script évite d’ouvrir le menu contextuel à chaque composant à retourner.

Basculer le footprint

Flip retourne le footprint autour d’un centre donné — généralement sa propre position, pour un retournement sur place :

import pcbnew

board = pcbnew.GetBoard()
fp = board.FindFootprintByReference("U1")
fp.Flip(fp.GetPosition(), True)

board.flip_items fait le retournement complet — couche et géométrie (pads, sérigraphie mirroirs) :

from kipy import KiCad

board = KiCad().get_board()
by_ref = {f.reference_field.text.value: f for f in board.get_footprints()}
fp = by_ref["U1"]
board.flip_items(fp)

⚠️ Testé : changer juste fp.layer = board.get_layer_by_name("B.Cu") (sans passer par flip_items) déplace bien le footprint en couche B.Cu, mais ne mirrore pas les pads — leur position reste identique, ce qui produit un footprint sur la mauvaise face avec des pads mal alignés. La documentation de kipy le confirme explicitement : “Do not use this property to try to flip an existing footprint to the other side of a board. Use Board.flip_items instead.” flip_items accepte aussi une direction (BoardFlipDirection.BFD_LEFT_RIGHT, la valeur par défaut, ou BFD_TOP_BOTTOM).

Essayez ci-dessous : basculez le footprint et observez comment son orientation et sa couleur de couche changent.

fp.Flip(fp.GetPosition(), False)

Face avant

U1

Pour aller plus loin

Après un Flip, pensez à vérifier que les pads traversants restent alignés et que le texte de référence reste lisible — sur la face arrière, KiCad affiche généralement le texte en miroir pour qu’il reste lisible une fois la board retournée physiquement.