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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    以前用过这个功能,就是在命令行输入1显示的是第一层的器件,孔,线,然后2就切换到第二层,以此类推;
    0 X3 R/ Z$ a& M内层的话只显示线和孔,当然,route keepout也是显示出来的,我用script录制功能试过,但是效果不太好……7 |% E: A! x! j
    然后同理,输入ka可以显示所有的route keepout,输入pbt可以显示TOP层的placebound,等等~
    ( o) e1 C& p3 A2 O/ R( c请教哪位大神有什么好的方法来实现下~
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    推荐
     楼主| 发表于 2015-8-7 16:57 | 只看该作者
    owencai 发表于 2014-9-19 10:08
    # `3 X: `( V: `可能用别的语句实现吧!继续研究,共同研究
    ; y7 Z$ |) @& Z# }8 ]
    最终搞定了,用了一个小skill搞定了
    0 R4 ^2 x  i# x2 @3 \) baxlCmdRegister("c_layer" 'c_layer ?cmdType "interactive")
    ; Z4 t" q* U9 F$ W: i
    ( _+ A- d, A: W1 S% L% b5 Sdefun(c_layer (@optional (layer ""))
    2 h' r& B; M% t' N- Llet((allLayer countLayer)4 y/ {1 M4 Q- D( {! A1 A. G
            allLayer = axlGetParam("paramLayerGroup:ETCH")->groupMembers5 `3 h2 s7 W0 ]2 D5 r( P: d: ~
            countLayer = length(allLayer)6 E6 L: m! C) T% s8 t# G
            if(layer != "" && atoi(layer)( b7 J/ u& O2 I  Y4 d( V! b4 ~9 B
                    then
    2 y( I; e! [) a, X6 @                        layer = atoi(layer)
    ( q. Y1 y1 ]$ J$ J$ h                        if( layer <= countLayer && layer > 0
    ) a  |. z2 V, j% U                                then& K; \' p3 v0 O0 {' H; Q, r
                                            axlVisibleDesign(nil)' l& \/ X* Q, O" L" Z
                                            axlVisibleLayer(strcat("ETCH/" nthelem(layer allLayer)) t)9 ]* |+ t+ P4 G9 _4 P* }- F3 [
                                            axlVisibleLayer(strcat("PIN/" nthelem(layer allLayer)) t)+ N8 L& y  k3 |1 @
                                            axlVisibleLayer(strcat("VIA CLASS/" nthelem(layer allLayer)) t)   
    - I  p0 w& y' O2 C                                        axlVisibleLayer(strcat("DRC ERROR CLASS/" nthelem(layer allLayer)) t)& m' B; p  k7 N/ Q) [
                                            axlVisibleLayer(strcat("Board Geometry/Outline") t)' j- z4 K& z- I
                                            axlVisibleUpdate(t)
    ( M# ~2 z* P% s                                        axlUIWPrint(nil "Swtich layer complet...")
    + K0 ]3 W/ C5 d1 t5 r                                else
    ) _# D, z" x/ M                                        axlUIWPrint(nil "Error,Wrong layer argument!
    - E% O9 p- X8 `! M' w+ q                        );end if( ]9 a! h0 l6 w6 n
                    else
    + F1 i' N: s/ `5 N# v& F0 A( |                        axlUIWPrint(nil "Please Input argument...")
    # z* G, n2 z7 H        );end if
    0 N. l2 |3 t6 Z' J) {);end let# t. h* B' v% T7 W4 R
    );end defun. A. ]$ W' g& z

    3 ^# \3 _4 }# \' |* B
    % g% V- l; f0 v9 W; S/ d
    & E$ g  R- n' B' J把这个skill加载进allegro,然后输入命令就可以了, O, z0 `/ D! s; u# K
    或者在env文件里面加快捷命令1 2 3 4 ...就可以实现用数字换层
    + w- f: g* O, K" W

    评分

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

    查看全部评分

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

    [LV.1]初来乍到

    推荐
     楼主| 发表于 2014-9-19 08:15 | 只看该作者
    owencai 发表于 2014-9-18 16:54
    9 _$ _) J2 \$ f9 F6 f/ m0 Jfunckey z8 'color -globvis off'
    : Y- M1 ]# P* M" ?2 K: B1 q" P  全部关掉命令,- W- \+ H  T" ^" F7 u2 o
    还有你加的那条color -toggle "Via class/Top"我 ...
    & w6 U1 P7 q! u* ^
    哦,对了,我这边还有个问题……中间层每次的叠层都不一样,在env文件里面写:( ^6 m( T) s4 s! s) ~0 t
    alias 2 'color -globvis off;color -toggle "Via Class/L02_*";color -toggle "Etch/L02_*";color -toggle "Board Geometry/Outline"'  @" c6 t  w  E* m( l
    我尝试用星号代替,可是无法识别, |2 r7 @' a8 b- w: M' d: @6 B
    不知道这个要怎么描述……
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    [LV.1]初来乍到

    3#
    发表于 2014-9-12 08:20 | 只看该作者
    funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印* Y, s' p( n# [- x7 P
    funckey zb1 'color -toggle "Package Geometry/Silkscreen_bottom"' #控制底层丝印
    1 c! x6 i! n% p' d5 B你可以根据上面的语句编你想要的层,route keepout+ ^2 y/ n% H- E" M4 e
    下面是按1显示器件和线的快捷键,但是不显示过孔,你研究下,看能不能完善下,
    , d, t+ D* l3 h0 R  M' |$ c/ bfunckey z1 'color -toggle "Pin/Top";color -toggle "Etch/Top"'
    5 B0 l, d! U# G, T2 N+ F- |funckey 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:205 w5 \/ n0 `0 n; T; d
    funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印
    , `2 G0 U7 V5 Q( lfunckey zb1 'color - ...

    $ s. ?' v; \3 e6 ]' X% y4 j/ f好的,灰常感谢~我自己再研究一下。
    % X5 S9 q, U+ I# ]用script录制的显示的是一步一步的,然后以前用的是输了命令过后直接显示的,所以觉得方法可能不对……
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    5#
     楼主| 发表于 2014-9-12 10:14 | 只看该作者
    zuoyy 发表于 2014-9-12 08:333 Y# f" H8 K. Z/ g! X
    好的,灰常感谢~我自己再研究一下。
    % d! T4 y& @4 x" n2 M! ]用script录制的显示的是一步一步的,然后以前用的是输了命令过后直 ...
    9 L6 b9 d! W; f8 N
    那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样好像就是通过命令行而不是快捷键
    * g% K& j3 ^& }0 R* C0 a  r我刚才尝试了下,这个是可以显示的,但是好像只能开,不能在开的同是关掉其他层……; u! r: Z/ F( `$ o* H. b
    那个在color里面有个Global Visibility可以全局的全开和全关,这个想要通过命令行怎么实现?2 [1 }# V9 R7 A' f4 }. G- r/ ]" g5 P
    如果实现了得话就可以在这些语句前面加一句all off,然后就能把其他的全部关掉,只开我们想要的那些层。
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    6#
    发表于 2014-9-18 16:54 | 只看该作者
    本帖最后由 owencai 于 2014-9-18 17:05 编辑 9 x: A6 u- f( a2 B! i) u
    zuoyy 发表于 2014-9-12 10:14) |0 f' q* N0 P& D) h8 g
    那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样 ...

    " M. B  @% k6 \1 W
    $ D: i7 w" l8 K  f$ f$ s: D, m9 ffunckey z8 'color -globvis off'
    9 I6 c7 {( w  b8 v4 Y" p  全部关掉命令,& [* O! M# r! b- ^: @  G- a
    还有你加的那条color -toggle "Via class/Top"我这里是没有用的,显示E- Unmatched quote 我的是16.3 的,
    ' ~% C2 X# a# \* U5 o9 _8 Z6 P7 `; `8 r1 L3 Q
    搞不懂,正在测试中 6 w/ ]# V* ]. T# i9 i" c4 \) W
    " P, a$ a( k. s% v! V  g
    经过测试可以用,嘿嘿,不能把这个语句直接复制到命令行执行,否则会出错,直接放在ENV里就可以,
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    7#
     楼主| 发表于 2014-9-19 08:09 | 只看该作者
    owencai 发表于 2014-9-18 16:542 G% m* a4 ^! u, t
    funckey z8 'color -globvis off'
    3 K& w5 P. T* x4 Q  全部关掉命令,
    " [% d% A5 u, S% n6 ]7 P6 f0 d还有你加的那条color -toggle "Via class/Top"我 ...
    + l# ^: q! k* y/ p9 w/ Z' L
    哦,感谢~这个命令找不到……后来用录制的scr代替了这一步……
    " `9 K8 C! r3 O我的env里面这么写的:
    5 Y! ~' u9 A( F; valias 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"'
    ) {( |( Z, w; f1 z, j1 m我等下把第一步的改一下,用命令执行要快一点,scr文件执行有点慢
    , |- H" {* {- x4 x5 A& s7 i$ B那个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
    & E9 F" ^3 t0 _) i3 e! l5 G8 `& w( A不能用*号代替,系统识别不了这个subclass,只能在命名层的时候将名字与ENV里一样!

    - S+ H0 w. O7 h  p( ]; S呃……这样啊……但是我以前用过这个功能啊……叠层不可能每次都一样的……8 \: ]- P2 Z  s1 [- o
    以前公司用的是按几就是第几层,然后每次的叠层都不一样的,层的名字也不一样,但是没有改过ENV里面的东西……
    3 e! [' G: \  J6 r/ H1 d好后悔当时怎么没有研究下……以为是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-8-31 20:20 , Processed in 0.125000 second(s), 25 queries , Gzip On.

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

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

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