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

 转自:http://www.ourdev.cn/bbs/bbs_content_all.jsp?bbs_sn=4151967

========================楼主位==================================

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

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

 

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

 

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

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

=======================2楼==============================================

订制过滤表达式在这个里面进入:

过滤菜单在这里:

手工输入表达式:

 

只操作顶层走线的表达式为: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,就能迅速地全选你选择的元件的所有焊盘,然后你再补泪滴只补“选择的”——这样,你需要补的焊盘就都补了,不需要补的都没补。当然你也可以将刚才的表达式封装成一个快捷键,就像我前面讲的。

 

==============================16楼==================================

回复【2楼】zcllom 星罗棋布
-----------------------------------------------------------------------

学习了,力顶专研精神!不知道这些语法你是怎么搞出来的。

那么只操作底层元件就应该是:expr=iscomponent and onbottomlayer|mask=true|apply=true

那么expr= 是什么意思?其他的在 PCB Filter -> Helper 和 Builder 可以找到相关的输入进去会的到同样的效果(有点类似DRC中的设置方法),也可以添加到喜欢选项里。在工具栏过滤器窗口下,点击下拉也有一些。我一般都是简单的键入一些常用的 如:IsKeepOut 、IsConnection……没有楼主弄的漂亮!

==============================25楼==================================

回复【16楼】wangqh1983 
回复【2楼】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(参数)框中。

 

=============================28楼==================================

回复【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即可

==============================30楼===============================

【28楼】 ttyxp 
我试着将 iscomponent and onbottomlayer 输入到PCB Filter中(按F12出来,也是在星罗棋布的帖子中学的),下面的动作中选mask,按Apply后可以完成相同的效果。 
感觉脚本定制就是将一连串的操作录制成一个宏,实现一键完成任务。 
======================================================================
所言极是,所以说AltiumDesigner的扩展性还蛮不错的。
鄙人还有些心得跟经验,晚上再来献丑。
    比如:订制若干种过孔尺寸,以小键盘区的数字键做快捷键,3表示0.3孔径的过孔、4表示0.4孔径的快捷键、5…………,这样你想用任一种尺寸的过孔,都可以很方便地调出来。我知道AltiumDesigner本身可以通过快捷键“shift+v”在走线过程中调用你填写好的各种尺寸过孔,但我单独放置过孔,要想改尺寸的话,要按Tab键后改写过孔尺寸的数据,非常麻烦。用我所说的方法就很简便了。

 

==============================47楼====================================

回复【2楼】zcllom  星罗棋布
-----------------------------------------------------------------------
呵呵。原来跟我实现这个菜单的操作不是同一个方式,难怪我怎么也写入不了expr、Select之类的词。
Caption里面写入  &1 只操作顶层走线
则按Y键出来的菜单后再按大键盘的数字键1就可以执行这个操作了。&符号后面的第一字符即是对应的快捷键。

编辑rule,设置好Via的最大最小最适合的情况。
在走线的时候切换层,此时会出现一个Via,按大键盘上面的数字键4可以切换过孔大小,是最小过孔、最佳、最大、用户自定义(Shift+V可以选择和增减修改自定义的过孔)循环着切换的。数字键3是切换走线宽度,也需要在rule里面设置好走线宽度,切换顺序同上,Shift+W可以选择和增减修改自定义的走线宽度。
另:走线的时候按一下~键(就是数字键1左侧的那个键,会出现菜单的,以上这些快捷键里面都有)。

 

============================52楼======================================

回复【47楼】klesky 
回复【2楼】zcllom  星罗棋布 
----------------------------------------------------------------------- 
在走线的时候切换层,此时会出现一个via,按大键盘上面的数字键4可以切换过孔大小,是最小过孔、最佳、最大、用户自定义(shift+v可以选择和增减修改自定义的过孔)循环着切换的。数字键3是切换走线宽度,也需要在rule里面设置好走线宽度,切换顺序同上,shift+w可以选择和增减修改自......
-----------------------------------------------------------------------

你所说的这种方法无论是换线宽,还是换过孔,就只有三种尺寸选择——最小、最喜欢、最大。
我更喜欢走线的时候用快捷键“shift+w”,换我订制好的各种各样线宽:


在走线过程中放置过孔,换过孔尺寸,通过“shift+V”,换我订制好的各种各样尺寸过孔:

 

=========================================================55楼===========================================

    订制若干种过孔尺寸,以小键盘区的数字键做快捷键,3表示0.3孔径的过孔、4表示0.4孔径的快捷键、5…………,这样你想用任一种尺寸的过孔,都可以很方便地调出来。我知道AltiumDesigner本身可以通过快捷键“shift+v”在走线过程中调用你填写好的各种尺寸过孔,但我单独放置过孔,要想改尺寸的话,要按Tab键后改写过孔尺寸的数据,非常麻烦。因此我想改用下面的方法:

 

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

 

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

 

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

上面我说到:Altium放置过孔默认用快捷键“P”+“V”,现在用小键盘区的“.”订制了同样的功能。
    我发现:用自己订制的过孔,比如按小键盘上5放置0.5mm孔径的过孔,你放到走线上,它居然不能获取该走线的net名,过孔仍然是“No Net”,导致过孔、走线因为不同网络名而出现醒目的报警颜色。
    究其原因:带有参数——只要在订制菜单中Parameter参数框里写了数据的,在放置到走线上时无法融于走线的网络。因此我在上面最后一个图里订制了一个不带参数的过孔,我按小键盘上的“.”得到过孔放下去时,它很好地和走线融合到一起了。
    这个我目前还不知道怎么解决,我暂时用的方法是:先按小键盘上“3”或“4”或“5”或“6”得到想要的过孔后,马上鼠标右键点一下把过孔从光标箭头上去掉,然后按一下小键盘上的“.”,这时鼠标光标上出现的过孔保持了你刚才选择的尺寸,这个时候放到线上去就没问题了。

 

==========================76楼&77楼=============================

回复【75楼】zhousun 
个性设置可以保存的,存成一个文件就可以了,用时导入进来
-----------------------------------------------------------------------

拜托赐教,如何保存成一个文件?

==76楼==

如果是线宽规则: Design--rules  点击左侧Design Rules 文件夹,点右键导出或导入即可 


如果是菜单,快捷键设置,点左上角DXP(楼主位)--Preferences--选择SAVE或LOAD即可


省略图了

 

==============================295楼===============================

只操作顶层走线的表达式为: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
只操作底层元件的表达式为:expr=IsComponent and  OnBottomLayer|mask=True|apply=True

加上这些后查线路大大地方便了!!
不过因为有些走线是圆弧的,所以折腾了很久,给加上两条。呵呵
操作顶层走线与圆弧   expr=IsArc and OnTopLayer or IsTrack and OnTopLayer|mask=True|apply=True 
操作底层走线与圆弧   expr=IsArc and OnBottomLayer or IsTrack and OnBottomLayer|mask=True|apply=True 


试了很久后,才在例子中看到要用or
不知那里能找到这些书写规范呢?

 

=======================393问========================

回复【347楼】Good night 
回复【52楼】zcllom 星罗棋布 
楼主您好! 
   感谢您的经验分享! 
   您说:走线时用快捷键“shift+w”,切换订制好的各种各样线宽,我想问一下,如何订制各种线宽呢?是在规则里设置还是像您所说的在“customize”-“apply”里设置?两个我都设置过,但按下“shift+w”没反应,还望您指点一下! 
  谢谢! 

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

期待这位仁兄的问题得到高手回答。

 

=======================395答=========================

 

转自ourdev论坛:http://www.ourdev.cn/bbs/bbs_content_all.jsp?bbs_sn=4151967

仅供技术交流,感觉楼主及各位网友!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值