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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    以前用过这个功能,就是在命令行输入1显示的是第一层的器件,孔,线,然后2就切换到第二层,以此类推;% \+ M& Y8 R$ f6 U
    内层的话只显示线和孔,当然,route keepout也是显示出来的,我用script录制功能试过,但是效果不太好……
    0 z. Q8 I* u. u然后同理,输入ka可以显示所有的route keepout,输入pbt可以显示TOP层的placebound,等等~/ y- ^0 r, t4 w% _) d
    请教哪位大神有什么好的方法来实现下~
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    推荐
     楼主| 发表于 2015-8-7 16:57 | 只看该作者
    owencai 发表于 2014-9-19 10:08
      `' _1 u- I; p# s# E  c可能用别的语句实现吧!继续研究,共同研究
    . W3 U' n( c! ]& m' }7 M7 i8 U
    最终搞定了,用了一个小skill搞定了" s: F* G8 [% j
    axlCmdRegister("c_layer" 'c_layer ?cmdType "interactive")
    ! X; `9 ~& i- T: ]% y8 g! @0 ?8 J3 P+ p8 w. {$ f, L% e
    defun(c_layer (@optional (layer ""))
    2 f5 y& u) n- c8 D' c  w0 Zlet((allLayer countLayer)
    & m6 ^3 W% Z: B  P$ L  S, h6 X  F        allLayer = axlGetParam("paramLayerGroup:ETCH")->groupMembers
    9 `4 q- \; h; `        countLayer = length(allLayer)
    . c6 Q/ K+ }# N. Y        if(layer != "" && atoi(layer)3 R6 R: |8 Q, K- I
                    then7 I. K# [. y8 h! T  |
                            layer = atoi(layer)
    8 Z# C1 H5 Q% c( ~3 I4 P- P* _$ s                        if( layer <= countLayer && layer > 0! |# @" x5 w$ c
                                    then
    ) H1 o. a/ l) E  x7 Z9 R. L( r                                        axlVisibleDesign(nil)
    9 D$ ~) ?8 B- Q% o* c6 L6 j- f                                        axlVisibleLayer(strcat("ETCH/" nthelem(layer allLayer)) t)
    ; _& I2 Y; b# T6 K1 Y                                        axlVisibleLayer(strcat("PIN/" nthelem(layer allLayer)) t)
    2 k$ d( J5 u, v6 c5 D                                        axlVisibleLayer(strcat("VIA CLASS/" nthelem(layer allLayer)) t)   
    2 I2 \# x$ x& T, `; z                                        axlVisibleLayer(strcat("DRC ERROR CLASS/" nthelem(layer allLayer)) t)
    * h0 C" k6 g% |                                        axlVisibleLayer(strcat("Board Geometry/Outline") t)
    6 S, d- _% g! G/ ~# {4 G# p                                        axlVisibleUpdate(t)# p- C2 J1 D/ F0 o" p( \
                                            axlUIWPrint(nil "Swtich layer complet...")
    * n' S& A/ j  F. t' a                                else+ I: L9 [. }8 h+ j$ S
                                            axlUIWPrint(nil "Error,Wrong layer argument! 4 L2 v+ G3 d: E
                            );end if
    ) ^1 ^2 F: {% j9 X                else! k$ Z% M1 e8 |
                            axlUIWPrint(nil "Please Input argument...")  a( Z) `9 E3 e; X! t
            );end if
    ) V% I) c7 a9 Q& O; U$ t);end let
    2 f4 P/ y4 Z! B);end defun9 N! h$ |( {1 V

    8 e( m9 q% u. h* f$ w, b. h; k6 R9 [5 n2 z/ O; g  j; d
    / U' B* d0 I6 Z* D
    把这个skill加载进allegro,然后输入命令就可以了
    6 J: {5 a2 `" w7 ^% L0 r或者在env文件里面加快捷命令1 2 3 4 ...就可以实现用数字换层0 Z( A# t: a1 c1 f% F0 U* m

    评分

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

    查看全部评分

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

    [LV.1]初来乍到

    推荐
     楼主| 发表于 2014-9-19 08:15 | 只看该作者
    owencai 发表于 2014-9-18 16:547 c) B0 ?" I0 s/ ^6 S) v' z
    funckey z8 'color -globvis off'
    ( W; r8 A/ ]5 [0 L4 F% w2 L* y  全部关掉命令,( ^3 l$ u3 W% U. C# B, v. [
    还有你加的那条color -toggle "Via class/Top"我 ...

    + J. m) z+ Y+ S( y哦,对了,我这边还有个问题……中间层每次的叠层都不一样,在env文件里面写:: [- k6 y* O0 `: F1 J- D
    alias 2 'color -globvis off;color -toggle "Via Class/L02_*";color -toggle "Etch/L02_*";color -toggle "Board Geometry/Outline"'& }" l9 `( L2 Y* O; @
    我尝试用星号代替,可是无法识别- z- Q5 N( ?  ^* n0 N" b/ o
    不知道这个要怎么描述……
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2014-9-11 21:20 | 只看该作者
    Skill论坛有个skill,输入命令L1,显示第一层,L2显示第二层,感觉用起来不错哦,
    5 Y0 T0 \, {2 z0 Z4 Q9 n" b* V还有一种快捷键设置,但是只能显示器件和线,过孔无法显示,现在用手机上,明天早上再上传,你到时候再研究下能不能改成全部显示,+ E% V& A$ R9 q0 v  H! L
    另:录制的应该可以吧,不好用么?
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2014-9-12 08:20 | 只看该作者
    funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印
    ; o7 F6 x8 p# ~5 ?3 lfunckey zb1 'color -toggle "Package Geometry/Silkscreen_bottom"' #控制底层丝印
    . Y- _' ?1 z& }2 l# R5 }: T; b你可以根据上面的语句编你想要的层,route keepout
    " e/ q7 Z& r+ M% u, w7 A# ?+ x下面是按1显示器件和线的快捷键,但是不显示过孔,你研究下,看能不能完善下,/ A4 H& B& W0 \# N3 f
    funckey z1 'color -toggle "Pin/Top";color -toggle "Etch/Top"'
    6 N+ j0 A" B+ q2 afunckey 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* F9 P" C8 ~3 Q5 ~4 |
    funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印
    % f0 {: \5 ~; nfunckey zb1 'color - ...

    3 P+ I, |- d$ t% Z好的,灰常感谢~我自己再研究一下。
    ( s: l* `3 M" X! {/ X2 R用script录制的显示的是一步一步的,然后以前用的是输了命令过后直接显示的,所以觉得方法可能不对……
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    5#
     楼主| 发表于 2014-9-12 10:14 | 只看该作者
    zuoyy 发表于 2014-9-12 08:33
    $ I9 F$ e) |; S. R; ~# X5 ~4 m/ r好的,灰常感谢~我自己再研究一下。  W* B* i* y0 p4 E
    用script录制的显示的是一步一步的,然后以前用的是输了命令过后直 ...
    0 @2 E) s6 {' o1 ~' u- a; T7 Y
    那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样好像就是通过命令行而不是快捷键
    5 W# i+ Y" q( Y$ z& K" `' `我刚才尝试了下,这个是可以显示的,但是好像只能开,不能在开的同是关掉其他层……
    + [# n* X$ }+ u, H& C( }+ i那个在color里面有个Global Visibility可以全局的全开和全关,这个想要通过命令行怎么实现?
    . l- v* z( q+ y6 ?如果实现了得话就可以在这些语句前面加一句all off,然后就能把其他的全部关掉,只开我们想要的那些层。
  • TA的每日心情
    开心
    2023-2-12 15:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    6#
    发表于 2014-9-18 16:54 | 只看该作者
    本帖最后由 owencai 于 2014-9-18 17:05 编辑 9 Q; U9 z# [/ A+ k6 G# S+ r1 u! V
    zuoyy 发表于 2014-9-12 10:14$ z7 G! B8 N# ?/ u
    那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样 ...
    & X- l* w0 F- A! y6 J. I

    0 h: u  Y1 k7 S$ [/ h0 Pfunckey z8 'color -globvis off'+ T3 ?: g6 L& R& Z3 ]1 x# b, r4 k
      全部关掉命令,
    , A, d8 j5 p$ O/ y还有你加的那条color -toggle "Via class/Top"我这里是没有用的,显示E- Unmatched quote 我的是16.3 的,% L) I% i: v1 D. T6 L: h

    $ }+ d' C3 g* T& B$ y搞不懂,正在测试中 & P: X% b6 W6 [! B
    9 \2 F( j3 g( t+ ?' ^8 x2 K
    经过测试可以用,嘿嘿,不能把这个语句直接复制到命令行执行,否则会出错,直接放在ENV里就可以,
  • TA的每日心情
    奋斗
    2020-7-15 15:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    7#
     楼主| 发表于 2014-9-19 08:09 | 只看该作者
    owencai 发表于 2014-9-18 16:54
    7 K! s0 o2 r* d- Xfunckey z8 'color -globvis off'( ^2 w+ r. Y( L4 \
      全部关掉命令,( K' ?" R9 X5 _) J: p+ f3 Q; j
    还有你加的那条color -toggle "Via class/Top"我 ...
    3 L# z& T) l9 g- a5 r
    哦,感谢~这个命令找不到……后来用录制的scr代替了这一步……
    6 e; b* m% K7 T/ [# L我的env里面这么写的:
    & r/ L. b5 f5 E5 \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 Q3 n8 C# m0 a; h3 k我等下把第一步的改一下,用命令执行要快一点,scr文件执行有点慢* o+ ~2 j8 j  V3 H1 j) x
    那个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:323 t; [# ?" d6 ], d
    不能用*号代替,系统识别不了这个subclass,只能在命名层的时候将名字与ENV里一样!
    . h4 f5 N+ l. r9 T
    呃……这样啊……但是我以前用过这个功能啊……叠层不可能每次都一样的……8 {6 m4 _# f5 x0 ?
    以前公司用的是按几就是第几层,然后每次的叠层都不一样的,层的名字也不一样,但是没有改过ENV里面的东西……. g% A! f  s" C
    好后悔当时怎么没有研究下……以为是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-17 15:08 , Processed in 0.125000 second(s), 29 queries , Gzip On.

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

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

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