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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    以前用过这个功能,就是在命令行输入1显示的是第一层的器件,孔,线,然后2就切换到第二层,以此类推;
    , |1 o' ^9 \( r& v内层的话只显示线和孔,当然,route keepout也是显示出来的,我用script录制功能试过,但是效果不太好……
    7 E3 j& Y9 m  T9 o然后同理,输入ka可以显示所有的route keepout,输入pbt可以显示TOP层的placebound,等等~
    & `4 [7 j$ k' z" P- A0 e* H3 Z请教哪位大神有什么好的方法来实现下~
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    推荐
     楼主| 发表于 2015-8-7 16:57 | 只看该作者
    owencai 发表于 2014-9-19 10:080 z) [) r6 t  x9 n+ R& i0 {
    可能用别的语句实现吧!继续研究,共同研究

    + s8 _- d$ d7 O) _  q最终搞定了,用了一个小skill搞定了0 W: ?2 o* Z8 q, d
    axlCmdRegister("c_layer" 'c_layer ?cmdType "interactive")
    9 ?% u/ u! `: c/ j8 a' f! V0 U6 g8 R) k* t$ V5 B% u
    defun(c_layer (@optional (layer ""))1 R" A/ e4 y! k* W
    let((allLayer countLayer)! h+ A; m5 M- j1 {3 l2 K
            allLayer = axlGetParam("paramLayerGroup:ETCH")->groupMembers* l% H3 k6 D6 M: ~, C+ @' o3 S# |
            countLayer = length(allLayer)1 j8 \1 s) F9 o" j* N) Y  t( \
            if(layer != "" && atoi(layer)5 s. b5 ?4 }! U/ t; N) }
                    then7 b6 a0 n0 z8 ^. \0 w4 C
                            layer = atoi(layer)+ i! g( x9 h. D/ r5 g
                            if( layer <= countLayer && layer > 0
    6 W  U# t6 ?# Z0 }                                then
    % B  Y- ?" m! m3 v/ p/ A) t8 M                                        axlVisibleDesign(nil)9 O0 ?/ B" E) u# e' F9 W
                                            axlVisibleLayer(strcat("ETCH/" nthelem(layer allLayer)) t)
    * f, b# g3 f8 r; W                                        axlVisibleLayer(strcat("PIN/" nthelem(layer allLayer)) t)
    / `- g' G. V2 s6 B  W3 _; Y                                        axlVisibleLayer(strcat("VIA CLASS/" nthelem(layer allLayer)) t)   
    , w9 T8 j/ }2 g; _& X# r& `* o                                        axlVisibleLayer(strcat("DRC ERROR CLASS/" nthelem(layer allLayer)) t)8 g' B  M$ p3 u( f7 T/ R
                                            axlVisibleLayer(strcat("Board Geometry/Outline") t)! m& ~7 l, e1 `+ N* |
                                            axlVisibleUpdate(t)
    . R7 ^6 Y) h( c1 I  i9 w                                        axlUIWPrint(nil "Swtich layer complet...")0 ]$ D7 R5 V, e* \& ]
                                    else0 W3 U7 K  [6 I
                                            axlUIWPrint(nil "Error,Wrong layer argument! 8 l# w) {1 m3 l3 _4 _: C7 Q
                            );end if
    : I4 G+ a7 R/ r                else0 e  b/ X- `6 ?" U% y3 p
                            axlUIWPrint(nil "Please Input argument...")0 L* {  P( m. F. a/ O; b
            );end if
    , k) D3 q. F' c1 S8 e);end let! j$ M- L9 `4 R/ ?' \' M, V5 E
    );end defun
    0 P4 [: [2 Q/ [9 Q6 |/ T
    ( I/ P" @' s9 ^) P  B( }( w  p% N! a8 A, A( C; @

    8 X- A' s: r) }% P6 v把这个skill加载进allegro,然后输入命令就可以了
    ' z$ n4 J: Q$ L4 g, r3 s% @5 T/ [* A或者在env文件里面加快捷命令1 2 3 4 ...就可以实现用数字换层
    ; }9 F8 D  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
    # o- L; Q5 ?& w8 dfunckey z8 'color -globvis off'0 i: `6 s- n1 c9 Z* l$ R
      全部关掉命令,7 B  h( B3 @& s9 s1 c1 O) l* i0 I
    还有你加的那条color -toggle "Via class/Top"我 ...
    + F8 e1 s1 g" S4 i" B, `
    哦,对了,我这边还有个问题……中间层每次的叠层都不一样,在env文件里面写:# Q- O: @* u; a& ^& s6 w+ ?3 ~+ B
    alias 2 'color -globvis off;color -toggle "Via Class/L02_*";color -toggle "Etch/L02_*";color -toggle "Board Geometry/Outline"'
    $ r$ C$ k3 f3 ?8 C我尝试用星号代替,可是无法识别4 T2 Y! B: L3 D9 B! |4 @! \
    不知道这个要怎么描述……
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2014-9-11 21:20 | 只看该作者
    Skill论坛有个skill,输入命令L1,显示第一层,L2显示第二层,感觉用起来不错哦,: R! ^/ N; v6 m$ }" v4 l' h+ A
    还有一种快捷键设置,但是只能显示器件和线,过孔无法显示,现在用手机上,明天早上再上传,你到时候再研究下能不能改成全部显示,
    ! O3 n5 ?4 p4 e另:录制的应该可以吧,不好用么?
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2014-9-12 08:20 | 只看该作者
    funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印
    5 G5 ?  w6 Y' y, L) C( b! vfunckey zb1 'color -toggle "Package Geometry/Silkscreen_bottom"' #控制底层丝印" D: v6 d2 c1 p- _, P8 p
    你可以根据上面的语句编你想要的层,route keepout
    : _/ y7 X( E% s下面是按1显示器件和线的快捷键,但是不显示过孔,你研究下,看能不能完善下,% v! |  _6 ^1 t* ~
    funckey z1 'color -toggle "Pin/Top";color -toggle "Etch/Top"' ! R: n9 W& `5 @' o, w
    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:20
    ; w0 Z: R7 b2 yfunckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印
    6 [  V4 N( g9 C5 kfunckey zb1 'color - ...
    - ^4 E; G, f# Q/ M
    好的,灰常感谢~我自己再研究一下。
    # m2 k, i, L' z/ K( Q用script录制的显示的是一步一步的,然后以前用的是输了命令过后直接显示的,所以觉得方法可能不对……
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    5#
     楼主| 发表于 2014-9-12 10:14 | 只看该作者
    zuoyy 发表于 2014-9-12 08:33; T. o8 x% g8 k' q' v: B$ m
    好的,灰常感谢~我自己再研究一下。2 {$ r3 W5 ]: M1 E
    用script录制的显示的是一步一步的,然后以前用的是输了命令过后直 ...

    . }$ f1 H* c$ t- R# l' L- }+ X那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样好像就是通过命令行而不是快捷键
    9 l& y1 ^! R) j+ J9 q& a9 d: S我刚才尝试了下,这个是可以显示的,但是好像只能开,不能在开的同是关掉其他层……
    ! w' T  F; k+ P! {/ G那个在color里面有个Global Visibility可以全局的全开和全关,这个想要通过命令行怎么实现?8 `. Q( F( N7 B3 X  G
    如果实现了得话就可以在这些语句前面加一句all off,然后就能把其他的全部关掉,只开我们想要的那些层。
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    6#
    发表于 2014-9-18 16:54 | 只看该作者
    本帖最后由 owencai 于 2014-9-18 17:05 编辑
    ' A6 q( G8 }& \. P# D6 M& w
    zuoyy 发表于 2014-9-12 10:14
    + r1 S; {  H- g& F5 ^+ Y0 R! |那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样 ...

    ( [6 l/ e3 X& y$ ]7 l' a3 u
    * j3 w& ?0 g2 q( Rfunckey z8 'color -globvis off'
    % S3 O5 V) J- d( m  全部关掉命令,4 z! z" |$ E& I) Z! K, x! v
    还有你加的那条color -toggle "Via class/Top"我这里是没有用的,显示E- Unmatched quote 我的是16.3 的,
    " T) Y$ k' f" |. R" Y2 c9 Z2 ]2 n" M
    搞不懂,正在测试中 ; c( y) W) r. b3 w! I: ]( }

    ( g) W$ T: P1 l+ n2 B) [( C  ]经过测试可以用,嘿嘿,不能把这个语句直接复制到命令行执行,否则会出错,直接放在ENV里就可以,
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    7#
     楼主| 发表于 2014-9-19 08:09 | 只看该作者
    owencai 发表于 2014-9-18 16:54
    : [: n8 b" e( Z, l- e+ qfunckey z8 'color -globvis off'& G4 t7 h7 _/ I, U. a
      全部关掉命令,
      ?! U5 _5 w* d2 Y! G6 _* L还有你加的那条color -toggle "Via class/Top"我 ...
    " E# s' v( B* g* o) A- j' W
    哦,感谢~这个命令找不到……后来用录制的scr代替了这一步……6 g% ]# y! D1 w9 A# {* L; G5 a
    我的env里面这么写的:1 x5 X  F- `+ ?- P; P0 Y0 r9 R  o
    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"'5 v2 c" d& x  D# \: p: D
    我等下把第一步的改一下,用命令执行要快一点,scr文件执行有点慢, l, J3 l  n- M! G, I5 C
    那个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' W& b% h$ q0 y$ Y" D  _
    不能用*号代替,系统识别不了这个subclass,只能在命名层的时候将名字与ENV里一样!
    % w, }! `7 U& z) k
    呃……这样啊……但是我以前用过这个功能啊……叠层不可能每次都一样的……
    + C$ F1 r% j# _) Q以前公司用的是按几就是第几层,然后每次的叠层都不一样的,层的名字也不一样,但是没有改过ENV里面的东西……
    1 p! G2 w) M8 }5 b6 Z1 W# M( y1 f好后悔当时怎么没有研究下……以为是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-12-12 08:13 , Processed in 0.171875 second(s), 29 queries , Gzip On.

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

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

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