找回密码
 注册
查看: 3680|回复: 11
打印 上一主题 下一主题

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

[复制链接]
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    以前用过这个功能,就是在命令行输入1显示的是第一层的器件,孔,线,然后2就切换到第二层,以此类推;
      Y5 g+ D7 A; @. `. X* }1 Y内层的话只显示线和孔,当然,route keepout也是显示出来的,我用script录制功能试过,但是效果不太好……8 a9 Z3 x& o7 ~
    然后同理,输入ka可以显示所有的route keepout,输入pbt可以显示TOP层的placebound,等等~+ [( u: |& L& i; f# M
    请教哪位大神有什么好的方法来实现下~
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    推荐
     楼主| 发表于 2015-8-7 16:57 | 只看该作者
    owencai 发表于 2014-9-19 10:08  b- @- I# b% c! C
    可能用别的语句实现吧!继续研究,共同研究

    ' j/ J: M$ L; u9 D& g+ h6 n最终搞定了,用了一个小skill搞定了
    % h4 [( M4 n2 [7 V2 y+ c, |axlCmdRegister("c_layer" 'c_layer ?cmdType "interactive")6 ?8 P5 P& D. t
    2 `' c0 {1 Q3 K5 G
    defun(c_layer (@optional (layer "")); }5 `$ U* f- R4 o/ {: n# t
    let((allLayer countLayer), x0 g2 _0 J# P
            allLayer = axlGetParam("paramLayerGroup:ETCH")->groupMembers5 L: n6 C5 c/ M4 @( }: ~
            countLayer = length(allLayer)
      M% A1 n& q# z' Z        if(layer != "" && atoi(layer)
    , }3 a, H. Q+ C0 E/ B; w2 C3 @                then  P& W/ j0 F0 A
                            layer = atoi(layer)
    . l- V* H9 T( M+ R4 z8 g                        if( layer <= countLayer && layer > 05 e/ R6 S: f% ^7 q# t8 O6 i2 w
                                    then) P" m/ @7 l! c/ a3 S
                                            axlVisibleDesign(nil)7 m$ h# @( `& y& p8 B3 H. W& O
                                            axlVisibleLayer(strcat("ETCH/" nthelem(layer allLayer)) t)3 j5 j$ ~. D) |& }/ J( ~( Q5 P
                                            axlVisibleLayer(strcat("PIN/" nthelem(layer allLayer)) t)/ g0 X* J( H; d+ b2 R2 l
                                            axlVisibleLayer(strcat("VIA CLASS/" nthelem(layer allLayer)) t)   
    2 T3 V. U+ d1 f/ p- F; j. S; t: s                                        axlVisibleLayer(strcat("DRC ERROR CLASS/" nthelem(layer allLayer)) t)
      B, H: F  ]5 X, Z                                        axlVisibleLayer(strcat("Board Geometry/Outline") t)
    ! V! W/ E: v2 J                                        axlVisibleUpdate(t)( y% O" R! C) n7 G! s3 Q& f
                                            axlUIWPrint(nil "Swtich layer complet...")
    6 d& ^, ]4 w' s' n- ?8 G                                else9 n7 z, r# ?3 @/ O
                                            axlUIWPrint(nil "Error,Wrong layer argument! 6 O3 D& g) N: E8 h* C" T4 A# b
                            );end if" B$ l3 S* i% C, }, w! u  V
                    else' y3 I. {, ~6 {6 w
                            axlUIWPrint(nil "Please Input argument...")! N/ t8 M3 e, x" e; U& ~. D
            );end if
    - R% P: k% ]1 ^' `/ t5 O);end let
    8 d* v% F0 o/ W5 \7 a" ]! a3 |);end defun) `6 C& T0 Z! Q5 S

    * y* K. @2 ~& C* R+ o, `' A: F
    ( k* w: [: v9 x# u' Y4 R4 G8 ?4 E0 @3 u$ @1 y! E/ [8 i
    把这个skill加载进allegro,然后输入命令就可以了1 O; k% `0 Y1 I" _, y' V+ f5 c' v9 T
    或者在env文件里面加快捷命令1 2 3 4 ...就可以实现用数字换层* I* Y+ r6 V) W6 s" E

    评分

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

    查看全部评分

  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    推荐
     楼主| 发表于 2014-9-19 08:15 | 只看该作者
    owencai 发表于 2014-9-18 16:54
    & v3 c9 B4 J: O7 r+ i2 mfunckey z8 'color -globvis off'
    . Y. ?2 T3 S) o8 Q  全部关掉命令,5 W( \9 D8 S. r6 k  _2 J: U
    还有你加的那条color -toggle "Via class/Top"我 ...

    8 ]3 \$ y! e1 y( h" M( V8 Y7 W哦,对了,我这边还有个问题……中间层每次的叠层都不一样,在env文件里面写:
    ! T& F4 O' U! L" D  G( p( z1 R4 ualias 2 'color -globvis off;color -toggle "Via Class/L02_*";color -toggle "Etch/L02_*";color -toggle "Board Geometry/Outline"'& {$ [" N6 }4 h! g' d
    我尝试用星号代替,可是无法识别3 W. K* U  k7 W$ H" v
    不知道这个要怎么描述……
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2014-9-11 21:20 | 只看该作者
    Skill论坛有个skill,输入命令L1,显示第一层,L2显示第二层,感觉用起来不错哦,7 _- b$ O% [( b/ j
    还有一种快捷键设置,但是只能显示器件和线,过孔无法显示,现在用手机上,明天早上再上传,你到时候再研究下能不能改成全部显示,/ |5 e  H! j! c1 X/ @6 Z, X
    另:录制的应该可以吧,不好用么?
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2014-9-12 08:20 | 只看该作者
    funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印( i. A/ p4 i1 D) q) R6 u/ ?2 d' t
    funckey zb1 'color -toggle "Package Geometry/Silkscreen_bottom"' #控制底层丝印
    5 B! _3 @* P& Z7 P" i你可以根据上面的语句编你想要的层,route keepout3 v8 h8 U! m/ Y% y$ A8 F
    下面是按1显示器件和线的快捷键,但是不显示过孔,你研究下,看能不能完善下,
    / {% `7 {- l" F' g* X' Jfunckey z1 'color -toggle "Pin/Top";color -toggle "Etch/Top"'
    ( c% n, i( U: Q: ffunckey z6 'color -toggle "Pin/BOTTOM";color -toggle "Etch/BOTTOM"'
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
     楼主| 发表于 2014-9-12 08:33 | 只看该作者
    owencai 发表于 2014-9-12 08:20
    + c5 H1 t8 A6 C( ^# J+ afunckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印
    , f  d5 S0 v  |funckey zb1 'color - ...
    8 a: d. W: {0 }1 j+ O
    好的,灰常感谢~我自己再研究一下。. z: c0 E- Q9 D/ S7 ]6 Z
    用script录制的显示的是一步一步的,然后以前用的是输了命令过后直接显示的,所以觉得方法可能不对……
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    5#
     楼主| 发表于 2014-9-12 10:14 | 只看该作者
    zuoyy 发表于 2014-9-12 08:33
    ( P, @5 Q3 ?0 |好的,灰常感谢~我自己再研究一下。
    # \7 o! S9 W2 r6 O用script录制的显示的是一步一步的,然后以前用的是输了命令过后直 ...
    3 P7 X! @% o* t  I9 {
    那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样好像就是通过命令行而不是快捷键5 P# [$ X4 m. j4 S) {- h
    我刚才尝试了下,这个是可以显示的,但是好像只能开,不能在开的同是关掉其他层……
    ' I" ^8 h3 ?; l/ d2 W8 s2 r那个在color里面有个Global Visibility可以全局的全开和全关,这个想要通过命令行怎么实现?
    . `! V: M, A+ Z# P如果实现了得话就可以在这些语句前面加一句all off,然后就能把其他的全部关掉,只开我们想要的那些层。
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    6#
    发表于 2014-9-18 16:54 | 只看该作者
    本帖最后由 owencai 于 2014-9-18 17:05 编辑
    * Z0 @6 q7 \% y6 R; T, B
    zuoyy 发表于 2014-9-12 10:14
    ) q! O0 ~8 l2 i7 b那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样 ...
    ; h7 l8 z+ z, {; W5 b2 J, [* b1 H

    ; p& S7 A+ p' U2 u, ?8 S$ n+ m! m+ `funckey z8 'color -globvis off'% P- }" y- G! Q2 |, C0 F
      全部关掉命令,3 X: i) A9 A$ n& A
    还有你加的那条color -toggle "Via class/Top"我这里是没有用的,显示E- Unmatched quote 我的是16.3 的,5 l$ h! h* U; o: \7 h

    - P/ H( Q4 s6 g+ o/ `9 Q搞不懂,正在测试中
    ) U: T; ^4 p1 W0 j" \; }7 Q
    2 u; v- h) N2 G% R3 @. D: c经过测试可以用,嘿嘿,不能把这个语句直接复制到命令行执行,否则会出错,直接放在ENV里就可以,
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    7#
     楼主| 发表于 2014-9-19 08:09 | 只看该作者
    owencai 发表于 2014-9-18 16:54  R. S, N% }9 i1 Z
    funckey z8 'color -globvis off'1 N8 a. S) S% S" `/ t$ r
      全部关掉命令,$ q5 a9 d# D* h. e9 R% b5 z
    还有你加的那条color -toggle "Via class/Top"我 ...

    9 d) m- ^1 E0 d$ a0 S哦,感谢~这个命令找不到……后来用录制的scr代替了这一步……, G! o/ J$ E9 D5 O) Y
    我的env里面这么写的:
    ! P$ }( e! c/ K; k& k! a0 Lalias 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 w6 H/ X% t+ R$ k0 H1 v4 ?; C我等下把第一步的改一下,用命令执行要快一点,scr文件执行有点慢
    ' c; Q. N- x7 {( z. }" V1 w" X那个Via Class/Top我这边是可以的,你看一下你的那个层名称是不是这样命名的,这个好像还是区分大小写的
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    9#
    发表于 2014-9-19 08:32 | 只看该作者
    不能用*号代替,系统识别不了这个subclass,只能在命名层的时候将名字与ENV里一样!
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    10#
     楼主| 发表于 2014-9-19 08:46 | 只看该作者
    owencai 发表于 2014-9-19 08:32
    4 ?8 L% Z5 k2 h! A3 b不能用*号代替,系统识别不了这个subclass,只能在命名层的时候将名字与ENV里一样!
      n8 X$ {) T- x$ k" V7 G
    呃……这样啊……但是我以前用过这个功能啊……叠层不可能每次都一样的……
    * m- c- F# n8 R: `6 }以前公司用的是按几就是第几层,然后每次的叠层都不一样的,层的名字也不一样,但是没有改过ENV里面的东西……
    1 v: w! X  u* e/ ^好后悔当时怎么没有研究下……以为是Cadence软件自带的功能……
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    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
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-5-23 10:29 , Processed in 0.093750 second(s), 25 queries , Gzip On.

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

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

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