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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    以前用过这个功能,就是在命令行输入1显示的是第一层的器件,孔,线,然后2就切换到第二层,以此类推;
    / ]& g/ m1 d/ ^7 e内层的话只显示线和孔,当然,route keepout也是显示出来的,我用script录制功能试过,但是效果不太好……
    # O( ]0 E" M+ ~2 s然后同理,输入ka可以显示所有的route keepout,输入pbt可以显示TOP层的placebound,等等~
    7 Y5 F, U$ b, i6 D& Y3 j. ~/ [4 _3 X请教哪位大神有什么好的方法来实现下~
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    推荐
     楼主| 发表于 2015-8-7 16:57 | 只看该作者
    owencai 发表于 2014-9-19 10:08
    ! |- x5 n2 M+ u; o4 {可能用别的语句实现吧!继续研究,共同研究

    & u9 s6 b0 d3 N+ G+ h# A最终搞定了,用了一个小skill搞定了
    5 a, I6 S! s# {- raxlCmdRegister("c_layer" 'c_layer ?cmdType "interactive")" R: ^/ X6 F6 `

    , q$ W( |4 g7 w' I$ m5 A9 Qdefun(c_layer (@optional (layer ""))1 A0 V; Y* \2 C) e% W
    let((allLayer countLayer): B" E$ _' B2 W1 c" m, u( Y6 _2 ]
            allLayer = axlGetParam("paramLayerGroup:ETCH")->groupMembers
    1 T! E6 K2 m$ K' N+ @* q5 {        countLayer = length(allLayer), ?8 S3 q& A% f! e5 X
            if(layer != "" && atoi(layer)
    # r1 f) o  L/ t+ a1 o0 A) u                then& H- E! o2 M6 n* Q
                            layer = atoi(layer)% _( O6 z9 D  h# U
                            if( layer <= countLayer && layer > 09 Y0 X8 d  O) j, Q4 ]
                                    then* t0 G. K% v7 s' E; x& |+ Q5 K5 B6 x) y
                                            axlVisibleDesign(nil)1 k$ N  D) x0 N2 j' L! a0 ]3 i
                                            axlVisibleLayer(strcat("ETCH/" nthelem(layer allLayer)) t)" O4 M2 `2 z% I) D8 @- L+ l* f
                                            axlVisibleLayer(strcat("PIN/" nthelem(layer allLayer)) t)
    4 n9 M0 F& J1 Z                                        axlVisibleLayer(strcat("VIA CLASS/" nthelem(layer allLayer)) t)   
    ) A% D+ {) X' o' b                                        axlVisibleLayer(strcat("DRC ERROR CLASS/" nthelem(layer allLayer)) t)# i' U7 M+ i; _
                                            axlVisibleLayer(strcat("Board Geometry/Outline") t)
    / N, I  B, W/ G+ D1 w1 ?& h' \                                        axlVisibleUpdate(t)
    8 P& O2 u6 f: X3 d$ S6 [* }                                        axlUIWPrint(nil "Swtich layer complet...")
    2 C3 `* e0 f" \( P; m                                else4 S7 M& }; j2 E( t
                                            axlUIWPrint(nil "Error,Wrong layer argument! 2 p' S+ ~  K1 V9 V
                            );end if
    % L" b4 X. \2 ?# x4 [1 t                else# {9 t9 r+ ?/ e# }* A3 ~
                            axlUIWPrint(nil "Please Input argument...")( K/ ^8 b8 o4 L+ f! u
            );end if
    ( d- Q3 T% T+ V# h$ _5 y);end let# l% |2 i0 A! W8 X4 c& I! m8 V
    );end defun
    , W# c/ s: J' t% ^
      |3 ~+ B8 u" g! ?, V& i
    3 \" D2 _3 p; Y9 v; f- _8 t* j, T- E0 _( g1 M
    把这个skill加载进allegro,然后输入命令就可以了
    2 g1 \, Z' {7 J或者在env文件里面加快捷命令1 2 3 4 ...就可以实现用数字换层+ z9 K. p. w. J2 U7 }) }$ p

    评分

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

    查看全部评分

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

    [LV.1]初来乍到

    推荐
     楼主| 发表于 2014-9-19 08:15 | 只看该作者
    owencai 发表于 2014-9-18 16:54
    , d* x+ p6 o+ Ffunckey z8 'color -globvis off'7 ~- [: L8 U0 A+ `. S9 |' X
      全部关掉命令,: s9 x( j1 m% C7 {
    还有你加的那条color -toggle "Via class/Top"我 ...

    % }( `. Y5 V: o. F( }哦,对了,我这边还有个问题……中间层每次的叠层都不一样,在env文件里面写:
    : ?8 j$ @7 i; G- Ualias 2 'color -globvis off;color -toggle "Via Class/L02_*";color -toggle "Etch/L02_*";color -toggle "Board Geometry/Outline"'# g5 G& W4 `% H. ?9 q/ G
    我尝试用星号代替,可是无法识别' A0 j1 e6 N+ L" I0 ?7 ?, z3 i0 y
    不知道这个要怎么描述……
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2014-9-11 21:20 | 只看该作者
    Skill论坛有个skill,输入命令L1,显示第一层,L2显示第二层,感觉用起来不错哦,
    ' G& U; W" J6 x* L. V/ E0 ^$ J还有一种快捷键设置,但是只能显示器件和线,过孔无法显示,现在用手机上,明天早上再上传,你到时候再研究下能不能改成全部显示,& ~4 g5 d" ]! F* i9 i& C
    另:录制的应该可以吧,不好用么?
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2014-9-12 08:20 | 只看该作者
    funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印
    # e! N- ^& Z" E* vfunckey zb1 'color -toggle "Package Geometry/Silkscreen_bottom"' #控制底层丝印* [# p% {! s; c0 f
    你可以根据上面的语句编你想要的层,route keepout
    , k- ]/ y+ d5 h% Q: j: l下面是按1显示器件和线的快捷键,但是不显示过孔,你研究下,看能不能完善下,3 Q8 N! X4 J3 B$ ^
    funckey z1 'color -toggle "Pin/Top";color -toggle "Etch/Top"'
    5 [, t- I. G$ n0 w2 }5 q% ofunckey 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, z& n. \- x. p; T/ m* u4 p
    funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印/ x4 N" I/ q% l) `% C4 r+ N
    funckey zb1 'color - ...

    $ E' i0 @6 ]+ S: h好的,灰常感谢~我自己再研究一下。7 l! U7 i( z$ {2 ^
    用script录制的显示的是一步一步的,然后以前用的是输了命令过后直接显示的,所以觉得方法可能不对……
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    5#
     楼主| 发表于 2014-9-12 10:14 | 只看该作者
    zuoyy 发表于 2014-9-12 08:33, t0 q6 k# `: p% @) J5 X6 N& v
    好的,灰常感谢~我自己再研究一下。! [8 P& W" N2 X/ I: q2 b$ Z
    用script录制的显示的是一步一步的,然后以前用的是输了命令过后直 ...

    3 s3 C+ |5 [' t那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样好像就是通过命令行而不是快捷键
    $ ?6 |3 D( D. \+ ^, Y我刚才尝试了下,这个是可以显示的,但是好像只能开,不能在开的同是关掉其他层……8 x$ K9 D3 h7 b- \/ q
    那个在color里面有个Global Visibility可以全局的全开和全关,这个想要通过命令行怎么实现?+ W3 C0 u" t4 z1 w' n
    如果实现了得话就可以在这些语句前面加一句all off,然后就能把其他的全部关掉,只开我们想要的那些层。
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    6#
    发表于 2014-9-18 16:54 | 只看该作者
    本帖最后由 owencai 于 2014-9-18 17:05 编辑 & }$ w/ i5 {" r+ g  A9 |
    zuoyy 发表于 2014-9-12 10:145 T4 ^/ p+ u( ]( q
    那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样 ...

    2 W3 d# b& \4 }* y
    + m5 u% R3 P, Y" ^% D! jfunckey z8 'color -globvis off'; ]4 n+ o" x6 V( ?) x3 M6 j2 x
      全部关掉命令,7 p+ e" g. X" I
    还有你加的那条color -toggle "Via class/Top"我这里是没有用的,显示E- Unmatched quote 我的是16.3 的,9 K% {) x! y2 W7 j" E, m
    $ b% W7 X: {! g* S% |- c' d% E2 ~
    搞不懂,正在测试中 ; q) R  A- @3 C2 n

    ( ^* W# p+ |% K& f) O- z  Y; {经过测试可以用,嘿嘿,不能把这个语句直接复制到命令行执行,否则会出错,直接放在ENV里就可以,
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    7#
     楼主| 发表于 2014-9-19 08:09 | 只看该作者
    owencai 发表于 2014-9-18 16:54
    , a# s, d( B5 j3 f# afunckey z8 'color -globvis off'
    # X5 i( O% C7 |2 G, _! G  全部关掉命令,  R% P  R- x% X8 V, ~4 s: T/ ~
    还有你加的那条color -toggle "Via class/Top"我 ...
      X. W; N" C1 x* @9 p& Q
    哦,感谢~这个命令找不到……后来用录制的scr代替了这一步……
    3 `- ~# U4 G8 }2 x" J7 e我的env里面这么写的:
    # F  L4 R* _; k7 K0 m9 Aalias 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"'
    - K% ?+ v  X' A: h. q+ K我等下把第一步的改一下,用命令执行要快一点,scr文件执行有点慢8 r# o" j7 |/ f4 O6 |; e
    那个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:320 B5 o5 a0 @  U  `4 @
    不能用*号代替,系统识别不了这个subclass,只能在命名层的时候将名字与ENV里一样!

    ; T% ?5 d3 z+ P* y5 k7 a呃……这样啊……但是我以前用过这个功能啊……叠层不可能每次都一样的……
    / C, @( D0 u; C* S! I1 Z% u" Y) M以前公司用的是按几就是第几层,然后每次的叠层都不一样的,层的名字也不一样,但是没有改过ENV里面的东西……) ^; a6 j% K# L* n' }
    好后悔当时怎么没有研究下……以为是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-7-20 01:17 , Processed in 0.125000 second(s), 25 queries , Gzip On.

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

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

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