EDA365电子工程师网

标题: dxp过滤器(PCB Filter)语法技巧收集,希望大家集思广益,打造layout效率巅... [打印本页]

作者: dianzi1987    时间: 2013-9-14 23:00
标题: dxp过滤器(PCB Filter)语法技巧收集,希望大家集思广益,打造layout效率巅...
本帖最后由 dianzi1987 于 2013-9-21 11:07 编辑
) P5 p6 f9 c, A* C& z) u, X& \2 ]
( [! z6 b* m. Y1 |在论坛搜索了PCB Filter,出来的结果着实不多,突发奇想,一定有很多坛友都希望更好的使用过滤器语法来提高效率,没错,我也不例外。
" J0 a! v3 H/ ~: `3 Z) R一下对我知道的语法列举出来,希望看到的坛友也能写出你的喜爱语法。8 E( U$ M) k- c
以下是引用阿莫论坛  主题” 【物尽其用】将AltiumDesigner(Protel升级版)的PCB设计打造成利器——订制应用、操做“中29楼,先让大家了解以下。原帖内容请自行搜索。+ L; X9 ^- m# x
expr,表达式7 r+ ?$ m0 M/ X" G  k0 K
iscomponent,对象是元件
- {4 x# q4 J( D/ M, ?7 t  Tand,并且
, i8 G" R3 W0 v0 d7 k4 Yonbottomlayer,在底层
2 C; O  b  B, [$ J, gmask=true,进行掩码操作3 d1 x. V, c5 {0 {7 h0 A
apply=true,应用确认% d; v, u7 c: @; _& Q( h% _, H5 x

, G; K# r: j  A1 `
/ P7 T, z' g( j: }8 V& I我试着将 iscomponent and onbottomlayer 输入到PCB Filter中(按F12出来,也是在星罗棋布的帖子中学的),下面的动作中选mask,按Apply后可以完成相同的效果。% @4 N; x+ k) k, b; t; k6 X" o
感觉脚本定制就是将一连串的操作录制成一个宏,实现一键完成任务。' k. J: w& I4 @: }8 o4 k0 _
, J6 K! ]* H( ~' Q6 d
这些脚本中的关键字在完整版的帮助文件中应该有。不过我们不需要研究完整的脚本语法,有个简单的帮办法可以学习:在快捷键Y的菜单中,打开 Filter For 下拉菜单,下面有一些例子,观察主要是两类7 |8 o/ N# q& n% K# ~
IsXXXX,这个主要过滤的目标对象的大类
+ m" h; E* r" ]OnXXXX,分布在哪一层1 `% s+ |9 E3 Y; ^2 u: k
用 And 连接这两个条件,然后依葫芦画瓢,可以组合出常用的大多数操作2 }6 O& G6 Q+ B9 @2 U. J

3 k' M- M' c( `7 o- N0 Z另一个办法是在 PCB Filter 对话中点 Builder,出来个对话框可以定义非常详细的条件,但它们的语法比前面的要复杂+ N/ F0 |3 Q5 f2 G, k. V5 e
比如选层,它是用一个函数 OnLayer() 带上层的名字为参数如OnLayer("TopLayer"),而且前的方法中只需要一个宏名 OnTopLayer即可
( h  Y5 ]- H, c2 u& D
3 z6 p; Y* e& U. p& _. D

+ @3 n4 m, e) U6 Q- `0 c7 M对于我常用喜欢定制到收藏菜单,然后按Y调用。
2 i2 n5 D% Y+ j( b- c% {+ a8 }1.全部元件: iscomponent  输入过滤器后点击应用,即可多多有元件进行操作。
7 U. v6 @& t: G( _% M5 X2.全部过孔 :isvia
" N0 ~' @: R& d6 }还是来张图片吧!
; N# }2 ^2 Z7 I- q/ u* R% u
+ j! s; P5 f# d" O- X5 W$ _这些定义收藏的,都可以按Y键快速调用。0 g& U+ [. U; N# x7 ?% ~

( u8 |+ ~: w( n8 b8 `  P- T像90度270度 顶(底)层元件,多用于制作元件位置图时使用。
& y2 m4 n" f% j/ a6 j3 M& f' C非GND焊盘过孔 打泪滴时候使用,
+ n- Z9 l$ F0 Z; |全部多边形 元件 等等,需要操作的时候使用。2 C5 Q4 j7 p' }' B9 e
以上都是我比较喜欢的过滤器语法。
' S. N: j  f8 Q) f  S  \
4 T6 Q$ n: ]# M. }
$ t& a+ ~  x- F7 P, v3 n/ X" S  p+ Z1 C9 m4 X+ e2 d0 n: e2 T
9 m6 L$ m9 q3 A' Y/ G. ~
再来说个我喜欢的多边形规则定制,主要是为了满热焊盘花孔连接与实心连接的功能。
$ ?: ]1 N3 A3 u: o0 v首先多边形的铺铜的时候,需要填写多边形名称。例如: 填写任意都可以,只要自己能分清,我不喜欢英文(英文盲{:soso_e149:} )所以,就用咱们的汉语拼音来代替了,所以,实心的为“shi”{:soso_e128:} 莫笑啊。% n! t0 M) l1 R
然后规则: : [* b8 I- r' Z9 K
经过这样的设置之后,需要热焊盘的就在铺铜的时候写入“hua”,需要实心的就写入“shi”,是不是非常方便呢。; t0 ^/ p8 S  j0 U" t
另外,可以在多边形管理器里选中多边形后来创建多边形连接类型。2 m) ~! r( W' m* N. K( R
语法为:IsNamedPolygon('hua')  或者IsNamedPolygon('shi')

+ ^% x( d# {! i* @- ]
8 M, v+ S- \: k0 aIS***为选择的对象,这个想知道都有哪些对象可以按下F12后输入is后面就会弹出很多对象,看看需要的选择,这个很省事啊。
2 L* ^# e7 z: T) V3 w# V( e# \2 ~( B- X8 ?1 B$ k7 l
如果遇到需要某一个元件的某一个引脚需要花焊盘连接怎么办呢?+ o' [' p2 m$ V9 o1 _/ i2 C
这个就需要用到焊盘类的设置了,设置之后可以对个别焊盘铺铜满足需要了,这个是规则下的设置,如有朋友需要,请告知。. w& f# y' Z$ g# Y

' T2 @5 S: H+ S待续。。。
* ^9 g0 y( A4 b7 }6 \7 w$ H7 {, b. V. d
; L( ~. X/ @5 r4 P

) d7 Y9 C+ _7 O" Z2 }
作者: dianzi1987    时间: 2013-9-14 23:04
沙发备用
作者: icm    时间: 2013-9-16 10:37
基本上從Example中的10個範例,已經可以當作參考來學習.建議先了解這些範例.6 G9 g- N3 i" N; p! w
0.        Hidden comments strings: n8 X% t* t0 A* j/ u& I2 J
IsComment And (Hide = True)& F4 K0 F& A, k2 _4 D
1.        Locked components
4 _* [+ @$ p, u- s& Y! }: UIsComponent and (Locked = True)" O) R, r+ \2 b4 w
2.        Pads and vias with a hole size between 15 and 30( V4 N6 e) ~8 W! \- [# P/ H
(IsPad Or IsVia) And (HoleSize > 15) And (HoleSize < 30)$ k: h7 n- D* m/ P# G
3.        Teacks less than 2 units long
+ O3 ]% e4 d  K+ f! q2 s: F8 |5 HIsTrack And (Sqrt(Sqr(X1-X2) + Sqr(Y1-Y2)) < 2)" l  f9 {7 @' u; M, Z) K2 o
4.        All testpoints8 k. Z; S( Y8 {
(TestPointTop = True) Or (TestPointBottom = True)" \& o2 n: `( R1 \) [1 f
5.        Component track and arc silkscreen primitives
5 G; f" B. M* |3 R0 t* z" E! F7 VOnSilkscreen And (IsTrack Or IsArc) And IsComponentPrimitive! O  z- W% C5 ?( R2 e
6.        Components not on a 5 mil grid
: i3 }) T7 k0 Z1 R5 Y! qIsComponent And ((Frac(X1/5) <> 0) Or (Frac(Y1/5) <> 0))
& f' o8 W# n/ |1 b- \6 X/ q7.        Signal layer tracks at an odd angle5 I1 _7 A% d1 B2 U8 N$ S
Not(IsHorizontal Or IsVertical Or IsOblique) And IsTrack And OnSignal
* ~, k* K0 l/ j: W, |8.        Top signal layer keep objects
$ f- |0 y2 C0 ^1 rIsKeepout And OnTopLayer4 D' K! d4 F. q$ p& c6 ?& h
9.        Non-horizontal designators
: A  ^& {1 a+ B/ O7 sIsDesignator And (Rotation <> 0) And (Rotation <> 360)
作者: dianzi1987    时间: 2013-9-16 11:25
icm 发表于 2013-9-16 10:37
9 |3 C- n1 h/ q$ ~. G基本上從Example中的10個範例,已經可以當作參考來學習.建議先了解這些範例.) V& F$ i9 a. t$ C: I1 f2 P; ]
0.        Hidden comments strings
. A5 W2 Z0 [) Q2 T ...
  h, G- O4 z% l+ c- M/ y
非常感谢你的支持,相信会有更多坛友会受益于此。
作者: wanghanq    时间: 2013-9-19 17:33
本帖最后由 wanghanq 于 2013-9-25 20:22 编辑 % C* H+ R$ S8 l: G
+ w  p6 s' z4 q/ f# i
ad10中怎么一次性删除所有走线和过孔还有铜皮! V4 p# p# i+ y0 o) O; Z
https://www.eda365.com/forum.php?mod=viewthread&tid=92090&fromuid=4169
) B+ D. P; K2 s( F
3 a: ?2 a/ T$ `- I5 _
icm:. x' l$ ^+ r# i) A( f& ]- ^
PCB Filter Panel填入以下語句
8 E. y# a/ }( d9 S; G6 ?$ O((IsPad and Not IsComponentPad) or IsVia or IsPoly or IsRegion or IsTrack or IsArc or IsFill) and OnSignal5 [6 c, Z7 n! Y' m' W) a3 [  o
點擊Apply 接者 Delete.

& f+ r/ e3 K4 {
3 _  T, d* G7 N1 ]% f/ l& g% n0 n& M5 y& k* h# D& {
ttgoer :2 w+ d5 S$ w" ^' _' W. T% }' X" a
给不懂语法的同志:
; J6 D1 }+ _" ?% [9 ~6 Q4 G很简单的,S--free objects,deltete...就可以全部删除所有的走线。
% I+ T  }/ |; e! H/ E9 I不过,你可能需要先作以下一些操作,如果有相应顶目的话:
6 \' X  T. d) b" b9 O. L7 W  S2 ?1、关闭KO,TO,BO(防止删除相应层的板边框,丝印线)
% v6 z1 o4 c; U2、把所有的PAD HIDE(防止删除定位孔)

5 \; Z& P$ I9 Z4 ~+ [
作者: Linda_008    时间: 2013-9-20 23:18
不错,很受用,支持高手发言交流经验
作者: 花心刺猬    时间: 2013-9-21 00:04
好贴,支持下!
作者: maxemry    时间: 2013-9-21 08:12
好贴,支持下
作者: dianzi1987    时间: 2013-9-22 17:59
论坛的高手进来吧,自己顶。
作者: qingfuli    时间: 2013-10-5 21:04
{:soso_e179:}
作者: 2723498933    时间: 2015-10-22 18:06
非常给力
作者: zcllom    时间: 2015-10-28 13:12
哈哈,这个正是在下几年前发表的一个原创帖子,很荣幸被转载引用到EDA365论坛上。EDA365论坛是我非常喜欢的为数不多的几个论坛之一。希望抛砖引玉,大家发掘出更多更好的软件特性,方便大家使用。
作者: 2009zhaoqf    时间: 2016-10-21 15:25





欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2