找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

如何在Allegro里面设置用1234...序号命令来换层

[复制链接]

19

主题

235

帖子

2138

积分

四级会员(40)

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

积分
2138
跳转到指定楼层
1#
发表于 2014-9-11 15:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

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

x
以前用过这个功能,就是在命令行输入1显示的是第一层的器件,孔,线,然后2就切换到第二层,以此类推;9 x+ {, Z6 v8 y2 `8 z
内层的话只显示线和孔,当然,route keepout也是显示出来的,我用script录制功能试过,但是效果不太好……( l6 G' k$ ]7 }+ t
然后同理,输入ka可以显示所有的route keepout,输入pbt可以显示TOP层的placebound,等等~7 Y  Q6 ^. W2 F: q! v. w( M
请教哪位大神有什么好的方法来实现下~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏3 支持!支持! 反对!反对!

19

主题

235

帖子

2138

积分

四级会员(40)

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

积分
2138
推荐
 楼主| 发表于 2014-9-19 08:15 | 只看该作者
owencai 发表于 2014-9-18 16:54
6 h& Q% s4 Q7 \funckey z8 'color -globvis off'0 c" C0 |8 g* `7 t
  全部关掉命令,
5 z. l7 s: {/ B; O% h" H7 y& m2 Z还有你加的那条color -toggle "Via class/Top"我 ...

, K7 v: ~! T5 _" M" B' `* e哦,对了,我这边还有个问题……中间层每次的叠层都不一样,在env文件里面写:
$ \- n6 V9 M4 o( Yalias 2 'color -globvis off;color -toggle "Via Class/L02_*";color -toggle "Etch/L02_*";color -toggle "Board Geometry/Outline"'
4 o+ r! D; _7 G" Y% t6 D2 X我尝试用星号代替,可是无法识别. g+ b8 X* G+ i: _3 }! H
不知道这个要怎么描述……

57

主题

1152

帖子

5889

积分

五级会员(50)

Rank: 5

积分
5889
2#
发表于 2014-9-11 21:20 | 只看该作者
Skill论坛有个skill,输入命令L1,显示第一层,L2显示第二层,感觉用起来不错哦,
" N9 y1 [9 _+ b9 a还有一种快捷键设置,但是只能显示器件和线,过孔无法显示,现在用手机上,明天早上再上传,你到时候再研究下能不能改成全部显示,
. \5 V& P) ?3 h3 g3 L( ?3 y另:录制的应该可以吧,不好用么?
遇一人白首 择一城终老

57

主题

1152

帖子

5889

积分

五级会员(50)

Rank: 5

积分
5889
3#
发表于 2014-9-12 08:20 | 只看该作者
funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印8 d) d9 `$ l+ t; l9 B0 @
funckey zb1 'color -toggle "Package Geometry/Silkscreen_bottom"' #控制底层丝印5 ~* t& M  z8 D+ m
你可以根据上面的语句编你想要的层,route keepout
: u& u! H, B' O% b5 G- E下面是按1显示器件和线的快捷键,但是不显示过孔,你研究下,看能不能完善下,& `* Y/ }" [! S# M5 k) j
funckey z1 'color -toggle "Pin/Top";color -toggle "Etch/Top"'
* }" L; ]4 b! B# P5 P% o0 x- o, ?funckey z6 'color -toggle "Pin/BOTTOM";color -toggle "Etch/BOTTOM"'
遇一人白首 择一城终老

19

主题

235

帖子

2138

积分

四级会员(40)

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

积分
2138
4#
 楼主| 发表于 2014-9-12 08:33 | 只看该作者
owencai 发表于 2014-9-12 08:20! l8 u6 P' E$ ]- I
funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印
& }) b+ d' N2 K  ]" u, B: W9 _funckey zb1 'color - ...

0 f  w' R' c% V好的,灰常感谢~我自己再研究一下。
; ~0 K5 o! [& ?用script录制的显示的是一步一步的,然后以前用的是输了命令过后直接显示的,所以觉得方法可能不对……

19

主题

235

帖子

2138

积分

四级会员(40)

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

积分
2138
5#
 楼主| 发表于 2014-9-12 10:14 | 只看该作者
zuoyy 发表于 2014-9-12 08:33; x5 s: B! Q9 x0 C
好的,灰常感谢~我自己再研究一下。
/ {" \8 H7 Y  x) ?- a( C用script录制的显示的是一步一步的,然后以前用的是输了命令过后直 ...

# V4 f8 N  u  Q" {, h9 |8 v那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样好像就是通过命令行而不是快捷键/ E+ H, i! Z, }9 A0 v
我刚才尝试了下,这个是可以显示的,但是好像只能开,不能在开的同是关掉其他层……
( G3 P$ q  [+ L1 {$ P: P, j$ P那个在color里面有个Global Visibility可以全局的全开和全关,这个想要通过命令行怎么实现?
4 r- y) ^5 I. G1 v如果实现了得话就可以在这些语句前面加一句all off,然后就能把其他的全部关掉,只开我们想要的那些层。

57

主题

1152

帖子

5889

积分

五级会员(50)

Rank: 5

积分
5889
6#
发表于 2014-9-18 16:54 | 只看该作者
本帖最后由 owencai 于 2014-9-18 17:05 编辑
% t+ O# \- j) e
zuoyy 发表于 2014-9-12 10:14( X) e- r4 p% D+ M+ [
那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样 ...

" I3 D% W6 \5 k+ |
1 F# H* T1 O4 T0 Cfunckey z8 'color -globvis off'
* g) m& X, z9 T% E1 C  全部关掉命令,; Y% @0 I* t9 E& E* H
还有你加的那条color -toggle "Via class/Top"我这里是没有用的,显示E- Unmatched quote 我的是16.3 的," r& T3 J. k+ I: |; Z5 W
5 H" D; F4 z$ l& y
搞不懂,正在测试中 . Z8 M2 [2 U' A, C/ s

) w: p. N: l1 o1 q: E经过测试可以用,嘿嘿,不能把这个语句直接复制到命令行执行,否则会出错,直接放在ENV里就可以,
遇一人白首 择一城终老

19

主题

235

帖子

2138

积分

四级会员(40)

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

积分
2138
7#
 楼主| 发表于 2014-9-19 08:09 | 只看该作者
owencai 发表于 2014-9-18 16:54* I4 w5 I. `+ D, G% t- |
funckey z8 'color -globvis off'
) @% Z" Q5 m6 f' ~9 Y  全部关掉命令,
3 P0 z& |& r! u9 m3 A还有你加的那条color -toggle "Via class/Top"我 ...
$ F7 o1 s1 }8 A
哦,感谢~这个命令找不到……后来用录制的scr代替了这一步……! w- g/ H" _7 g5 J7 T: V  F
我的env里面这么写的:
4 j2 w0 i- `- M) S2 A: q4 }& Falias T 'replay alloff;color -toggle "Via Class/Top";color -toggle "Pin/Top";color -toggle "Etch/Top";color -toggle "Package Geometry/Silkscreen_Top";color -toggle "Board Geometry/Outline"'
3 ?) q1 r3 `, H; o2 b我等下把第一步的改一下,用命令执行要快一点,scr文件执行有点慢% ?& x( _: m) J  [# t7 k  z/ u
那个Via Class/Top我这边是可以的,你看一下你的那个层名称是不是这样命名的,这个好像还是区分大小写的

57

主题

1152

帖子

5889

积分

五级会员(50)

Rank: 5

积分
5889
9#
发表于 2014-9-19 08:32 | 只看该作者
不能用*号代替,系统识别不了这个subclass,只能在命名层的时候将名字与ENV里一样!
遇一人白首 择一城终老

19

主题

235

帖子

2138

积分

四级会员(40)

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

积分
2138
10#
 楼主| 发表于 2014-9-19 08:46 | 只看该作者
owencai 发表于 2014-9-19 08:32- F; ?( w; p: h5 |3 @
不能用*号代替,系统识别不了这个subclass,只能在命名层的时候将名字与ENV里一样!
! J( K4 N$ i) F4 c  n0 Y
呃……这样啊……但是我以前用过这个功能啊……叠层不可能每次都一样的……
0 ?; k& C" d# d6 a以前公司用的是按几就是第几层,然后每次的叠层都不一样的,层的名字也不一样,但是没有改过ENV里面的东西……4 |8 C. M: K3 F2 @% N5 U
好后悔当时怎么没有研究下……以为是Cadence软件自带的功能……

57

主题

1152

帖子

5889

积分

五级会员(50)

Rank: 5

积分
5889
11#
发表于 2014-9-19 10:08 | 只看该作者
可能用别的语句实现吧!继续研究,共同研究

点评

最终搞定了,用了一个小skill搞定了 axlCmdRegister("c_layer" 'c_layer ?cmdType "interactive") defun(c_layer (@optional (layer "")) let((allLayer countLayer) allLayer = axlGetParam("paramLayerGrou  详情 回复 发表于 2015-8-7 16:57
遇一人白首 择一城终老

19

主题

235

帖子

2138

积分

四级会员(40)

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

积分
2138
12#
 楼主| 发表于 2015-8-7 16:57 | 只看该作者
owencai 发表于 2014-9-19 10:08
& @8 S1 ^1 u  H3 R* Q, w0 Y1 i! ?可能用别的语句实现吧!继续研究,共同研究

9 S( ]+ ^+ A. a; _最终搞定了,用了一个小skill搞定了% x1 z. [" _1 L5 t# w$ k
axlCmdRegister("c_layer" 'c_layer ?cmdType "interactive")# g" m  [/ N+ ]2 y
5 @  A# m* C; n  J7 J8 L) d3 j& r
defun(c_layer (@optional (layer ""))  s' W# q/ ?5 i/ \; B! {
let((allLayer countLayer)
* X/ S  A' {: R- e" }        allLayer = axlGetParam("paramLayerGroup:ETCH")->groupMembers; c2 c9 J! h, D+ h
        countLayer = length(allLayer)
$ u0 a% A. @9 }$ Z- u& E        if(layer != "" && atoi(layer)
+ t4 l% v: m" L# d% u. w                then. Z) l, M4 c) A# _& O; {
                        layer = atoi(layer)2 K/ u. ^5 {$ B) C0 X) H
                        if( layer <= countLayer && layer > 0
# O+ c' B1 W: ^0 m4 u! w                                then: `( e6 `/ A# U
                                        axlVisibleDesign(nil)( L7 F' I" H8 n4 d/ d( j8 ?0 y
                                        axlVisibleLayer(strcat("ETCH/" nthelem(layer allLayer)) t)8 T' m5 J( \7 \: F6 g/ h1 Y
                                        axlVisibleLayer(strcat("PIN/" nthelem(layer allLayer)) t)
! s7 `- ^6 P/ p; f( n                                        axlVisibleLayer(strcat("VIA CLASS/" nthelem(layer allLayer)) t)    ; ]& u! i1 Y- F. O6 M. c
                                        axlVisibleLayer(strcat("DRC ERROR CLASS/" nthelem(layer allLayer)) t)2 N8 v+ P/ x$ K1 r
                                        axlVisibleLayer(strcat("Board Geometry/Outline") t)
! k7 G6 \* K* s9 q+ h1 Y                                        axlVisibleUpdate(t)5 ~6 p& X- P  b7 X. F4 _
                                        axlUIWPrint(nil "Swtich layer complet...")
) c& B2 n+ j& G' y                                else# \! {3 i# X7 [" y3 r8 c
                                        axlUIWPrint(nil "Error,Wrong layer argument!
2 n" y7 L1 N8 ?# W& K                        );end if
4 r: o, \/ x4 y+ m. Q$ x: i                else
% x8 _) o. E! q! M+ P3 m8 B7 a1 X                        axlUIWPrint(nil "Please Input argument...")
2 e! V' b; m4 Z+ }        );end if ( ?2 e, {" J" L5 o  ~# P2 m
);end let
0 M( M: \! z8 O7 F/ n);end defun
7 l: P7 r2 e- e9 e% H" E3 g4 I
! X8 i* ]9 ~7 r  F
7 S6 K9 ~: D- d; @- r. ^, N
5 W0 X2 J1 T' }把这个skill加载进allegro,然后输入命令就可以了# ^: h/ c% B1 F/ ]
或者在env文件里面加快捷命令1 2 3 4 ...就可以实现用数字换层$ ^2 f# j* v7 V' W; ~

评分

参与人数 1威望 +2 收起 理由
owencai + 2 你终于修炼成了啊,很给力!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2025-5-18 23:52 , Processed in 0.065235 second(s), 37 queries , Gzip On.

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

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

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