找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

19

主题

235

帖子

2138

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
以前用过这个功能,就是在命令行输入1显示的是第一层的器件,孔,线,然后2就切换到第二层,以此类推;
) K& @0 J4 {" C4 Z内层的话只显示线和孔,当然,route keepout也是显示出来的,我用script录制功能试过,但是效果不太好……
& I! X! o. g6 u) f- U" P$ A. b$ ?然后同理,输入ka可以显示所有的route keepout,输入pbt可以显示TOP层的placebound,等等~
3 s# w+ S8 |; 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
& C2 z: G4 x* a3 r& |funckey z8 'color -globvis off'
/ K5 u: Z1 S6 x2 F1 S4 V0 Y2 ^  全部关掉命令,
! a6 T8 y0 ^2 [( T' J0 y还有你加的那条color -toggle "Via class/Top"我 ...

  D. X2 Z" M5 S: h: q3 R: A1 h哦,对了,我这边还有个问题……中间层每次的叠层都不一样,在env文件里面写:2 ^% @0 x  c$ d9 w7 d3 _
alias 2 'color -globvis off;color -toggle "Via Class/L02_*";color -toggle "Etch/L02_*";color -toggle "Board Geometry/Outline"'" E! J9 _& s3 {+ ?1 c
我尝试用星号代替,可是无法识别/ [) f/ D& q2 c
不知道这个要怎么描述……

57

主题

1152

帖子

5889

积分

五级会员(50)

Rank: 5

积分
5889
2#
发表于 2014-9-11 21:20 | 只看该作者
Skill论坛有个skill,输入命令L1,显示第一层,L2显示第二层,感觉用起来不错哦,
$ ]. S1 C1 U$ p5 B5 w7 _还有一种快捷键设置,但是只能显示器件和线,过孔无法显示,现在用手机上,明天早上再上传,你到时候再研究下能不能改成全部显示,2 D5 H5 j7 c; |$ o7 Q. A! O- R
另:录制的应该可以吧,不好用么?
遇一人白首 择一城终老

57

主题

1152

帖子

5889

积分

五级会员(50)

Rank: 5

积分
5889
3#
发表于 2014-9-12 08:20 | 只看该作者
funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印5 {' t) e& k5 F8 a+ o2 }
funckey zb1 'color -toggle "Package Geometry/Silkscreen_bottom"' #控制底层丝印" L3 P# c3 f, P( H& f/ B
你可以根据上面的语句编你想要的层,route keepout
4 [5 X! ]* z6 P# n% p下面是按1显示器件和线的快捷键,但是不显示过孔,你研究下,看能不能完善下,9 x8 J2 T! ]$ ?3 Z$ M
funckey z1 'color -toggle "Pin/Top";color -toggle "Etch/Top"' . A: ^. i) O0 [; w+ u' |
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
$ v% D4 T1 \8 \) s& K: qfunckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印2 K* v8 U* ?3 ?: N  E
funckey zb1 'color - ...
6 V. `: a  I( T1 t2 U
好的,灰常感谢~我自己再研究一下。
! C/ R- ~5 d+ [用script录制的显示的是一步一步的,然后以前用的是输了命令过后直接显示的,所以觉得方法可能不对……

19

主题

235

帖子

2138

积分

四级会员(40)

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

积分
2138
5#
 楼主| 发表于 2014-9-12 10:14 | 只看该作者
zuoyy 发表于 2014-9-12 08:339 `: s/ E! C# B# G% Q( C2 V
好的,灰常感谢~我自己再研究一下。+ l$ g1 U+ B# I% V7 Z9 f
用script录制的显示的是一步一步的,然后以前用的是输了命令过后直 ...
7 S6 b% L2 d. u- C: M+ t, a
那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样好像就是通过命令行而不是快捷键
& f, d4 ~5 `( c我刚才尝试了下,这个是可以显示的,但是好像只能开,不能在开的同是关掉其他层……8 w# F5 s! w, }: d! e
那个在color里面有个Global Visibility可以全局的全开和全关,这个想要通过命令行怎么实现?2 {# E/ `! _6 ?1 S
如果实现了得话就可以在这些语句前面加一句all off,然后就能把其他的全部关掉,只开我们想要的那些层。

57

主题

1152

帖子

5889

积分

五级会员(50)

Rank: 5

积分
5889
6#
发表于 2014-9-18 16:54 | 只看该作者
本帖最后由 owencai 于 2014-9-18 17:05 编辑 ; ]0 O( j$ Z0 p+ X+ @! R" c
zuoyy 发表于 2014-9-12 10:14
! e. i/ Y% z' M% C( `% Q# A- W那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样 ...

) n3 ]$ w4 z# O3 P& w! X6 q- ^" ]8 E8 |0 x) Y; c# V
funckey z8 'color -globvis off'- E, [; d0 Y8 V( D
  全部关掉命令,
2 ?' s* t4 ^0 i! g  N, F还有你加的那条color -toggle "Via class/Top"我这里是没有用的,显示E- Unmatched quote 我的是16.3 的,; E) f( O7 K6 t" ], e) k8 |+ P" Y

: ]5 a% B4 R' p0 Z! q2 U; L搞不懂,正在测试中 " A6 W8 {; s) x+ c7 O: O4 ^% V
1 y( X; ~- P; f2 e
经过测试可以用,嘿嘿,不能把这个语句直接复制到命令行执行,否则会出错,直接放在ENV里就可以,
遇一人白首 择一城终老

19

主题

235

帖子

2138

积分

四级会员(40)

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

积分
2138
7#
 楼主| 发表于 2014-9-19 08:09 | 只看该作者
owencai 发表于 2014-9-18 16:54
6 P; t* b; O% |. W8 sfunckey z8 'color -globvis off'7 \2 [8 G% i8 Q5 Z" l9 l4 E
  全部关掉命令,
* M1 u8 v! J! d, t4 Y6 f还有你加的那条color -toggle "Via class/Top"我 ...
5 E5 _: V* E. H1 W9 Y0 b" ^
哦,感谢~这个命令找不到……后来用录制的scr代替了这一步……
% @. g* V- ~# Q. D. Y我的env里面这么写的:
' C' _; Q: |) l( S; C6 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"'! w- I! b! v# T- x& e. _" h
我等下把第一步的改一下,用命令执行要快一点,scr文件执行有点慢
$ }9 C+ |- T; m# \那个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$ \/ \; c9 {+ j% y4 _; f
不能用*号代替,系统识别不了这个subclass,只能在命名层的时候将名字与ENV里一样!
% X2 v  E. ^4 M, I) o; Q- V8 u
呃……这样啊……但是我以前用过这个功能啊……叠层不可能每次都一样的……& N" Z+ w' D) t4 C5 u3 X. z: x2 M
以前公司用的是按几就是第几层,然后每次的叠层都不一样的,层的名字也不一样,但是没有改过ENV里面的东西……
  _3 U' w1 N. |  g好后悔当时怎么没有研究下……以为是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 ?. l# T$ m* h( a$ _可能用别的语句实现吧!继续研究,共同研究

% D, D5 [) ~( X- B: E, L& A! {最终搞定了,用了一个小skill搞定了
. d+ E; O3 E; B! Z, AaxlCmdRegister("c_layer" 'c_layer ?cmdType "interactive")( C8 b3 {9 ^+ P' `

( g  E0 k  @9 i" |9 Qdefun(c_layer (@optional (layer ""))
5 Y( ?5 {, r9 U' x) H- elet((allLayer countLayer)" I" a* c4 ~9 x( W8 M
        allLayer = axlGetParam("paramLayerGroup:ETCH")->groupMembers
  V$ m- G) r3 c) ~/ p* t* o* R        countLayer = length(allLayer)3 k0 w. U% O$ }5 f1 d; P* ]  J
        if(layer != "" && atoi(layer), ~- W; a7 J2 a" `. H3 y4 c% r
                then5 k9 L+ w# D# u3 Y! F* E
                        layer = atoi(layer)! {" q* t6 k6 m% o$ e! M9 L9 \$ Y. m
                        if( layer <= countLayer && layer > 0
& }6 k7 j; Y+ r5 f% s" R+ X: K                                then
# n+ O- e' f3 p6 y+ G' {& Y: R, z  w                                        axlVisibleDesign(nil)' l0 Q; z5 I. j
                                        axlVisibleLayer(strcat("ETCH/" nthelem(layer allLayer)) t)
; S0 ~" g/ U: y) r  [& ~0 F                                        axlVisibleLayer(strcat("PIN/" nthelem(layer allLayer)) t)
. H; q6 _% }2 @8 \                                        axlVisibleLayer(strcat("VIA CLASS/" nthelem(layer allLayer)) t)   
) R4 C/ ~$ ^: G* o8 n. J8 a6 `+ @                                        axlVisibleLayer(strcat("DRC ERROR CLASS/" nthelem(layer allLayer)) t)/ P1 m5 Z4 p- R
                                        axlVisibleLayer(strcat("Board Geometry/Outline") t)
1 s& o! S" S" L2 w7 {4 |                                        axlVisibleUpdate(t)8 L4 ?) G/ m- @& G  m  [$ O  G
                                        axlUIWPrint(nil "Swtich layer complet...")
& H/ T  I  G8 P# |" K                                else
& W3 D1 o; D) k" R                                        axlUIWPrint(nil "Error,Wrong layer argument!
( q& S$ \0 Y; w5 y                        );end if. L- p9 V" h. f8 @/ }# b8 u
                else; m7 s# X* P2 ], X' X, u
                        axlUIWPrint(nil "Please Input argument...")5 W2 E; m9 I' f! K0 k+ @
        );end if ( k0 _+ `8 H& }- T* o) h
);end let
: F9 P/ ~/ O( w) D, i0 B1 q);end defun- E7 |+ R1 w' S1 }% o9 e/ y

! K6 |9 |, Q" I/ n6 e! ]+ n5 B) ~- o
8 x$ N- D4 u& _9 t$ Q7 X* S
把这个skill加载进allegro,然后输入命令就可以了9 l: t7 |3 H5 a
或者在env文件里面加快捷命令1 2 3 4 ...就可以实现用数字换层7 O2 `) d* p) M3 m

评分

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

查看全部评分

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

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-22 01:58 , Processed in 0.070843 second(s), 37 queries , Gzip On.

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

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

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