将AltiumDesigner(Protel升级版)的PCB设计打造成利器——订制应用、操作、过滤表达式及其他一些微操作-阿里云开发者社区

开发者社区> 云计算> 正文
登录阅读全文

将AltiumDesigner(Protel升级版)的PCB设计打造成利器——订制应用、操作、过滤表达式及其他一些微操作

简介:

转载自阿莫论坛,两年前看到的一个帖子了,今天重新整理一下,还是很方便的,特别是进行大规模PCB设计的时候,能剩很多事。

打造的理由:我们知道 AltiumDesigner(Protel 升级版)的 PCB 设计过程中,会陷入色彩斑斓的走线、元 件、过孔、覆铜等等的迷宫中,因此我们有必要化繁就简,突出自己想要操作的部分。我们知道 AltiumDesigner 或 Protel 提供了单层模式 shift+s,让你单看顶层、底层、多工层、丝印层……,它的这个功能不是很完善, 比如:顶层为当前层的时候按 shift+s,走线和顶层的元件并没有区别出来。还有:我们有时候想同时操作 顶层、底层的走线同时屏蔽其他层,那么 shift+S 显然达不到你的要求。

看看我目前正在、喜欢使用的过滤菜单:(左手点快捷键“Y”即可弹出)

clip_image001

点击“只操作电气走线”——也就是屏蔽掉掉诸如:过孔、焊盘、元件、覆铜……,将他们通通置为黑灰色, 只凸显电气走线,并只能操作电气走线。

clip_image002

点击“只操作底层走线”——也就是屏蔽掉诸如:顶层走线、过孔、焊盘、元件、覆铜……,将他们通通置为黑灰色,只凸显底层电气走线,并只能操作底层的走线。

clip_image003

其他的注入“只操作过孔”、“只操作顶层元件”、“只操作底层元件”,可以分别看到其他效果,以及得到相

clip_image004

应的操作效果。 订制过滤表达式在这个里面进入:

过滤菜单在这里:

clip_image005

手工输入表达式:

clip_image006

只操作顶层走线的表达式为:expr=IsTrack and OnTopLayer|mask=True|apply=True 只操作底层走线的表达式为:expr=IsTrack and OnBottomLayer|mask=True|apply=True 只操作电气走线的表达式为:expr=IsTrack and IsElectrical|mask=True|apply=True 只操作过孔的表达式为: expr=IsVia|mask=True|apply=True 只操作顶层元件的表达式为:expr=IsComponent and OnTopLayer|mask=True|apply=True

………………………………………………………………………………………………

………………………………………………………………………………………………

………………………………………………………………………………………………

各位根据自己的需要,写出各种不同的表达式来达到自己的目的,比如:我最近对焊盘、过孔补泪滴,我觉得不是所有的焊盘、过孔都需要补。插针插座之类连接器焊盘比较大,从 MCU 去往该焊盘的线比较 细,那么这个情况下连接器的焊盘需要补泪滴以增加应力。

你选择这个连接器元件,然后使用补泪滴,并勾选里面的只补你“选择的”选项,发现不起作用!因为 AltiumDesigner 只能识别你选择的焊盘而不是元件。你如果一个个去选焊盘,那么连接器有 40Pin 或更多, 那么显然不合适。这个时候你按快捷键 F12 弹出对话框写上 ispad and iscomponentselected,然后右边有个 selected 之类的选项要勾选上,再点 apply,就能迅速地全选你选择的元件的所有焊盘,然后你再补泪滴只补“选择的”——这样,你需要补的焊盘就都补了,不需要补的都没补。当然你也可以将刚才的表达式封装 成一个快捷键,就像我前面讲的。

回复【25 楼】zcllom 星罗棋布

-----------------------------------------------------------------------

学习了,力顶专研精神!不知道这些语法你是怎么搞出来的。那么只操作底层元件就应该是:expr=iscomponent and onbottomlayer|mask=true|apply=true

那么 expr= 是什么意思?其他的在 pcb filter -> helper 和 builder 可以找到相关的输入进去会的到同样的效果

(有点类似 drc 中的设置方法),也可以添加到喜欢选项里。在工具栏过滤器窗口下,点击下拉也有一些。我一般都是简单的键入一些常用的 如:iskeepout 、isconnection……没有楼主弄的漂亮!

-----------------------------------------------------------------------

“那么只操作底层元件就应该是:expr=iscomponent and onbottomlayer|mask=true|apply=true”,对!你还挺会 举一反三的。

expr 也就是 expression(表达式的缩写),如果只是在 Filter 里写过滤屏蔽,则不能写这个 expr,会出错的。 它必须出现在订制菜单的 parameters(参数)框中。

-----------------------------------------------------------------------

这个定制很方便,昨天晚上研究了下 expr,表达式 iscomponent,对象是元件

and,并且 onbottomlayer,在底层 mask=true,进行掩码操作 apply=true,应用确认

我试着将 iscomponent and onbottomlayer 输入到 PCB Filter 中(按 F12 出来,也是在星罗棋布的帖子中学的), 下面的动作中选 mask,按 Apply 后可以完成相同的效果。 感觉脚本定制就是将一连串的操作录制成一个宏,实现一键完成任务。

这些脚本中的关键字在完整版的帮助文件中应该有。不过我们不需要研究完整的脚本语法,有个简单的帮 办法可以学习:在快捷键 Y 的菜单中,打开 Filter For 下拉菜单,下面有一些例子,观察主要是两类 IsXXXX,这个主要过滤的目标对象的大类

OnXXXX,分布在哪一层

用 And 连接这两个条件,然后依葫芦画瓢,可以组合出常用的大多数操作

另一个办法是在 PCB Filter 对话中点 Builder,出来个对话框可以定义非常详细的条件,但它们的语法比前 面的要复杂

比如选层,它是用一个函数 OnLayer() 带上层的名字为参数如 OnLayer("TopLayer"),而且前的方法中只需 要一个宏名 OnTopLayer 即可

订制若干种过孔尺寸,以小键盘区的数字键做快捷键,3 表示 0.3 孔径的过孔、4 表示 0.4 孔径的快捷键、5…………,这样你想用任一种尺寸的过孔,都可以很方便地调出来。我知道 AltiumDesigner 本身

可以通过快捷键“shift+v”在走线过程中调用你填写好的各种尺寸过孔,但我单独放置过孔,要想改尺寸的

话,要按 Tab 键后改写过孔尺寸的数据,非常麻烦。因此我想改用下面的方法:

clip_image004[1]

选择 Apply——“应用”,然后依次编辑各种尺寸的过孔在右边的窗口:

clip_image007

我就以 0.5mm 孔径的过孔举例子:(我把这个过孔的数据绑定到小键盘上的数字“5”,以后按小键盘上“5”,

鼠标上粘着一个这个尺寸的过孔):

clip_image008

本来 Altium 放置过孔默认用快捷键“P”+“V”,我现在用小键盘区的“.”来实现同样的功能:

clip_image009

上面我说到:Altium 放置过孔默认用快捷键“P”+“V”,现在用小键盘区的“.”订制了同样的功能。

我发现:用自己订制的过孔,比如按小键盘上 5 放置 0.5mm 孔径的过孔,你放到走线上,它居然不能获 取该走线的 net 名,过孔仍然是“No Net”,导致过孔、走线因为不同网络名而出现醒目的报警颜色。

究其原因:带有参数——只要在订制菜单中 Parameter 参数框里写了数据的,在放置到走线上时无法融于走线的网络。因此我在上面最后一个图里订制了一个不带参数的过孔,我按小键盘上的“.”得到过孔放下去时,它很好地和走线融合到一起了。

这个我目前还不知道怎么解决,我暂时用的方法是:先按小键盘上“3”或“4”或“5”或“6”得到想要的过孔后, 马上鼠标右键点一下把过孔从光标箭头上去掉,然后按一下小键盘上的“.”,这时鼠标光标上出现的过孔保 持了你刚才选择的尺寸,这个时候放到线上去就没问题了。


本文转自emouse博客园博客,原文链接:http://www.cnblogs.com/emouse/archive/2012/04/13/2445909.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: