EDA365电子工程师网

标题: 求助帖,如何获取循环过程中的Via坐标 [打印本页]

作者: LJ1697369196    时间: 2018-4-16 22:00
标题: 求助帖,如何获取循环过程中的Via坐标
求助帖,如何获取循环过程中的Via坐标

作者: jordanli22    时间: 2018-4-17 08:37
如果只是框选两个,哪一个在前哪一个在后都无所谓啦,相减取绝对值就好了
作者: leilei4908    时间: 2018-4-17 08:58
本帖最后由 leilei4908 于 2018-4-17 09:28 编辑

symlsall=axlGetSelSet();这里已经获取到所有的vias
foreach(value symlsall;这里就是依次提取symlsall内的元素,不需要再通过nthelem(i symlsall)提取其中的元素了
if(i=1;这是赋值,不是判断,所以i永远都是1,并且条件始终为真,一直会执行
把你的代码修改如下
mypopup = axlUIPopupDefine(nil list(
   list("Finish" 'axlFinishEnterFun);右键菜单结束输入
))
axlClearSelSet()
axlSetFindFilter(?enabled '("noall" "vias") ?onButtons '("noall" "vias"))
while(axlSingleSelectBox()
   vias = axlGetSelSet()
   when(length(vias) == 2
      via1 = car(vias), via2 = cadr(vias)
      xy1 = via1->xy, xy2 = via2->xy
      dis = axlDistance(xy1 xy2)
      fprintf(myport "%s\t%L\t%L\t" "Via" xy1 xy2)
      fprintf(myport "%.2f\n" dis)
   )
)




作者: LJ1697369196    时间: 2018-4-17 21:42
leilei4908 发表于 2018-4-17 08:58
symlsall=axlGetSelSet();这里已经获取到所有的vias
foreach(value symlsall;这里就是依次提取symlsall内 ...

非常感谢,确实是这样,不过我还有些不解
1.mypopup = axlUIPopupDefine(nil list(
   list("Finish" 'axlFinishEnterFun);右键菜单结束输入
))这句不加右键菜单也有Done这个选项,这句是?



作者: leilei4908    时间: 2018-4-18 10:35
本帖最后由 leilei4908 于 2018-4-18 10:39 编辑
LJ1697369196 发表于 2018-4-17 21:42
非常感谢,确实是这样,不过我还有些不解
1.mypopup = axlUIPopupDefine(nil list(
   lis ...


while(axlSingleSelectBox();这是一个死循环,需要通过axlFinishEnterFun或者axlCancelEnterFun退出这个循环
   ...
)

while前少了一句
axlUIPopupSet(mypopup);根据上面设置的popup,加入到右键菜单内


作者: LJ1697369196    时间: 2018-4-18 19:34
leilei4908 发表于 2018-4-18 10:35
while(axlSingleSelectBox();这是一个死循环,需要通过axlFinishEnterFun或者axlCancelEnterFun退出这 ...

谢谢,你看一下图片


作者: leilei4908    时间: 2018-4-19 15:49
LJ1697369196 发表于 2018-4-18 19:34
谢谢,你看一下图片


mypopup = axlUIPopupDefine(nil list(
   list("Finish" 'axlFinishEnterFun);右键菜单结束输入
))
axlClearSelSet()
axlSetFindFilter(?enabled '("noall" "vias") ?onButtons '("noall" "vias"))
axlUISetPopup(mypopup);根据上面设置的popup,加入到右键菜单内
while(axlSingleSelectBox()
   vias = axlGetSelSet()
   when(length(vias) == 2
      via1 = car(vias), via2 = cadr(vias)
      xy1 = via1->xy, xy2 = via2->xy
      dis = axlDistance(xy1 xy2)
      fprintf(myport "%s\t%L\t%L\t" "Via" xy1 xy2)
      fprintf(myport "%.2f\n" dis)
   )
   axlClearSelSet();清空选择项目,取消选中状态
)
axlUISetPopup(nil);重置右键菜单


作者: LJ1697369196    时间: 2018-4-20 22:53
leilei4908 发表于 2018-4-19 15:49
mypopup = axlUIPopupDefine(nil list(
   list("Finish" 'axlFinishEnterFun);右键菜单结束输入
))
...

实在感谢,可否加个微信,有小问题可以咨询一下,绝对不会打扰您的,我私信您

作者: leilei4908    时间: 2018-4-23 12:03
LJ1697369196 发表于 2018-4-20 22:53
实在感谢,可否加个微信,有小问题可以咨询一下,绝对不会打扰您的,我私信您

有问题就在这问好了,微信不想涉及工作上的事

作者: LJ1697369196    时间: 2018-4-23 18:20
leilei4908 发表于 2018-4-23 12:03
有问题就在这问好了,微信不想涉及工作上的事

好的,谢谢


作者: 上海轻骑兵    时间: 2018-5-12 22:08
不错,学习啦!!




欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2