找回密码
 注册
查看: 2869|回复: 12
打印 上一主题 下一主题

move_pin_via

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-7-13 10:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 neky 于 2010-7-13 17:23 编辑

axlCmdRegister("moveviatopin_x" 'moveviatopin_x )
procedure(moveviatopin_x()
prog(
      (pin_a
       via_a
       pin_a_xy
       via_a_xy
       via_stack
       x
       y
      )
     axlSetFindFilter(?enabled '("NOALL" "VIAS") ?onButtons '("NOALL" "VIAS"))
     axlClearSelSet()
     axlMsgPut( "select a via!" )
        if( axlSingleSelectPoint()
            then
               via_a  = axlGetSelSet()
               via_stack = car(via_a)->name
               via_a  = car(via_a)
               via_a_xy = via_a->xy
               y=nth(1 via_a_xy)
               axlHighlightObject(via_a  t)
           )

     axlMsgPut( "select a pin!" )
     axlSetFindFilter(?enabled '("VIAS" "PINS") ?onButtons '("VIAS" "PINS"))
       if( axlSingleSelectPoint()
            then
               axlSingleSelectPoint()
               pin_a = axlGetSelSet()
               pin_a = car(pin_a)
               pin_a_xy =pin_a->xy
               x=nth(0 pin_a_xy)
               axlHighlightObject(pin_a  t)
           )
     
      via_a_xy = (x:y)
      axlShell("done")
      axlDeleteObject(via_a)
      axlDBCreateVia(via_stack via_a_xy)
      axlDehighlightObject(pin_a t)
      axlDehighlightObject(via_a t)
      
))


axlCmdRegister("moveviatopin_y" 'moveviatopin_y )
procedure(moveviatopin_y()
prog(      
      (pin_a
       via_a
       pin_a_xy
       via_a_xy
       via_stack
       x
       y
      )
     axlSetFindFilter(?enabled '("NOALL" "VIAS") ?onButtons '("NOALL" "VIAS"))  
     axlClearSelSet()
     axlMsgPut( "select a via!" )
        if( axlSingleSelectPoint()
            then
               via_a  = axlGetSelSet()
               via_stack = car(via_a)->name
               via_a  = car(via_a)
               via_a_xy = via_a->xy
               x=nth(0 via_a_xy)
               axlHighlightObject(via_a  t)
           )

     axlMsgPut( "select a pin!" )
     axlSetFindFilter(?enabled '("VIAS" "PINS") ?onButtons '("VIAS" "PINS"))
       if( axlSingleSelectPoint()
            then
               axlSingleSelectPoint()
               pin_a = axlGetSelSet()
               pin_a = car(pin_a)
               pin_a_xy =pin_a->xy
               y=nth(1 pin_a_xy)
               axlHighlightObject(pin_a  t)
           )
      via_a_xy = (x:y)
      axlShell("done")
      axlDeleteObject(via_a)
      axlDBCreateVia(via_stack via_a_xy)
      axlDehighlightObject(pin_a t)
      axlDehighlightObject(via_a t)
      
))


此为我写的一个skill是用来让via和pin对齐的。但是只能动via ,请高手看一下怎么改进???
还有我怎么判断我选中的是via还是pin。还有这个skill为什么要在我done之后才有动作呢??
请高手指点。
谢谢!!!!!!!!!!!!!!

该用户从未签到

2#
发表于 2010-7-13 12:27 | 只看该作者
回复 1# neky


    axlDBCreateVia() 这句是创建过孔的函数。
    如果需要PIN对齐,需要利用axlDBCreatePin()

该用户从未签到

3#
 楼主| 发表于 2010-7-13 14:24 | 只看该作者
回复 2# wg2005


     请楼上的我怎么判断是pin还是via???

该用户从未签到

4#
 楼主| 发表于 2010-7-13 14:29 | 只看该作者
对的!!axlSetFindFilter(?enabled '("vias" "pins") ?onButtons '("vias" "pins"))
我们可以有这句来选pin或via但是我们选中之后怎么样判断是pin还是via呢????
请坛中的高手给一下指点!!!!

该用户从未签到

5#
发表于 2010-7-14 17:13 | 只看该作者
判断每个dbid的objType属性。

该用户从未签到

6#
 楼主| 发表于 2010-7-14 22:28 | 只看该作者
请问一下我应该用那个语句去判断呢????

该用户从未签到

7#
 楼主| 发表于 2010-7-14 22:29 | 只看该作者
请版主指点一下哟
谢谢!!!!!!!!!

该用户从未签到

8#
发表于 2010-7-16 12:37 | 只看该作者
在下认为加入这行:
seltype = car(via_a)->objType (seltype为任意名称)
如果回传为"pin"就是pin
如果回传为"via"就是via

该用户从未签到

9#
 楼主| 发表于 2010-7-19 15:21 | 只看该作者
thank you

该用户从未签到

10#
发表于 2010-7-19 21:55 | 只看该作者
这个Skill正好我也需要,把楼主的程序改了一下.可以在SMD的引脚上添加过孔,放在引脚的正中间.
以前干这个需要一个多小时,现在一下子就好了. Place_Vias.zip (643 Bytes, 下载次数: 50)

该用户从未签到

11#
 楼主| 发表于 2010-7-20 11:18 | 只看该作者
回复 8# ginooolu


   请教高手一下我怎么在选中pin的情况下来得到symbol的基本数据的
用那些语句
是不是用
pin->parent
但是我用它写了一个skill返回的都 是nil
请高手指点一下了

该用户从未签到

12#
发表于 2010-7-20 19:41 | 只看该作者
在下认为你写的应该没错,以上面的程序中,pin_a已经得到pin的dbid,要得到symbol加入sym=pin_a->parent就应该要得到symbol的dbid了,如果还是有问题可能要请你提供更多讯息了

该用户从未签到

13#
 楼主| 发表于 2010-7-21 13:38 | 只看该作者
THANK YOU  !!问题已解决!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-5-24 22:02 , Processed in 0.093750 second(s), 28 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表