Message 1 of 1
Electron Python API can't get pads or smd values from elements
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi,
I can't seem to be able to read the pad values (drill, x, y, etc.) nor smd values when I try to read them from the following lines of code that I used to test the access to those data (using python api):
app = adsk.core.Application.get()
board = adsk.electron.Board.cast(app.activeProduct)
elements = board.elements
logger.log(f"NB ELEMENTS: {elements.count}")
logger.log("---------------------------------")
for i in range(elements.count):
element = elements.item(i)
logger.log(f"ELEMENT {i} NAME: {element.name}")
logger.log(f"ELEMENT {i} X/Y: {iu_to_mm(element.x)}/{iu_to_mm(element.y)}")
contacts = element.package.contacts
holes = element.package.holes
logger.log(f"ELEMENT {i} HOLES: {holes.count}")
holes_cnt = 0
k=0
for k in range(holes.count):
hole = holes.item(k)
logger.log(f"ELEMENT {i} HOLE {k} DRILL: {hole.drill}")
logger.log(f"ELEMENT {i} HOLE {k} X/Y: {iu_to_mm(hole.x)}/{iu_to_mm(hole.y)}")
holes_cnt += 1
logger.log(f"ELEMENT {i} CONTACTS: {contacts.count}")
j=0
for j in range(contacts.count):
contact = contacts.item(j)
smd_cnt = 0
pad_cnt = 0
logger.log(f"ELEMENT {i} CONTACT {j} X/Y: {iu_to_mm(contact.x)}/{iu_to_mm(contact.y)}")
if contact.pad:
logger.log(f"ELEMENT {i} CONTACT {j} PAD DRILL: {contact.pad.drill}")
logger.log(f"ELEMENT {i} CONTACT {j} PAD X/Y: {iu_to_mm(contact.pad.x)}/{iu_to_mm(contact.pad.y)}")
pad_cnt += 1
else:
logger.log(f"ELEMENT {i} CONTACT {j} PAD {contact.pad}")
if contact.smd:
smd_cnt += 1
else:
logger.log(f"ELEMENT {i} CONTACT {j} SMD {contact.smd}")
logger.log("---------------------------------")
logger.log(f"ELEMENT {i} HOLES: {str(holes_cnt)} PADS:{str(pad_cnt)} SMD: {str(smd_cnt)}")
logger.log("---------------------------------")
I get the following output in the command line:
NB ELEMENTS: 2
---------------------------------
ELEMENT 0 NAME: RJ45_HOLE
ELEMENT 0 X/Y: 10.16/38.862
ELEMENT 0 HOLES: 2
ELEMENT 0 HOLE 0 DRILL: 1040384
ELEMENT 0 HOLE 0 X/Y: 5.715/0.0
ELEMENT 0 HOLE 1 DRILL: 1040384
ELEMENT 0 HOLE 1 X/Y: -5.715/0.0
ELEMENT 0 CONTACTS: 10
ELEMENT 0 CONTACT 0 X/Y: -0.635/8.89
ELEMENT 0 CONTACT 0 PAD None
ELEMENT 0 CONTACT 0 SMD None
ELEMENT 0 CONTACT 1 X/Y: -1.905/6.35
ELEMENT 0 CONTACT 1 PAD None
ELEMENT 0 CONTACT 1 SMD None
ELEMENT 0 CONTACT 2 X/Y: -3.175/8.89
ELEMENT 0 CONTACT 2 PAD None
ELEMENT 0 CONTACT 2 SMD None
ELEMENT 0 CONTACT 3 X/Y: 0.635/6.35
ELEMENT 0 CONTACT 3 PAD None
ELEMENT 0 CONTACT 3 SMD None
ELEMENT 0 CONTACT 4 X/Y: -4.445/6.35
ELEMENT 0 CONTACT 4 PAD None
ELEMENT 0 CONTACT 4 SMD None
ELEMENT 0 CONTACT 5 X/Y: 1.905/8.89
ELEMENT 0 CONTACT 5 PAD None
ELEMENT 0 CONTACT 5 SMD None
ELEMENT 0 CONTACT 6 X/Y: 3.175/6.35
ELEMENT 0 CONTACT 6 PAD None
ELEMENT 0 CONTACT 6 SMD None
ELEMENT 0 CONTACT 7 X/Y: 4.445/8.89
ELEMENT 0 CONTACT 7 PAD None
ELEMENT 0 CONTACT 7 SMD None
ELEMENT 0 CONTACT 8 X/Y: 7.7724/3.048
ELEMENT 0 CONTACT 8 PAD None
ELEMENT 0 CONTACT 8 SMD None
ELEMENT 0 CONTACT 9 X/Y: -7.7724/3.048
ELEMENT 0 CONTACT 9 PAD None
ELEMENT 0 CONTACT 9 SMD None
---------------------------------
ELEMENT 0 HOLES: 2 PADS:0 SMD: 0
---------------------------------
ELEMENT 1 NAME: U$1
ELEMENT 1 X/Y: 2.3622/20.7264
ELEMENT 1 HOLES: 0
ELEMENT 1 CONTACTS: 9
ELEMENT 1 CONTACT 0 X/Y: 14.605/0.0
ELEMENT 1 CONTACT 0 PAD None
ELEMENT 1 CONTACT 0 SMD None
ELEMENT 1 CONTACT 1 X/Y: 12.7/-1.905
ELEMENT 1 CONTACT 1 PAD None
ELEMENT 1 CONTACT 1 SMD None
ELEMENT 1 CONTACT 2 X/Y: 10.795/0.0
ELEMENT 1 CONTACT 2 PAD None
ELEMENT 1 CONTACT 2 SMD None
ELEMENT 1 CONTACT 3 X/Y: 8.89/-1.905
ELEMENT 1 CONTACT 3 PAD None
ELEMENT 1 CONTACT 3 SMD None
ELEMENT 1 CONTACT 4 X/Y: 7.1374/0.0
ELEMENT 1 CONTACT 4 PAD None
ELEMENT 1 CONTACT 4 SMD None
ELEMENT 1 CONTACT 5 X/Y: 5.08/-1.905
ELEMENT 1 CONTACT 5 PAD None
ELEMENT 1 CONTACT 5 SMD None
ELEMENT 1 CONTACT 6 X/Y: 3.175/0.0
ELEMENT 1 CONTACT 6 PAD None
ELEMENT 1 CONTACT 6 SMD None
ELEMENT 1 CONTACT 7 X/Y: 1.27/-1.905
ELEMENT 1 CONTACT 7 PAD None
ELEMENT 1 CONTACT 7 SMD None
ELEMENT 1 CONTACT 8 X/Y: 7.9375/-6.35
ELEMENT 1 CONTACT 8 PAD None
ELEMENT 1 CONTACT 8 SMD None
---------------------------------
ELEMENT 1 HOLES: 0 PADS:0 SMD: 0
---------------------------------
I tested it is a very simple board with a RJ45 jack with 2 NPTH and 10 PTH and a connector with 9 PTH so it is normal that I don't have any SMDs but I have tested it with a board that has exclusively SMD components (300+) and it still ouputs none.
If I read the pads with the signals I can read the values of the different properties.