Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 20354|回复: 28

一个简单的换层显示工具

[复制链接]
发表于 2014-1-3 09:00:03 | 显示全部楼层 |阅读模式
这个比较简单,也不算是新奇的功能了,在代码行中,默认是按上下箭头换层。当然,可使用 + -键切换visibility中各导电层,也可以用其他的按键切换。
  1. when(axlGetAlias("Up") != "UP";此处修改向上翻页快捷键 如"Up" => "+"
  2. /* ========================================================= */
  3.         axlSetFunckey("Up" "skill UP" t);此处修改向上翻页快捷键 如"Up" => "+"
  4. /* ========================================================= */
  5. );when
  6. when(axlGetAlias("Down") != "DOWN";此处修改向下翻页快捷键 如"Down" => "-"
  7. /* ========================================================= */
  8.         axlSetFunckey("Down" "skill DOWN" t);此处修改向下翻页快捷键如"Down" => "-"
  9. /* ========================================================= */
  10. );when
  11. axlCmdRegister("DOWN" 'DOWN)
  12. axlCmdRegister("UP" 'UP)
  13. defun(DOWN ()
  14.         EC_layers = axlGetParam("paramLayerGroup:ETCH")->groupmembers
  15.         sum = length(EC_layers)
  16.         ACT_layer = substring(axlGetActiveLayer() 6 20)
  17. by_ck = 0
  18.         prog( ()
  19.                 for(i 0 sum-1
  20.                         when(ACT_layer == nth(i EC_layers)
  21. by_ck = i
  22.                                 return(by_ck)
  23.                         );when
  24.                 );for
  25.         );prog 获取索引 兼容15.x
  26.        
  27.        
  28.         if(by_ck == sum - 1
  29.                 then
  30.                         NXT_layer = nth(0 EC_layers)
  31.                 else
  32.                         NXT_layer = nth(by_ck+1 EC_layers)
  33.         );
  34.         axlSetActiveLayer(sprintf(nil "ETCH/%s" NXT_layer))
  35.         axlVisibleDesign(nil)
  36.         axlVisibleLayer(sprintf(nil "ETCH/%s" NXT_layer) t)
  37.         axlVisibleLayer(sprintf(nil "VIA CLASS/%s" NXT_layer) t)
  38.         axlVisibleLayer(sprintf(nil "PIN/%s" NXT_layer) t)
  39.         axlVisibleLayer(sprintf(nil "DRC ERROR CLASS/%s" NXT_layer) t)
  40.         axlVisibleLayer(sprintf(nil "ROUTE KEEPOUT/%s" NXT_layer) t)
  41.         axlVisibleLayer("ROUTE KEEPOUT/ALL" t)
  42.         axlVisibleLayer("BOARD GEOMETRY/OUTLINE" t)
  43.         axlVisibleUpdate(t)

  44. );defun
  45. defun(UP ()
  46.         EC_layers = axlGetParam("paramLayerGroup:ETCH")->groupMembers
  47.         sum = length(EC_layers)
  48.         ACT_layer = substring(axlGetActiveLayer() 6 20)
  49. by_ck = 0
  50.         prog( ()
  51.                 for(i 0 sum-1
  52.                         when(ACT_layer == nth(i EC_layers)
  53. by_ck = i
  54.                                 return(by_ck)
  55.                         );when
  56.                 );for
  57.         );prog 获取索引 兼容15.x
  58.        
  59.         if(by_ck == 0
  60.                 then
  61.                         NXT_layer = nth(sum - 1 EC_layers)
  62.                 else
  63.                         NXT_layer = nth(by_ck -1 EC_layers)
  64.         );
  65.         axlSetActiveLayer(sprintf(nil "ETCH/%s" NXT_layer))
  66.         axlVisibleDesign(nil)
  67.         axlVisibleLayer(sprintf(nil "ETCH/%s" NXT_layer) t)
  68.         axlVisibleLayer(sprintf(nil "VIA CLASS/%s" NXT_layer) t)
  69.         axlVisibleLayer(sprintf(nil "PIN/%s" NXT_layer) t)
  70.         axlVisibleLayer(sprintf(nil "DRC ERROR CLASS/%s" NXT_layer) t)
  71.         axlVisibleLayer(sprintf(nil "ROUTE KEEPOUT/%s" NXT_layer) t)
  72.         axlVisibleLayer("ROUTE KEEPOUT/ALL" t)
  73.         axlVisibleLayer("BOARD GEOMETRY/OUTLINE" t)
  74.         axlVisibleUpdate(t)

  75. );defun
复制代码

评分

参与人数 3威望 +5 SKILL币 +8 贡献 +1 收起 理由
vivienluo + 5 + 4 支持原创
PLCC + 2 + 1 赞一个!
owencai + 2 谢谢分享,慢慢学习SKILL中

查看全部评分

发表于 2014-2-12 15:33:12 | 显示全部楼层
mingqi 发表于 2014-2-10 15:03
可以给发些入门的资料么

主要在看一些文档文件
X:\Cadence\SPB_15.7\doc\sklanguser\sklanguser.pdf
X:\Cadence\SPB_15.7\doc\sklangref\sklangref.pdf
X:\Cadence\SPB_15.7\doc\algroskill\algroskill.pdf
发表于 2014-1-3 20:43:39 | 显示全部楼层
不错,支持原创。。。
发表于 2014-1-8 16:21:24 | 显示全部楼层
学习了 目前刚开始学习allegro-skill
 楼主| 发表于 2014-1-8 22:43:25 | 显示全部楼层
kedacadence 发表于 2014-1-8 16:21
学习了 目前刚开始学习allegro-skill

坚持,不是很难,祝你早日成功。
发表于 2014-2-10 15:03:07 | 显示全部楼层
kedacadence 发表于 2014-1-8 16:21
学习了 目前刚开始学习allegro-skill

可以给发些入门的资料么
发表于 2014-4-2 17:56:42 | 显示全部楼层
不错支持;
发表于 2014-4-3 16:20:57 | 显示全部楼层
学习了~~~~
发表于 2014-4-8 16:46:49 | 显示全部楼层
支持支持
发表于 2014-10-22 14:50:54 | 显示全部楼层
楼主真是辛苦你了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|网站地图|Cadence Skill 论坛 ( 蜀ICP备13024417号 )

GMT+8, 2024-4-21 00:16 , Processed in 0.148516 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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