找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 3850|回复: 13
打印 上一主题 下一主题

dxp过滤器(PCB Filter)语法技巧收集,希望大家集思广益,打造layout效率巅...

[复制链接]

6

主题

100

帖子

1655

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1655
跳转到指定楼层
#
发表于 2013-9-14 23:00 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您!

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

x
本帖最后由 dianzi1987 于 2013-9-21 11:07 编辑
" A& d: \  D' Y4 B: R* N+ o0 ]% w/ M. ?& m7 P
在论坛搜索了PCB Filter,出来的结果着实不多,突发奇想,一定有很多坛友都希望更好的使用过滤器语法来提高效率,没错,我也不例外。/ \/ h3 @, `4 G5 h& [0 j
一下对我知道的语法列举出来,希望看到的坛友也能写出你的喜爱语法。
6 Y& y2 Z( d0 j: u以下是引用阿莫论坛  主题” 【物尽其用】将AltiumDesigner(Protel升级版)的PCB设计打造成利器——订制应用、操做“中29楼,先让大家了解以下。原帖内容请自行搜索。2 y$ l# f5 t; G* p, n9 X# ]) q0 L
expr,表达式
  }8 d+ U7 G9 e: piscomponent,对象是元件
) K* r% ^. p7 k8 zand,并且* ?2 Y" q; Z+ \- f2 V) r; l1 ~
onbottomlayer,在底层
  T' Q% b7 ^. ^+ ~* F; hmask=true,进行掩码操作: n. T0 r. \6 b5 t; @: K; i
apply=true,应用确认
$ t. y$ s9 f  D+ ]7 T& v
2 j6 O6 Z. S: o% C! ]2 ~/ p8 T  |0 f4 u: X  _; E. H
我试着将 iscomponent and onbottomlayer 输入到PCB Filter中(按F12出来,也是在星罗棋布的帖子中学的),下面的动作中选mask,按Apply后可以完成相同的效果。
% `. }7 y; s% A8 v9 O$ |1 b% ^感觉脚本定制就是将一连串的操作录制成一个宏,实现一键完成任务。
8 ]3 W- H$ ~; A5 S1 J7 D8 H0 ?- P
/ t& L4 x  O$ \# f8 Y这些脚本中的关键字在完整版的帮助文件中应该有。不过我们不需要研究完整的脚本语法,有个简单的帮办法可以学习:在快捷键Y的菜单中,打开 Filter For 下拉菜单,下面有一些例子,观察主要是两类& u# U( r: K! R+ l$ N. R8 j
IsXXXX,这个主要过滤的目标对象的大类
/ ~. i7 }" _# p) `7 aOnXXXX,分布在哪一层6 M2 B% Y+ m; L/ ^& D7 Y$ X
用 And 连接这两个条件,然后依葫芦画瓢,可以组合出常用的大多数操作9 @" p9 C5 }) ]8 l3 C

* z& G4 q. c* k3 u3 U另一个办法是在 PCB Filter 对话中点 Builder,出来个对话框可以定义非常详细的条件,但它们的语法比前面的要复杂
, q3 }4 i4 z) X. R比如选层,它是用一个函数 OnLayer() 带上层的名字为参数如OnLayer("TopLayer"),而且前的方法中只需要一个宏名 OnTopLayer即可
6 Z7 h' u# Q1 u6 h- Q

: u$ r* j3 B4 {8 n  p) f  w: M% E2 l" g
对于我常用喜欢定制到收藏菜单,然后按Y调用。- k" K# w* Q- F: R
1.全部元件: iscomponent  输入过滤器后点击应用,即可多多有元件进行操作。2 f* ^8 T/ f: q% b
2.全部过孔 :isvia- z: J; y- ]' ^2 Z5 d
还是来张图片吧!
: U3 l6 H% R$ Y' A" Z9 h; P3 _6 {5 ]; \' y6 B( U* G7 B8 e
这些定义收藏的,都可以按Y键快速调用。7 P8 W  d; J+ [" w, ?

0 d* I6 |+ a) @/ M; t像90度270度 顶(底)层元件,多用于制作元件位置图时使用。. a: d2 G8 i3 F# u: z
非GND焊盘过孔 打泪滴时候使用,
3 i$ L3 `/ P7 B8 h' y; f全部多边形 元件 等等,需要操作的时候使用。, T0 J* v' s9 e9 V* |
以上都是我比较喜欢的过滤器语法。7 j+ ^' W7 G. e# k' R) G- |, ?3 e
6 K# o8 c2 |4 Y
, S' o+ e8 l7 U7 Z) z+ c4 i2 ], @
$ g/ l! C5 i% v. B# m9 ]

4 e& t1 X$ S, }1 B再来说个我喜欢的多边形规则定制,主要是为了满热焊盘花孔连接与实心连接的功能。. N! x% T% H# p7 N6 S
首先多边形的铺铜的时候,需要填写多边形名称。例如: 填写任意都可以,只要自己能分清,我不喜欢英文(英文盲{:soso_e149:} )所以,就用咱们的汉语拼音来代替了,所以,实心的为“shi”{:soso_e128:} 莫笑啊。
8 }9 h# m! U- _" Y然后规则: " [  B: U6 r; C+ U( s* ]1 x
经过这样的设置之后,需要热焊盘的就在铺铜的时候写入“hua”,需要实心的就写入“shi”,是不是非常方便呢。
- J" C; c. i- W( {另外,可以在多边形管理器里选中多边形后来创建多边形连接类型。
8 |2 q9 e4 `! x+ H' }5 U. ?2 `* r语法为:IsNamedPolygon('hua')  或者IsNamedPolygon('shi')

+ [; x+ J8 O6 F' j8 @  ]. e( E: y& t& B6 A4 z+ p
IS***为选择的对象,这个想知道都有哪些对象可以按下F12后输入is后面就会弹出很多对象,看看需要的选择,这个很省事啊。
7 R# q( J# p9 I" T' b4 X
9 @; R9 g7 E5 ]9 p+ s+ }如果遇到需要某一个元件的某一个引脚需要花焊盘连接怎么办呢?1 h' {* A8 u9 o3 V- |7 X8 {
这个就需要用到焊盘类的设置了,设置之后可以对个别焊盘铺铜满足需要了,这个是规则下的设置,如有朋友需要,请告知。
; x! m1 N$ A5 f( R
* d# k& |* p4 i待续。。。
+ x% @  p2 u/ {) L+ ?( p2 b1 i  g' [  _

+ M. D% R9 v, A6 y! l: N
& Q: A, \( l5 n0 i0 c# T

点评

期望置顶,已做地址转载...  发表于 2013-9-19 17:34

评分

参与人数 2贡献 +10 收起 理由
xiaofan1979 + 5
wanghanq + 5

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏4 支持!支持! 反对!反对!

0

主题

219

帖子

4070

积分

五级会员(50)

Rank: 5

积分
4070
推荐
发表于 2013-9-16 10:37 | 只看该作者
基本上從Example中的10個範例,已經可以當作參考來學習.建議先了解這些範例.
# ?$ R( G' m' B- A5 q4 u0.        Hidden comments strings
5 f# @' A* e( O  zIsComment And (Hide = True)2 e9 E& O+ b  e: Y2 E
1.        Locked components: `& q5 p# t# Y* l0 d7 _% Z
IsComponent and (Locked = True)
$ n& x# Y' B, N: S2 G* l2.        Pads and vias with a hole size between 15 and 306 ~1 t% [9 g- Q/ A/ ^1 L
(IsPad Or IsVia) And (HoleSize > 15) And (HoleSize < 30)- ~0 {: W( D, E+ x- S
3.        Teacks less than 2 units long* H. ?8 s0 _+ C7 W0 [& I
IsTrack And (Sqrt(Sqr(X1-X2) + Sqr(Y1-Y2)) < 2)1 {6 ^8 p! h6 G" d1 _
4.        All testpoints3 d  l4 a7 z3 I; e6 V
(TestPointTop = True) Or (TestPointBottom = True)4 N- a6 [' v3 T0 x
5.        Component track and arc silkscreen primitives( G, o# }  n& c. ]5 o
OnSilkscreen And (IsTrack Or IsArc) And IsComponentPrimitive
$ K( K) [* s: d6 f; Q6.        Components not on a 5 mil grid
; u. B- I3 a# s- K0 c* N! }8 F' eIsComponent And ((Frac(X1/5) <> 0) Or (Frac(Y1/5) <> 0))
4 S3 {8 `0 M: D. r3 m7.        Signal layer tracks at an odd angle
- {3 Q; u; @! _Not(IsHorizontal Or IsVertical Or IsOblique) And IsTrack And OnSignal, E7 A4 Z" W1 d4 e2 h
8.        Top signal layer keep objects7 _, _. @' Y9 y2 s" z2 x( _; P3 g
IsKeepout And OnTopLayer
) E( m5 M  U& W9.        Non-horizontal designators  ]! R! z( ]% _8 W) g# p3 c
IsDesignator And (Rotation <> 0) And (Rotation <> 360)

评分

参与人数 1贡献 +5 收起 理由
wanghanq + 5

查看全部评分

0

主题

1829

帖子

2213

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2213
11#
发表于 2016-10-21 15:25 | 只看该作者

2

主题

42

帖子

194

积分

二级会员(20)

Rank: 2Rank: 2

积分
194
10#
发表于 2015-10-28 13:12 | 只看该作者
哈哈,这个正是在下几年前发表的一个原创帖子,很荣幸被转载引用到EDA365论坛上。EDA365论坛是我非常喜欢的为数不多的几个论坛之一。希望抛砖引玉,大家发掘出更多更好的软件特性,方便大家使用。

4

主题

88

帖子

223

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
223
9#
发表于 2015-10-22 18:06 | 只看该作者
非常给力

0

主题

17

帖子

68

积分

二级会员(20)

Rank: 2Rank: 2

积分
68
8#
发表于 2013-10-5 21:04 | 只看该作者
{:soso_e179:}

6

主题

100

帖子

1655

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1655
7#
 楼主| 发表于 2013-9-22 17:59 | 只看该作者
论坛的高手进来吧,自己顶。

49

主题

210

帖子

2288

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2288
6#
发表于 2013-9-21 08:12 | 只看该作者
好贴,支持下

17

主题

425

帖子

9345

积分

六级会员(60)

Rank: 6Rank: 6

积分
9345
5#
发表于 2013-9-21 00:04 | 只看该作者
好贴,支持下!

5

主题

222

帖子

555

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
555
4#
发表于 2013-9-20 23:18 | 只看该作者
不错,很受用,支持高手发言交流经验

15

主题

1136

帖子

6571

积分

EDA365版主(50)

Rank: 5

积分
6571
3#
发表于 2013-9-19 17:33 | 只看该作者
本帖最后由 wanghanq 于 2013-9-25 20:22 编辑
2 Y1 a/ [3 l' H  S/ h- h. q+ u
, Q( b7 X  s0 Z6 G5 Yad10中怎么一次性删除所有走线和过孔还有铜皮% W4 j. }' ?: T0 U/ g- S
https://www.eda365.com/forum.php?mod=viewthread&tid=92090&fromuid=41695 I( i( g. {: ^& P1 T* n# p

9 X( b1 [. i/ _' V1 I1 h8 h
icm:
9 R6 ]/ c: x/ I! @1 K; v1 fPCB Filter Panel填入以下語句
8 K0 n/ o  a5 l9 b( f# ?((IsPad and Not IsComponentPad) or IsVia or IsPoly or IsRegion or IsTrack or IsArc or IsFill) and OnSignal8 ]9 I( W( m- f, b
點擊Apply 接者 Delete.
" i! q$ F) N3 k
1 R; ~2 q" O, G

  e8 ?/ b' C1 q- M
ttgoer :
  N; x8 b  e3 S3 A0 r6 n给不懂语法的同志:; B% T- _6 O' K- @- K) f1 \
很简单的,S--free objects,deltete...就可以全部删除所有的走线。
5 {0 ?2 G" ?" A* d& x不过,你可能需要先作以下一些操作,如果有相应顶目的话:+ N( ?8 \' Q. H1 k; Z
1、关闭KO,TO,BO(防止删除相应层的板边框,丝印线)
) }6 e3 D, y# {% e3 z6 m( f2、把所有的PAD HIDE(防止删除定位孔)

! T/ p7 \: I8 G( B2 Z4 Q# z- L1 O
业余,多多指正指教。

6

主题

100

帖子

1655

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1655
2#
 楼主| 发表于 2013-9-16 11:25 | 只看该作者
icm 发表于 2013-9-16 10:37: ~: \! q, ^1 s- g# e" V: O. s. P
基本上從Example中的10個範例,已經可以當作參考來學習.建議先了解這些範例.
6 i8 K4 X* V/ p6 U5 n2 l3 E6 L) }0.        Hidden comments strings& ]/ T9 j* N3 |7 W- R( Q, a
...

- g* p; Q$ \% ]1 r/ f2 _7 {" I非常感谢你的支持,相信会有更多坛友会受益于此。

6

主题

100

帖子

1655

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1655
1#
 楼主| 发表于 2013-9-14 23:04 | 只看该作者
沙发备用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-12-15 00:42 , Processed in 0.068227 second(s), 37 queries , Gzip On.

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

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

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