EDA365电子工程师网
标题:
求检查多余在线上的孔的SKILL
[打印本页]
作者:
wolf343105
时间:
2013-6-22 10:45
标题:
求检查多余在线上的孔的SKILL
本帖最后由 wolf343105 于 2013-6-22 10:55 编辑
画线时候不小心在网络上打了过孔,而实际上这个是多余的,好像ALLEGRO软件检查不出来,(或者是我不知道),有这种SKILL吗?
作者:
betamelody
时间:
2013-6-22 21:42
就是via只连着两条cline并且这两条都在相同层面,把这样的via找出来,这样的逻辑?
作者:
betamelody
时间:
2013-6-25 14:58
本帖最后由 betamelody 于 2013-6-25 15:04 编辑
let((vias l_tlayer c)
axlClearSelSet()
axlSetFindFilter(?enabled '("noall" "vias" "INVISIBLE") ?onButtons '("vias"))
axlAddSelectAll()
vias = axlGetSelSet()
axlClearSelSet()
res = nil
foreach(via vias
l_tlayer = nil
c = axlDBGetConnect(via)
when(length(c) > 1
foreach(e c
if(e->objType == "path" then l_tlayer = cons(e->layer l_tlayer))
)
)
if(length(unique(l_tlayer)) == 1 then res = cons(via res))
)
axlHighlightObject(res)
)
复制代码
帮你写了个,功能是高亮所有多出来的过孔,可以在运行完输入指令
Command > skill axlDeleteObject(res)
来删除这些孔
作者:
wolf343105
时间:
2013-6-26 08:34
xiexie.
作者:
betamelody
时间:
2013-6-26 14:34
let((vias l_tlayer c)
axlClearSelSet()
axlSetFindFilter(?enabled '("noall" "vias" "INVISIBLE") ?onButtons '("vias"))
axlAddSelectAll()
vias = axlGetSelSet()
axlClearSelSet()
res = nil
foreach(via vias
l_tlayer = nil
c = axlDBGetConnect(via)
when(length(c) > 1
foreach(e c
if(e->objType == "path" then l_tlayer = cons(e->layer l_tlayer))
)
)
if(length(unique(l_tlayer)) == 1 && !via->testPoint then res = cons(via res))
)
axlHighlightObject(res)
)
复制代码
之前没有考虑到测试点的情况,已更新
作者:
szhot
时间:
2013-6-26 23:29
如何调用?
作者:
betamelody
时间:
2013-6-27 09:10
szhot 发表于 2013-6-26 23:29
如何调用?
将文本存为一个文本文件,比如UnnecessaryVia.il,存在某路径比如C:/pcbskill/UnnecessaryVia.il
然后输入
Command > skill load "C:/pcbskill/UnnecessaryVia.il"
即是运行了一次
欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/)
Powered by Discuz! X3.2