35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
board = pcbnew.GetBoard()
|
|
for i in range(1, 97):
|
|
keyName = "K_20%02d" % i
|
|
diodeName = "D_20%02d" % i
|
|
key = board.FindModuleByReference(keyName)
|
|
diode = board.FindModuleByReference(diodeName)
|
|
resistor = board.FindModuleByReference("R30%02d" % i)
|
|
led = board.FindModuleByReference("D30%02d" % i)
|
|
|
|
if diode is None:
|
|
print("Missing diode {}".format(diodeName))
|
|
continue
|
|
|
|
keyCenterPoint = key.GetPosition()
|
|
|
|
diodeCenterPoint = pcbnew.wxPoint(keyCenterPoint.x - pcbnew.FromMM(6.4), keyCenterPoint.y - pcbnew.FromMM(1.4))
|
|
diode.SetPosition(diodeCenterPoint)
|
|
diode.SetOrientation(2700)
|
|
|
|
if (diode.GetLayer() == 0):
|
|
diode.Flip(diode.GetPosition())
|
|
|
|
ledCenterPoint = pcbnew.wxPoint(keyCenterPoint.x - pcbnew.FromMM(2.46), keyCenterPoint.y + pcbnew.FromMM(10))
|
|
led.SetPosition(ledCenterPoint)
|
|
|
|
resistorCenterPoint = pcbnew.wxPoint(ledCenterPoint.x - pcbnew.FromMM(0), ledCenterPoint.y + pcbnew.FromMM(3))
|
|
resistor.SetPosition(resistorCenterPoint)
|
|
|
|
print("key {}({}) on {}({})"
|
|
.format(key.GetReference(),
|
|
key.GetValue(),
|
|
key.GetPosition().x, key.GetPosition().y
|
|
))
|
|
|
|
pcbnew.Refresh()
|