找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

19

主题

235

帖子

2138

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
以前用过这个功能,就是在命令行输入1显示的是第一层的器件,孔,线,然后2就切换到第二层,以此类推;
% c4 O4 |- B  E* l) z) {内层的话只显示线和孔,当然,route keepout也是显示出来的,我用script录制功能试过,但是效果不太好……& d, J$ g! \8 \; T" v/ T
然后同理,输入ka可以显示所有的route keepout,输入pbt可以显示TOP层的placebound,等等~3 b8 T2 Z$ I9 r& ?% d) R3 z6 v/ n
请教哪位大神有什么好的方法来实现下~
分享到:  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
. ~5 r2 @7 w: ~6 kfunckey z8 'color -globvis off'" Z7 h8 f$ N0 @
  全部关掉命令," t8 ~! T; y  ]; D
还有你加的那条color -toggle "Via class/Top"我 ...
' a6 s/ P% z; r8 `
哦,对了,我这边还有个问题……中间层每次的叠层都不一样,在env文件里面写:8 e3 q' S: S; x3 h/ Z$ v4 i1 z
alias 2 'color -globvis off;color -toggle "Via Class/L02_*";color -toggle "Etch/L02_*";color -toggle "Board Geometry/Outline"'2 v' Z/ T! P3 y& |; h/ Y5 V
我尝试用星号代替,可是无法识别
( C9 K" U* ?2 v9 G# u3 V! K" X8 E% Z不知道这个要怎么描述……

57

主题

1152

帖子

5889

积分

五级会员(50)

Rank: 5

积分
5889
2#
发表于 2014-9-11 21:20 | 只看该作者
Skill论坛有个skill,输入命令L1,显示第一层,L2显示第二层,感觉用起来不错哦,
/ g! m2 d' J8 r5 t) n, X5 x还有一种快捷键设置,但是只能显示器件和线,过孔无法显示,现在用手机上,明天早上再上传,你到时候再研究下能不能改成全部显示,
) R6 j$ G, e+ C1 m* g0 \: [另:录制的应该可以吧,不好用么?
遇一人白首 择一城终老

57

主题

1152

帖子

5889

积分

五级会员(50)

Rank: 5

积分
5889
3#
发表于 2014-9-12 08:20 | 只看该作者
funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印7 g2 M0 h8 P2 k1 u' C+ u4 c
funckey zb1 'color -toggle "Package Geometry/Silkscreen_bottom"' #控制底层丝印
- q8 h* F0 C1 S2 J5 W你可以根据上面的语句编你想要的层,route keepout
7 C2 E% _8 u/ q6 T下面是按1显示器件和线的快捷键,但是不显示过孔,你研究下,看能不能完善下,+ N9 V2 U6 @' P/ u
funckey z1 'color -toggle "Pin/Top";color -toggle "Etch/Top"' + l, n! C+ ]! x  V4 m
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. i) u: o" R* X/ Z5 N9 S
funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印
. j# K$ n# d2 x" X. E' Nfunckey zb1 'color - ...
5 a5 n9 V& T" d) e+ x
好的,灰常感谢~我自己再研究一下。5 ]. G, s" F; F
用script录制的显示的是一步一步的,然后以前用的是输了命令过后直接显示的,所以觉得方法可能不对……

19

主题

235

帖子

2138

积分

四级会员(40)

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

积分
2138
5#
 楼主| 发表于 2014-9-12 10:14 | 只看该作者
zuoyy 发表于 2014-9-12 08:33  o$ k3 S' j* ^% k9 D
好的,灰常感谢~我自己再研究一下。  p  Z$ F3 f1 w
用script录制的显示的是一步一步的,然后以前用的是输了命令过后直 ...

( n7 B+ B( G, x4 H2 ^) }* D& G那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样好像就是通过命令行而不是快捷键
+ R, ?% v: z* ], ]* e$ U我刚才尝试了下,这个是可以显示的,但是好像只能开,不能在开的同是关掉其他层……
: Z9 H0 A, [+ P- B& f那个在color里面有个Global Visibility可以全局的全开和全关,这个想要通过命令行怎么实现?8 D  b& Z, S% f1 ^: W! v! C
如果实现了得话就可以在这些语句前面加一句all off,然后就能把其他的全部关掉,只开我们想要的那些层。

57

主题

1152

帖子

5889

积分

五级会员(50)

Rank: 5

积分
5889
6#
发表于 2014-9-18 16:54 | 只看该作者
本帖最后由 owencai 于 2014-9-18 17:05 编辑
6 q9 R8 h- t0 x0 @# z& T7 e7 ^+ G: }
zuoyy 发表于 2014-9-12 10:140 _+ f. z" @( e* ?% [% _) J
那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样 ...
, o2 i* K+ H# C7 a+ G# R" C
; b. l, ^) L2 ]% c
funckey z8 'color -globvis off'+ p! R- V* \# q1 T
  全部关掉命令," z, }' {+ z5 E, z! G. S. ]1 G
还有你加的那条color -toggle "Via class/Top"我这里是没有用的,显示E- Unmatched quote 我的是16.3 的,' ]: t# s) V! z

5 O6 I$ ?2 H8 W  S搞不懂,正在测试中 / B2 B# }  e* w; ]% e

+ V. v* Y7 I- ~: y8 E经过测试可以用,嘿嘿,不能把这个语句直接复制到命令行执行,否则会出错,直接放在ENV里就可以,
遇一人白首 择一城终老

19

主题

235

帖子

2138

积分

四级会员(40)

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

积分
2138
7#
 楼主| 发表于 2014-9-19 08:09 | 只看该作者
owencai 发表于 2014-9-18 16:54. r- G9 d3 ]# L4 u+ A
funckey z8 'color -globvis off'
1 }' _6 g, U" l, }. W  _9 F  全部关掉命令,% E# B$ j3 v1 M4 y5 _/ a
还有你加的那条color -toggle "Via class/Top"我 ...

: W+ @) ]$ C1 m( w- j1 t哦,感谢~这个命令找不到……后来用录制的scr代替了这一步……. F9 ?" u1 t& Q) V$ y5 p$ w
我的env里面这么写的:
/ O5 f$ z% S2 z3 P' O7 q: C3 Xalias 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"'
5 m2 s( F6 }* L& w5 [) Q! w1 G我等下把第一步的改一下,用命令执行要快一点,scr文件执行有点慢8 U* u5 R! a8 K/ \! W
那个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:324 ~& J8 j- [3 M  y
不能用*号代替,系统识别不了这个subclass,只能在命名层的时候将名字与ENV里一样!
" R3 t+ ^8 C* U8 ^
呃……这样啊……但是我以前用过这个功能啊……叠层不可能每次都一样的……
2 S" H/ M. l/ N0 i/ R0 p) D以前公司用的是按几就是第几层,然后每次的叠层都不一样的,层的名字也不一样,但是没有改过ENV里面的东西……
1 g( c4 \2 t9 o- [0 g& U" Q好后悔当时怎么没有研究下……以为是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& l2 a9 \2 s* _0 W7 r. v/ X
可能用别的语句实现吧!继续研究,共同研究
' }2 z" t/ b; Z" ~) T
最终搞定了,用了一个小skill搞定了
  E! E1 K& v1 i% k5 b, s; daxlCmdRegister("c_layer" 'c_layer ?cmdType "interactive")3 e" F. _4 z, A' i" k% d
  Z0 W- G' ]* t6 {( a9 T
defun(c_layer (@optional (layer ""))# s: }' F5 E9 m9 t7 S) z
let((allLayer countLayer)
- J, t: ?; A! v) a# b; g        allLayer = axlGetParam("paramLayerGroup:ETCH")->groupMembers6 u, A! S4 j6 q9 w4 B
        countLayer = length(allLayer)" C0 b7 Q( X9 D3 g+ w0 t
        if(layer != "" && atoi(layer)
+ N9 C# y" W5 `% h: w                then4 ?9 y3 B3 m% f# N8 h
                        layer = atoi(layer)
* |# T* f, K; G3 p$ M2 P; k                        if( layer <= countLayer && layer > 0$ _! p1 R7 M; a& ~3 w
                                then: p! _9 S2 l" T2 D7 {: l
                                        axlVisibleDesign(nil)8 D3 o' I% J) d9 B- E
                                        axlVisibleLayer(strcat("ETCH/" nthelem(layer allLayer)) t)
* @( c5 v8 e& l3 N! T7 p* T4 p                                        axlVisibleLayer(strcat("PIN/" nthelem(layer allLayer)) t)0 q- T! f" e  |- z
                                        axlVisibleLayer(strcat("VIA CLASS/" nthelem(layer allLayer)) t)   
* n7 @7 I# F6 v: G5 B2 ^0 g                                        axlVisibleLayer(strcat("DRC ERROR CLASS/" nthelem(layer allLayer)) t)
( y4 R% c2 |$ H5 B7 |, u4 [$ ?                                        axlVisibleLayer(strcat("Board Geometry/Outline") t)
& F) Q1 n) y) K                                        axlVisibleUpdate(t)1 |1 l( |5 A7 q) j" j/ [5 T
                                        axlUIWPrint(nil "Swtich layer complet..."): [  o+ A% j( p7 y( M" J8 V1 X) U$ ^
                                else
+ y" I+ l0 L1 }% }+ M3 Z1 Y$ J                                        axlUIWPrint(nil "Error,Wrong layer argument! # b+ s" {2 l1 n2 z/ I( W$ }
                        );end if9 V, K0 k0 q) O1 ?
                else6 m8 B* P' Y& X# C- u
                        axlUIWPrint(nil "Please Input argument...")
  l! H* C* V+ T8 m1 ^* J+ g        );end if
* k1 W  b/ V, q4 r. r);end let
( Z8 W  Q: t8 O5 L: d7 o5 W1 L; W);end defun$ v0 s3 D! i5 M5 T1 ~3 L

9 s8 |0 C! p5 x8 h
/ N' a' L* m' l8 v, M8 h/ F7 c( M/ G9 ~" N. k7 B
把这个skill加载进allegro,然后输入命令就可以了* C5 F' a- F- o; l8 R
或者在env文件里面加快捷命令1 2 3 4 ...就可以实现用数字换层  o# w; K( \! y8 P  I7 Q* a% o

评分

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

查看全部评分

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

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2025-5-19 03:05 , Processed in 0.077280 second(s), 34 queries , Gzip On.

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

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

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