找回密码
 注册
关于网站域名变更的通知
查看: 3817|回复: 11
打印 上一主题 下一主题

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    以前用过这个功能,就是在命令行输入1显示的是第一层的器件,孔,线,然后2就切换到第二层,以此类推;
    : l$ {. q' w9 x9 f% u内层的话只显示线和孔,当然,route keepout也是显示出来的,我用script录制功能试过,但是效果不太好……
    ( n* i' X# {5 i然后同理,输入ka可以显示所有的route keepout,输入pbt可以显示TOP层的placebound,等等~
    / D+ @) a$ {8 G请教哪位大神有什么好的方法来实现下~
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    推荐
     楼主| 发表于 2015-8-7 16:57 | 只看该作者
    owencai 发表于 2014-9-19 10:086 Y, a' q5 S7 C# U* ]9 w: }
    可能用别的语句实现吧!继续研究,共同研究

    8 o/ A% q  ?% K; A最终搞定了,用了一个小skill搞定了
    7 X7 v  z7 B( _' RaxlCmdRegister("c_layer" 'c_layer ?cmdType "interactive")" ^& _: I: _8 B, [! |$ z( r5 s+ {0 M

    ' Q0 S0 M8 |5 ydefun(c_layer (@optional (layer ""))
    3 z" I% x0 w" D( d* e5 alet((allLayer countLayer)  Q% ?- R0 g+ q9 }8 H
            allLayer = axlGetParam("paramLayerGroup:ETCH")->groupMembers
    / u8 G! Z6 n" }8 D+ Z        countLayer = length(allLayer)) `- G3 S+ A# u5 S- ?# j
            if(layer != "" && atoi(layer)
    9 e% F! h( _9 `/ s' i# m                then
    2 m0 \. B" v7 k9 ]! y                        layer = atoi(layer). x8 ~9 _, U% a+ d" I" j( d
                            if( layer <= countLayer && layer > 0
    3 A* z. q$ s# z$ q' \" X  x2 l* n                                then
    # ^( A9 a, a# @8 G: x# V4 u                                        axlVisibleDesign(nil)# V9 I/ r3 D9 J) f1 Q3 T/ E* |  X  s
                                            axlVisibleLayer(strcat("ETCH/" nthelem(layer allLayer)) t)
    - }3 _9 c7 g: T9 m                                        axlVisibleLayer(strcat("PIN/" nthelem(layer allLayer)) t)
    7 z' a* C! a/ `( }$ {                                        axlVisibleLayer(strcat("VIA CLASS/" nthelem(layer allLayer)) t)   
    ' q! ]/ p& _8 B6 |0 z9 n, m& ~                                        axlVisibleLayer(strcat("DRC ERROR CLASS/" nthelem(layer allLayer)) t)* F, t+ V1 Z  s3 r2 }: g$ g
                                            axlVisibleLayer(strcat("Board Geometry/Outline") t)
    0 W8 S5 e: U* ^, L$ j) ]7 Y9 b                                        axlVisibleUpdate(t)
    ; |: M6 C  |) ^  S3 \                                        axlUIWPrint(nil "Swtich layer complet...")
      l2 G* i: D! f: I! Z- @( m                                else
    . f% @- Q' V' n8 b3 \" D/ ]                                        axlUIWPrint(nil "Error,Wrong layer argument!
    " [9 m3 J4 w, U; W8 p                        );end if- S9 b5 n. T1 d* ]
                    else
    7 j3 w% R1 l- n                        axlUIWPrint(nil "Please Input argument...")9 h; t( |/ e5 M0 r1 I
            );end if 0 a& `. [$ n# X0 p/ |
    );end let9 U# [3 h+ i, @2 ?6 t
    );end defun) U" E1 g( u7 x% C2 D5 r3 J

    ( P( [7 }0 E, Y/ y4 Q
    6 l7 p7 V. P1 o( e  o8 \3 ]2 n
    % o  N) P# ?3 R  A把这个skill加载进allegro,然后输入命令就可以了
    4 w* {$ ?  l6 z& N或者在env文件里面加快捷命令1 2 3 4 ...就可以实现用数字换层
    5 A- B1 n9 C0 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
    * G% M4 l" U( t+ Nfunckey z8 'color -globvis off'
    7 P. _4 w" b4 k  全部关掉命令,* q0 W: w9 }4 M# B4 a0 t6 o
    还有你加的那条color -toggle "Via class/Top"我 ...
    - g' o0 s$ p$ P( e! F+ @
    哦,对了,我这边还有个问题……中间层每次的叠层都不一样,在env文件里面写:2 _6 B& \$ z. ?
    alias 2 'color -globvis off;color -toggle "Via Class/L02_*";color -toggle "Etch/L02_*";color -toggle "Board Geometry/Outline"'1 e$ i: E& l* u/ F: M" ~
    我尝试用星号代替,可是无法识别$ V0 `7 ?; K3 r
    不知道这个要怎么描述……
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2014-9-11 21:20 | 只看该作者
    Skill论坛有个skill,输入命令L1,显示第一层,L2显示第二层,感觉用起来不错哦,
    % p  E+ t6 m1 E9 ]还有一种快捷键设置,但是只能显示器件和线,过孔无法显示,现在用手机上,明天早上再上传,你到时候再研究下能不能改成全部显示,5 U. Y1 @3 H0 C9 P' G
    另:录制的应该可以吧,不好用么?
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2014-9-12 08:20 | 只看该作者
    funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印
    ( J9 N% x$ B, Y+ h6 c; Gfunckey zb1 'color -toggle "Package Geometry/Silkscreen_bottom"' #控制底层丝印9 Q* v1 I- c4 ]0 S! F
    你可以根据上面的语句编你想要的层,route keepout
    8 M4 h# Y; K4 f/ h6 q6 Y% n下面是按1显示器件和线的快捷键,但是不显示过孔,你研究下,看能不能完善下,
    : H; F+ ~5 o' K1 s+ C) mfunckey z1 'color -toggle "Pin/Top";color -toggle "Etch/Top"'
    1 M2 E& J1 |9 E" Yfunckey 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' a6 v1 Y+ S6 u' O3 j/ a
    funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印, u5 u! f" W* N* n1 c
    funckey zb1 'color - ...

    0 a7 R% x1 G0 Y3 G1 w6 J好的,灰常感谢~我自己再研究一下。
    ' h, c8 l5 d1 C' @! p6 U4 P+ R9 \( D用script录制的显示的是一步一步的,然后以前用的是输了命令过后直接显示的,所以觉得方法可能不对……
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    5#
     楼主| 发表于 2014-9-12 10:14 | 只看该作者
    zuoyy 发表于 2014-9-12 08:33  g: b+ ?7 P' v# f' Z/ y0 Q4 {
    好的,灰常感谢~我自己再研究一下。9 I5 z- t: e) R( c0 Z4 ?* H) G
    用script录制的显示的是一步一步的,然后以前用的是输了命令过后直 ...
    : D2 }' Y4 O2 R" L4 W+ Q
    那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样好像就是通过命令行而不是快捷键; \# `, R4 y8 K) N+ N) }
    我刚才尝试了下,这个是可以显示的,但是好像只能开,不能在开的同是关掉其他层……( Q0 u; R: |( V2 ?$ m: U8 R
    那个在color里面有个Global Visibility可以全局的全开和全关,这个想要通过命令行怎么实现?
    6 ]0 J1 G) p( L, X. [& H- x如果实现了得话就可以在这些语句前面加一句all off,然后就能把其他的全部关掉,只开我们想要的那些层。
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    6#
    发表于 2014-9-18 16:54 | 只看该作者
    本帖最后由 owencai 于 2014-9-18 17:05 编辑
    ) \* V; p1 K& b3 n
    zuoyy 发表于 2014-9-12 10:14
    5 Q/ x, |6 }8 G. M) b4 M! D3 |那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样 ...
    - W9 [* e+ J+ e" s0 `4 A0 @! m

    # w6 @6 N! T5 E4 r$ _$ @funckey z8 'color -globvis off'0 W% Y! c0 n1 j9 y7 |3 f; u( b* e3 N
      全部关掉命令,
    / d6 m/ J; c" B. Z& B/ a还有你加的那条color -toggle "Via class/Top"我这里是没有用的,显示E- Unmatched quote 我的是16.3 的,
    4 M& \# v# m3 z0 h8 w0 f; ?! n6 i9 @  h* H5 B! v
    搞不懂,正在测试中
    2 Q+ ^0 R1 x" o- ]; |# W" l& G
    & W) o  Y2 m: M; B7 ?5 k经过测试可以用,嘿嘿,不能把这个语句直接复制到命令行执行,否则会出错,直接放在ENV里就可以,
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    7#
     楼主| 发表于 2014-9-19 08:09 | 只看该作者
    owencai 发表于 2014-9-18 16:54
    9 i; [$ Z, \" l4 _funckey z8 'color -globvis off': G" F  _% s# X! g( F
      全部关掉命令,
    ' {7 `' u) r  q$ c/ ]8 i还有你加的那条color -toggle "Via class/Top"我 ...
    0 F3 F5 [. B9 }
    哦,感谢~这个命令找不到……后来用录制的scr代替了这一步……! z* A' y! L" M' g
    我的env里面这么写的:
    * T* y7 b: J2 y! i' C" calias 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"'
    0 s, u# q# O- r: t2 z# h3 v+ w我等下把第一步的改一下,用命令执行要快一点,scr文件执行有点慢
    : F! H7 G% e1 {4 `% M* Y7 z7 ^% D3 i8 Y那个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
    - l" |$ @: d; |/ b9 g5 ^不能用*号代替,系统识别不了这个subclass,只能在命名层的时候将名字与ENV里一样!

    * h  s) W4 o% i' z2 e3 ]& D呃……这样啊……但是我以前用过这个功能啊……叠层不可能每次都一样的……
    ; l3 a3 [# b  k以前公司用的是按几就是第几层,然后每次的叠层都不一样的,层的名字也不一样,但是没有改过ENV里面的东西……
    6 }, ]3 j: p" c) e/ S1 A3 _$ {; I好后悔当时怎么没有研究下……以为是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-11-24 20:02 , Processed in 0.203125 second(s), 25 queries , Gzip On.

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

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

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