Diodes, leds and resistors positionning
This commit is contained in:
parent
416db015c0
commit
2d751036a3
1 changed files with 33 additions and 16 deletions
|
@ -1,18 +1,35 @@
|
|||
|
||||
import pcbnew
|
||||
board = pcbnew.GetBoard()
|
||||
mods = board.GetModules()
|
||||
|
||||
for i in mods:
|
||||
ref = i.GetReference()
|
||||
if not ref.startswith('D'):
|
||||
continue
|
||||
k_ref = "K" + ref[1:]
|
||||
k = board.FindModuleByReference(k_ref)
|
||||
print k_ref, k
|
||||
k_center = k.GetCenter()
|
||||
d_center = pcbnew.wxPoint(k_center.x - 3808700, k_center.y - 6200000)
|
||||
i.SetPosition(d_center)
|
||||
i.SetOrientation(2700)
|
||||
print k_ref, ref, d_center
|
||||
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()
|
||||
|
|
Loading…
Add table
Reference in a new issue