找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

哪位大神,能开发个当前层和全层快速切换的工具

[复制链接]

32

主题

649

帖子

1881

积分

四级会员(40)

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

积分
1881
跳转到指定楼层
1#
发表于 2015-8-26 23:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

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

x
本帖最后由 haoyingxiang 于 2015-8-27 22:08 编辑



哪位大神,能开发个当前层和全层快速切换的工具。就像mentor里面那种用笔画执行单层和全层切换一样,这样比现在点选高效N倍,各位skill高手都大显神通吧 有朋友不明白,补上图片(图片以此是当前激活层单层显示,全层显示,和笔画命令,这个是mentor的软件自带的),请各位大神大显神通吧,谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏1 支持!支持! 反对!反对!1

7

主题

444

帖子

4989

积分

EDA365版主(50)

Rank: 5

积分
4989
推荐
发表于 2015-8-28 09:20 | 只看该作者
本帖最后由 betamelody 于 2015-8-28 09:46 编辑

代码中把所有的ETCH都显示了,看图片好像仅需显示正片层,修改如下
  1. axlSetAlias("~A" "EDA365_SwitchLayerAllETCH")
  2. axlCmdRegister( "EDA365_SwitchLayerAllETCH" 'EDA365_SwitchLayerAllETCH ?cmdType "interactive")
  3. EDA365_SwitchLayerAllETCH_PrevLayer = nil
  4. procedure( EDA365_SwitchLayerAllETCH()
  5.   let((layerdbid layerlist)
  6.     if(!EDA365_SwitchLayerAllETCH_PrevLayer then
  7.       foreach(ea axlSubclasses("ETCH")
  8.         layerdbid = axlLayerGet(strcat("ETCH/" ea))
  9.         if(layerdbid->drcPhotoType == "positive" then
  10.           layerlist = append1(layerlist ea)
  11.         )
  12.       )
  13.       EDA365_SwitchLayerAllETCH_PrevLayer = axlVisibleGet()
  14.       axlVisibleDesign(nil)
  15.       foreach(ea layerlist
  16.         axlVisibleLayer(strcat("ETCH/" ea) t)
  17.         axlVisibleLayer(strcat("PIN/" ea) t)
  18.         axlVisibleLayer(strcat("VIA CLASS/" ea) t)
  19.       )
  20.       axlMsgPut("Current Layer:ALL ETCH")
  21.       axlUIWRedraw(nil)
  22.     else
  23.       axlVisibleDesign(nil)
  24.       axlVisibleSet(EDA365_SwitchLayerAllETCH_PrevLayer)
  25.       EDA365_SwitchLayerAllETCH_PrevLayer = nil
  26.       axlMsgPut("Current Layer:USER SET")
  27.       axlUIWRedraw(nil)
  28.     )
  29.   )
  30. )
复制代码


点评

你好厉害  详情 回复 发表于 2015-8-28 20:01

7

主题

444

帖子

4989

积分

EDA365版主(50)

Rank: 5

积分
4989
推荐
发表于 2015-8-27 09:40 | 只看该作者
本帖最后由 betamelody 于 2015-8-27 09:44 编辑
  1. axlSetAlias("~A" "EDA365_SwitchLayerAllETCH")

  2. axlCmdRegister( "EDA365_SwitchLayerAllETCH" 'EDA365_SwitchLayerAllETCH ?cmdType "interactive")
  3. EDA365_SwitchLayerAllETCH_PrevLayer = nil
  4. procedure( EDA365_SwitchLayerAllETCH()
  5.   prog(()
  6.     if(!EDA365_SwitchLayerAllETCH_PrevLayer then
  7.       EDA365_SwitchLayerAllETCH_PrevLayer = axlVisibleGet()
  8.       axlVisibleDesign(nil)
  9.       axlVisibleLayer("ETCH" t)
  10.       axlMsgPut("Current Layer:ALL ETCH")
  11.       axlUIWRedraw(nil)
  12.     else
  13.       axlVisibleDesign(nil)
  14.       axlVisibleSet(EDA365_SwitchLayerAllETCH_PrevLayer)
  15.       EDA365_SwitchLayerAllETCH_PrevLayer = nil
  16.       axlMsgPut("Current Layer:USER SET")
  17.       axlUIWRedraw(nil)
  18.     )
  19.   )
  20. )
复制代码

快捷键为CTRL+A
建议配合@deargds版主的EDA365_SwitchLayer一起使用,效果更佳

点评

感谢你的代码,复制试试,谢谢  详情 回复 发表于 2015-8-27 22:09

8

主题

468

帖子

2639

积分

四级会员(40)

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

积分
2639
推荐
发表于 2015-8-28 08:09 | 只看该作者
haoyingxiang 发表于 2015-8-27 22:09
想要的不是你说的那样的哦,感谢回复,请看上图

层叠显示的切换是可以用.color实现的。
比如说,写这样一个文件

color -globvis off ;关闭所有显示
color -vis "ETCH/TOP" ;打开TOP层

保存为“top.color”

然后在env里面添加
alias ~1 colorview load top
这样在allegro里面按ctrl+1就可以只显示TOP层走线。
类似的可以定义其它层。

显示所有走线层就写一个

color -globvis off
color -vis "ETCH"

用.color有一个好处是可以colorview load Last View,用skill切换层叠的话这个就用不了。
坏处是板子比较大的时候会比较慢。

点评

感谢  详情 回复 发表于 2015-8-28 20:00

57

主题

1857

帖子

7919

积分

六级会员(60)

Rank: 6Rank: 6

积分
7919
2#
发表于 2015-8-27 07:30 | 只看该作者
可否請你上個圖片,這樣會比較清楚?你所謂的全層是指哪幾層?

点评

请看图片,不知你是否明白了  详情 回复 发表于 2015-8-27 22:10
全层就是指我们布线时设置的模版层的全层,单层就是只显示我当前要布线的层,全层就是显示所有布线层,谢谢  详情 回复 发表于 2015-8-27 21:35

8

主题

468

帖子

2639

积分

四级会员(40)

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

积分
2639
3#
发表于 2015-8-27 08:06 | 只看该作者
本帖最后由 chrysalis 于 2015-8-27 08:15 编辑

只是切换层叠显示的话,用.color就可以满足基本需求了吧。
---

全层是指显示所有层吗?
colorview load Last View是返回上一个视图,可以在env里面给它定义一个快捷键;
显示所有层只需要创建一个.color,写上
color -globvis on

这一句就可以了,然后一样在env里面给它定义。

点评

想要的不是你说的那样的哦,感谢回复,请看上图  详情 回复 发表于 2015-8-27 22:09

32

主题

649

帖子

1881

积分

四级会员(40)

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

积分
1881
5#
 楼主| 发表于 2015-8-27 21:35 | 只看该作者
XYX365 发表于 2015-8-27 07:30
可否請你上個圖片,這樣會比較清楚?你所謂的全層是指哪幾層?

全层就是指我们布线时设置的模版层的全层,单层就是只显示我当前要布线的层,全层就是显示所有布线层,谢谢

32

主题

649

帖子

1881

积分

四级会员(40)

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

积分
1881
6#
 楼主| 发表于 2015-8-27 22:09 | 只看该作者
betamelody 发表于 2015-8-27 09:40
快捷键为CTRL+A
建议配合@deargds版主的EDA365_SwitchLayer一起使用,效果更佳

感谢你的代码,复制试试,谢谢

32

主题

649

帖子

1881

积分

四级会员(40)

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

积分
1881
7#
 楼主| 发表于 2015-8-27 22:09 | 只看该作者
chrysalis 发表于 2015-8-27 08:06
只是切换层叠显示的话,用.color就可以满足基本需求了吧。
---

想要的不是你说的那样的哦,感谢回复,请看上图

点评

层叠显示的切换是可以用.color实现的。 比如说,写这样一个文件 color -globvis off ;关闭所有显示 color -vis "ETCH/TOP" ;打开TOP层 保存为“top.color” 然后在env里面添加 alias ~1 colorview load  详情 回复 发表于 2015-8-28 08:09

32

主题

649

帖子

1881

积分

四级会员(40)

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

积分
1881
8#
 楼主| 发表于 2015-8-27 22:10 | 只看该作者
XYX365 发表于 2015-8-27 07:30
可否請你上個圖片,這樣會比較清楚?你所謂的全層是指哪幾層?

请看图片,不知你是否明白了

32

主题

649

帖子

1881

积分

四级会员(40)

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

积分
1881
11#
 楼主| 发表于 2015-8-28 20:00 | 只看该作者
chrysalis 发表于 2015-8-28 08:09
层叠显示的切换是可以用.color实现的。
比如说,写这样一个文件

感谢

32

主题

649

帖子

1881

积分

四级会员(40)

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

积分
1881
12#
 楼主| 发表于 2015-8-28 20:01 | 只看该作者
betamelody 发表于 2015-8-28 09:20
代码中把所有的ETCH都显示了,看图片好像仅需显示正片层,修改如下

你好厉害

44

主题

121

帖子

228

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
228
13#
发表于 2015-8-31 23:18 | 只看该作者
楼主可能需要的是鼠标手势功能:tool-utilities-stroke editor,
然后在配合楼上的几位高人见意

4

主题

248

帖子

309

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
309
14#
发表于 2015-9-2 11:23 | 只看该作者
不错,不错

1

主题

49

帖子

464

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
464
15#
发表于 2015-12-30 15:51 | 只看该作者
不錯!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-5 04:54 , Processed in 0.083356 second(s), 34 queries , Gzip On.

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

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

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