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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    以前用过这个功能,就是在命令行输入1显示的是第一层的器件,孔,线,然后2就切换到第二层,以此类推;
    / t% v! t/ c; F6 g( a  f9 z( a内层的话只显示线和孔,当然,route keepout也是显示出来的,我用script录制功能试过,但是效果不太好……
    0 U% `4 K3 v2 @- j1 H1 V然后同理,输入ka可以显示所有的route keepout,输入pbt可以显示TOP层的placebound,等等~% L: {3 N* S5 `" c8 h5 _
    请教哪位大神有什么好的方法来实现下~
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    推荐
     楼主| 发表于 2015-8-7 16:57 | 只看该作者
    owencai 发表于 2014-9-19 10:08
    % ^8 d9 K+ ~) a+ t1 T: c6 _可能用别的语句实现吧!继续研究,共同研究
    & X' b$ K# \! P
    最终搞定了,用了一个小skill搞定了
    " Y$ w0 w" {0 ?& MaxlCmdRegister("c_layer" 'c_layer ?cmdType "interactive")
    3 a1 O  x$ @; P! g* b* O5 S/ `. W
    ' i" ^+ r+ n' L; ~- C4 {defun(c_layer (@optional (layer ""))! _" l. Z! X# m+ d3 M
    let((allLayer countLayer)( [: u) T$ x2 G0 k# ]/ v) g
            allLayer = axlGetParam("paramLayerGroup:ETCH")->groupMembers: L; h. X9 _7 b7 x8 P
            countLayer = length(allLayer)
    # M( F  s0 E2 S        if(layer != "" && atoi(layer)7 p4 G: S; R( |* r( U# \$ h8 Z
                    then
    2 @/ t& @3 J1 Q                        layer = atoi(layer)
    * P! Z( v4 U0 z, b                        if( layer <= countLayer && layer > 04 V0 A$ X- j; G- }7 A  a6 U
                                    then
    & Q1 M7 B( E/ H& j# U- F2 @( n                                        axlVisibleDesign(nil)! e3 \/ `7 @$ M$ t5 N: s" T
                                            axlVisibleLayer(strcat("ETCH/" nthelem(layer allLayer)) t)
    2 a% C1 K! `% J/ e8 b- ?  S                                        axlVisibleLayer(strcat("PIN/" nthelem(layer allLayer)) t)
    3 W1 {! T) U* I) ?                                        axlVisibleLayer(strcat("VIA CLASS/" nthelem(layer allLayer)) t)   
    " p+ [/ O# P0 x# d9 a                                        axlVisibleLayer(strcat("DRC ERROR CLASS/" nthelem(layer allLayer)) t)
    6 `7 R2 q1 s. X1 y5 j! J                                        axlVisibleLayer(strcat("Board Geometry/Outline") t): Y/ B& w: J# x6 G* l
                                            axlVisibleUpdate(t)
    3 r: C" M2 g5 t" n# N1 v( i- O7 ?                                        axlUIWPrint(nil "Swtich layer complet...")
    4 T; |$ q/ y; R" U8 C' H                                else
    : Z# G  G6 E; D# j                                        axlUIWPrint(nil "Error,Wrong layer argument! 2 X) b, i4 z- B7 q) k& M% r+ ^; z
                            );end if
    4 O5 o0 [" F/ F8 |4 s( e! y                else
    - h; ]1 n# g$ z. w. |                        axlUIWPrint(nil "Please Input argument...")$ w7 \0 g- Y6 o! t; ~7 V- c
            );end if - [* }- b. U. z5 k
    );end let, p2 M2 j" h  u& j! P3 B! {
    );end defun
    " |% s% u* p' |3 z- R+ M
    % P' ]+ f. ^' R& O+ ]) X& j; B( w
    , o/ q# N8 {1 F0 L6 z4 d3 k
    把这个skill加载进allegro,然后输入命令就可以了
    & A! k( Z# X( h2 J# {+ P或者在env文件里面加快捷命令1 2 3 4 ...就可以实现用数字换层' Q$ t' F/ W6 X$ |7 W) F& ?

    评分

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

    查看全部评分

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

    [LV.1]初来乍到

    推荐
     楼主| 发表于 2014-9-19 08:15 | 只看该作者
    owencai 发表于 2014-9-18 16:54
    ) {* A8 A) e( r. G  r. F! Dfunckey z8 'color -globvis off'( B: J( `& o) A$ f+ M9 {
      全部关掉命令,& r; k) N3 L: k
    还有你加的那条color -toggle "Via class/Top"我 ...

    : A+ a+ R; \- u- b% G哦,对了,我这边还有个问题……中间层每次的叠层都不一样,在env文件里面写:
    / v5 w# {0 B+ n+ R! f0 k! Z1 malias 2 'color -globvis off;color -toggle "Via Class/L02_*";color -toggle "Etch/L02_*";color -toggle "Board Geometry/Outline"'. E& S  t0 }: E3 X( g6 B* k
    我尝试用星号代替,可是无法识别
    8 b) X3 r2 @. S  _不知道这个要怎么描述……
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2014-9-11 21:20 | 只看该作者
    Skill论坛有个skill,输入命令L1,显示第一层,L2显示第二层,感觉用起来不错哦,
    4 J  c9 n7 y6 c0 E2 p还有一种快捷键设置,但是只能显示器件和线,过孔无法显示,现在用手机上,明天早上再上传,你到时候再研究下能不能改成全部显示,
    % Q8 ~0 ~8 }  L) V* c$ }3 u另:录制的应该可以吧,不好用么?
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2014-9-12 08:20 | 只看该作者
    funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印7 _" ?& Q6 y+ t
    funckey zb1 'color -toggle "Package Geometry/Silkscreen_bottom"' #控制底层丝印" I2 b+ C+ E) d8 R
    你可以根据上面的语句编你想要的层,route keepout: c" V& h. l% p$ Z! h- N
    下面是按1显示器件和线的快捷键,但是不显示过孔,你研究下,看能不能完善下,* W- \. W+ m  O. h( s
    funckey z1 'color -toggle "Pin/Top";color -toggle "Etch/Top"'
    . |- M. ]8 ?* kfunckey 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& K& ~" a) y* [& `, w
    funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印, o& G; }  b; S
    funckey zb1 'color - ...

    ' S- T$ Y. P5 ~! g9 t; }( @5 N& D好的,灰常感谢~我自己再研究一下。+ ~3 |8 n& ~3 \( @! c+ g2 Y
    用script录制的显示的是一步一步的,然后以前用的是输了命令过后直接显示的,所以觉得方法可能不对……
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    5#
     楼主| 发表于 2014-9-12 10:14 | 只看该作者
    zuoyy 发表于 2014-9-12 08:33
    ; ?2 M) }1 f8 J2 M, C0 K7 ~, w) H  A0 \好的,灰常感谢~我自己再研究一下。' B8 D! S5 _; y0 x
    用script录制的显示的是一步一步的,然后以前用的是输了命令过后直 ...

    " w6 D8 K& ?0 L0 s$ B" d5 e2 X那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样好像就是通过命令行而不是快捷键
    ) h& v( I' T  @  B) J0 N我刚才尝试了下,这个是可以显示的,但是好像只能开,不能在开的同是关掉其他层……
    + Q/ n3 V; w" b) s那个在color里面有个Global Visibility可以全局的全开和全关,这个想要通过命令行怎么实现?
    ! `3 Z/ s  R; y8 c1 N如果实现了得话就可以在这些语句前面加一句all off,然后就能把其他的全部关掉,只开我们想要的那些层。
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    6#
    发表于 2014-9-18 16:54 | 只看该作者
    本帖最后由 owencai 于 2014-9-18 17:05 编辑
    ) r0 z% a8 k, q5 ~9 j; _
    zuoyy 发表于 2014-9-12 10:14
    $ T0 P, W/ x0 j% y, K那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样 ...
    5 I* l, [0 h$ C) h% d) z/ c" o

    4 x' e9 s9 y; U9 H' x: _funckey z8 'color -globvis off'% M1 Z% s  K) d* Q8 a
      全部关掉命令,
    1 n/ y5 N7 l$ N' g1 b还有你加的那条color -toggle "Via class/Top"我这里是没有用的,显示E- Unmatched quote 我的是16.3 的,
    : i2 e& x, i2 p. j$ v9 M
    + j% v9 B7 E/ h搞不懂,正在测试中
    ; r' z% Q. U/ U9 D% Z, \
    ! \9 |- O' c- \& O8 J6 o8 n经过测试可以用,嘿嘿,不能把这个语句直接复制到命令行执行,否则会出错,直接放在ENV里就可以,
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    7#
     楼主| 发表于 2014-9-19 08:09 | 只看该作者
    owencai 发表于 2014-9-18 16:54
    " [; x+ x$ Q: @, e9 A5 |3 Nfunckey z8 'color -globvis off'6 ^- A: D* k! b4 [
      全部关掉命令,. I) n- d7 l: k
    还有你加的那条color -toggle "Via class/Top"我 ...

    # B1 q) K3 q5 @& h, v8 z哦,感谢~这个命令找不到……后来用录制的scr代替了这一步……
    # `; c! M; \- U& B/ [1 s4 r6 M6 l我的env里面这么写的:2 F5 ~. K/ {6 @* v  k- g6 y+ {6 M/ Y
    alias 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"'
    ; E) M9 d. h1 b# p. Y- D. \% C我等下把第一步的改一下,用命令执行要快一点,scr文件执行有点慢
    ! R1 \7 V! K0 P; {* x0 F) k那个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* o2 P; c. Z* j9 n. z4 ^0 b0 n
    不能用*号代替,系统识别不了这个subclass,只能在命名层的时候将名字与ENV里一样!

    ; i/ \  `. F5 F% e: I呃……这样啊……但是我以前用过这个功能啊……叠层不可能每次都一样的……
    8 c8 K8 n0 w  t& m4 L' |9 D0 t$ [以前公司用的是按几就是第几层,然后每次的叠层都不一样的,层的名字也不一样,但是没有改过ENV里面的东西……
    ' i5 [) d, |  [9 P9 Q好后悔当时怎么没有研究下……以为是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
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    EDA365公众号

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

    GMT+8, 2025-2-5 19:50 , Processed in 0.078125 second(s), 28 queries , Gzip On.

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

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

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