找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 614|回复: 12
打印 上一主题 下一主题

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

[复制链接]

3

主题

54

帖子

7008

积分

六级会员(60)

Rank: 6Rank: 6

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

EDA365欢迎您!

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

x
我在写一个框选区域检查零件高度的SKILL,现在怎么都获取不取已经框选过高亮的元件。请大家帮帮忙。谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏2 支持!支持! 反对!反对!

3

主题

54

帖子

7008

积分

六级会员(60)

Rank: 6Rank: 6

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

7

主题

444

帖子

4989

积分

EDA365版主(50)

Rank: 5

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

3

主题

54

帖子

7008

积分

六级会员(60)

Rank: 6Rank: 6

积分
7008
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()

7

主题

444

帖子

4989

积分

EDA365版主(50)

Rank: 5

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

3

主题

54

帖子

7008

积分

六级会员(60)

Rank: 6Rank: 6

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

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

7

主题

444

帖子

4989

积分

EDA365版主(50)

Rank: 5

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

6

主题

220

帖子

3571

积分

五级会员(50)

Rank: 5

积分
3571
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.

117

主题

2352

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
13799

最佳敬业奖

9#
发表于 2013-2-20 21:21 | 只看该作者
获取已经高亮的零件
  1. setof(c axlDBGetDesign()->symbols axlIsHighlighted(c))
复制代码
谁画出这天地 又画下我和你

3

主题

54

帖子

7008

积分

六级会员(60)

Rank: 6Rank: 6

积分
7008
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是没定义的变量。请帮忙看下,谢谢!


117

主题

2352

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
13799

最佳敬业奖

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

( ...

symbols Symbols  大小写的问题
另外传值通过函数参数来就可以了
defun getHeights (arg)
(
      ;do something :arg
)
谁画出这天地 又画下我和你

3

主题

54

帖子

7008

积分

六级会员(60)

Rank: 6Rank: 6

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

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

8

主题

112

帖子

2068

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

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

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

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-24 13:26 , Processed in 0.061801 second(s), 32 queries , Gzip On.

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

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

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