• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 电子设计 > PCB设计 > Allegro PCB技术问答 > 如何在Allegro里面设置用1234...序号命令来换层

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

录入:edatop.com     点击:
以前用过这个功能,就是在命令行输入1显示的是第一层的器件,孔,线,然后2就切换到第二层,以此类推;
内层的话只显示线和孔,当然,route keepout也是显示出来的,我用script录制功能试过,但是效果不太好……
然后同理,输入ka可以显示所有的route keepout,输入pbt可以显示TOP层的placebound,等等~
请教哪位大神有什么好的方法来实现下~

哦,对了,我这边还有个问题……中间层每次的叠层都不一样,在env文件里面写:
alias 2 'color -globvis off;color -toggle "Via Class/L02_*";color -toggle "Etch/L02_*";color -toggle "Board Geometry/Outline"'
我尝试用星号代替,可是无法识别
不知道这个要怎么描述……

Skill论坛有个skill,输入命令L1,显示第一层,L2显示第二层,感觉用起来不错哦,
还有一种快捷键设置,但是只能显示器件和线,过孔无法显示,现在用手机上,明天早上再上传,你到时候再研究下能不能改成全部显示,
另:录制的应该可以吧,不好用么?

funckey zt1 'color -toggle "Package Geometry/Silkscreen_top"'    #控制顶层丝印
funckey zb1 'color -toggle "Package Geometry/Silkscreen_bottom"' #控制底层丝印
你可以根据上面的语句编你想要的层,route keepout
下面是按1显示器件和线的快捷键,但是不显示过孔,你研究下,看能不能完善下,
funckey z1 'color -toggle "Pin/Top";color -toggle "Etch/Top"'
funckey z6 'color -toggle "Pin/BOTTOM";color -toggle "Etch/BOTTOM"'

好的,灰常感谢~我自己再研究一下。
用script录制的显示的是一步一步的,然后以前用的是输了命令过后直接显示的,所以觉得方法可能不对……

那个孔的可以加一条color -toggle "Via Class/Top";然后就能显示孔了,然后最好把funckey改成alias,这样好像就是通过命令行而不是快捷键
我刚才尝试了下,这个是可以显示的,但是好像只能开,不能在开的同是关掉其他层……
那个在color里面有个Global Visibility可以全局的全开和全关,这个想要通过命令行怎么实现?
如果实现了得话就可以在这些语句前面加一句all off,然后就能把其他的全部关掉,只开我们想要的那些层。

funckey z8 'color -globvis off'
  全部关掉命令,
还有你加的那条color -toggle "Via class/Top"我这里是没有用的,显示E- Unmatched quote 我的是16.3 的,
搞不懂,正在测试中
经过测试可以用,嘿嘿,不能把这个语句直接复制到命令行执行,否则会出错,直接放在ENV里就可以,

哦,感谢~这个命令找不到……后来用录制的scr代替了这一步……
我的env里面这么写的:
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"'
我等下把第一步的改一下,用命令执行要快一点,scr文件执行有点慢
那个Via Class/Top我这边是可以的,你看一下你的那个层名称是不是这样命名的,这个好像还是区分大小写的

不能用*号代替,系统识别不了这个subclass,只能在命名层的时候将名字与ENV里一样!

呃……这样啊……但是我以前用过这个功能啊……叠层不可能每次都一样的……
以前公司用的是按几就是第几层,然后每次的叠层都不一样的,层的名字也不一样,但是没有改过ENV里面的东西……
好后悔当时怎么没有研究下……以为是Cadence软件自带的功能……

可能用别的语句实现吧!继续研究,共同研究

最终搞定了,用了一个小skill搞定了
axlCmdRegister("c_layer" 'c_layer ?cmdType "interactive")
defun(c_layer (@optional (layer ""))
let((allLayer countLayer)
        allLayer = axlGetParam("paramLayerGroup:ETCH")->groupMembers
        countLayer = length(allLayer)
        if(layer != "" && atoi(layer)
                then
                        layer = atoi(layer)
                        if( layer <= countLayer && layer > 0
                                then
                                        axlVisibleDesign(nil)
                                        axlVisibleLayer(strcat("ETCH/" nthelem(layer allLayer)) t)
                                        axlVisibleLayer(strcat("PIN/" nthelem(layer allLayer)) t)
                                        axlVisibleLayer(strcat("VIA CLASS/" nthelem(layer allLayer)) t)   
                                        axlVisibleLayer(strcat("DRC ERROR CLASS/" nthelem(layer allLayer)) t)
                                        axlVisibleLayer(strcat("Board Geometry/Outline") t)
                                        axlVisibleUpdate(t)
                                        axlUIWPrint(nil "Swtich layer complet...")
                                else
                                        axlUIWPrint(nil "Error,Wrong layer argument!
                        );end if
                else
                        axlUIWPrint(nil "Please Input argument...")
        );end if
);end let
);end defun

把这个skill加载进allegro,然后输入命令就可以了
或者在env文件里面加快捷命令1 2 3 4 ...就可以实现用数字换层

Cadence Allegro 培训套装,视频教学,直观易学

上一篇:请问这句应该怎么翻译
下一篇:请教ALLEGRO16.6的跟随板边布线选项在哪?

PCB设计培训课程推荐详情>>

  网站地图