2021年2月6日 星期六

如何選擇落在某個pad上面的bondwires

選擇位於'L1_pkg'層的Pin,執行下列腳本便可以選擇落在選中的Pin的所有Bondwires。這個功能可以用來協助開發分離bondwires腳位的工具(見上一篇)。

import ScriptEnv
ScriptEnv.Initialize("Ansoft.ElectronicsDesktop")
oDesktop.RestoreWindow()
oProject = oDesktop.GetActiveProject()
oDesign = oProject.GetActiveDesign()
oLayout = oDesign.GetActiveEditor()

sele = oLayout.GetSelections()
AddWarningMessage(str(sele))
#polygon1 = oLayout.GetPolygon(sele[0])
toselect = []
for i in oLayout.FindObjects('Type', 'bondwire'):
p1 = oLayout.Point()
x, y = oLayout.GetPropertyValue('BaseElementTab',i, 'Pt1').split(',')
p1 = p1.Set(float(x)*1e-3 ,float(y)*1e-3)
obj = oLayout.FindObjectsByPoint(p1, 'L1_pkg')

if set(obj).intersection(set(sele)):
AddWarningMessage(str(i))
toselect.append(i)

oLayout.Select(toselect)

(圖一)選擇Pin,接著執行腳本


(圖二)落在被選中的Pin上的bondwires被選擇出來


沒有留言:

張貼留言