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

请问大家如何获取已经高亮的零件?

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
我在写一个框选区域检查零件高度的skill,现在怎么都获取不取已经框选过高亮的元件。请大家帮帮忙。谢谢!

该用户从未签到

2#
 楼主| 发表于 2013-2-20 15:15 | 只看该作者
版主帮帮忙呀,在线等呢。谢谢!

该用户从未签到

3#
发表于 2013-2-20 15:17 | 只看该作者
贴代码看看

该用户从未签到

4#
 楼主| 发表于 2013-2-20 15:57 | 只看该作者
betamelody 发表于 2013-2-20 15:17
贴代码看看

代码如下,请帮忙下。

(defun SelcetRegion ()
            axlClearSelSet()
            axlSetFindFilter(?enabled `("NOALL" "Symbols")
                         ?onButtons `("Symbols"))

            box = axlEnterBox( ?prompts `("Select Symbols to find."
                                      "Complete Box"))
                if( axlSingleSelectBox(box) then
                Symbols = axlGetSelSet()
                else
                axlMsgPut( "No Symbols were found.")
            )                          
            ;axlClearSelSet()

    );end let

(defun getHeights ()

        axlSetFindFilter( ?enabled list("symbols") ?onButtons "symbols")
        axlOpenFindFilter()
        if( (checkLimitValue=3) then
        symbol_db_list = axlGetSelSet()
        ) ;end if
        symbol_db_list = axlGetSelSet(axlAddSelectAll())                ;Make a list of all symbols
        axlClearSelSet()

该用户从未签到

5#
发表于 2013-2-20 16:28 | 只看该作者
SelcetRegion函数运行完后 全局变量 Symbols 就是获取到的高亮零件

该用户从未签到

6#
 楼主| 发表于 2013-2-20 17:33 | 只看该作者
betamelody 发表于 2013-2-20 16:28
SelcetRegion函数运行完后 全局变量 Symbols 就是获取到的高亮零件

请问下我要把Symbols的值传给另一函数如何做啊。本人只懂得基础,请多多帮忙。谢谢!

该用户从未签到

7#
发表于 2013-2-20 17:36 | 只看该作者
Symbols當前是全局變量,誰要用直接調用就好了不用刻意傳

该用户从未签到

8#
发表于 2013-2-20 20:07 | 只看该作者
看看有沒有axlIsHighlighted這個函數,我在16.3的手冊有看到
手冊路徑應該在%cdsroot%\doc\algroskill

axlIsHighlighted (
             o_dbid
         )
         ==> x_highlightColor/nil
Description
If the object is permanently highlighted returns the highlight color; otherwise nil.
Note: Pins can be highlighted.
Only symbols, nets, pins and DRC errors can be highlighted. Cadence suggests that you do
not highlight drc objects unless they are external DRCs, since Allegro PCB Editor DRCs are
frequently recreated.

该用户从未签到

9#
发表于 2013-2-20 21:21 | 只看该作者
获取已经高亮的零件
  1. setof(c axlDBGetDesign()->symbols axlIsHighlighted(c))
复制代码

该用户从未签到

10#
 楼主| 发表于 2013-2-21 10:15 | 只看该作者
betamelody 发表于 2013-2-20 17:36
Symbols當前是全局變量,誰要用直接調用就好了不用刻意傳

Symbols在SelcetRegion ()这个函数里是全局变量,但现在我要它的值传到getHeights ()这个函数中啊。

(defun getHeights ()

        axlSetFindFilter( ?enabled list("symbols") ?onButtons "symbols")
        axlOpenFindFilter()
        if( (checkLimitValue=3) then
        symbol_db_list =  symbols
        else
         symbol_db_list = axlGetSelSet(axlAddSelectAll())                ;Make a list of all symbols
         ) ;end if
        axlClearSelSet()


  依上面代码运行就会出错,说symbols是没定义的变量。请帮忙看下,谢谢!


该用户从未签到

11#
发表于 2013-2-21 10:47 | 只看该作者
萧萧雨下 发表于 2013-2-21 10:15
Symbols在SelcetRegion ()这个函数里是全局变量,但现在我要它的值传到getHeights ()这个函数中啊。

( ...

symbols Symbols  大小写的问题
另外传值通过函数参数来就可以了
defun getHeights (arg)
(
      ;do something :arg
)

该用户从未签到

12#
 楼主| 发表于 2013-2-21 15:37 | 只看该作者
deargds 发表于 2013-2-20 21:21
获取已经高亮的零件

谢谢版主,问题已经解决。谢谢!

该用户从未签到

13#
发表于 2013-2-22 15:20 | 只看该作者
萧萧雨下 发表于 2013-2-21 15:37
谢谢版主,问题已经解决。谢谢!

能晒一下作品么。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-2 11:38 , Processed in 0.062500 second(s), 24 queries , Gzip On.

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

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

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