本帖最后由 dianzi1987 于 2018-6-26 12:36 编辑 ' t2 k( a, {; c7 {
' G4 t! u! |7 [+ n* G7 N, H& D2 i# K2 z
AD语法是精华,可以说,只有想不到的,没有做不到的。做好用过的语法可以添加到喜爱,按快捷键Y调用。当前用到的:
8 B; Z- y3 S J3 H5 i n- z目的1:是选中,然后按需要编辑。; s* B7 k. ~% ~8 o0 E. u
目的2:定义规则或者条件筛选, I8 L" Y6 K9 A
" N1 ]( s6 e% b
1.180度 0度 360度元件:IsComponent And(Rotation = 180)or IsComponent And(Rotation = 0)or IsComponent And(Rotation = 360) # a7 P. b, j0 r! i7 ~! R
2 .底层90度与270度元件:OnBottomLayer and IsComponent And(Rotation = 90)or OnBottomLayer and IsComponent And(Rotation = 270) 4 D, j- b5 Y) w+ G
3. 顶层90度与270度元件:OnTopLayer and IsComponent And(Rotation = 90)or OnTopLayer and IsComponent And(Rotation = 270) 4.非GND网络焊盘:(ObjectKind = 'Via') And (Net <> 'GND') OR(ObjectKind = 'Pad') And (Net <> 'GND') 5.顶层元件: IsComponent and OnTopLayer 6.底层元件:IsComponent and OnBottomLayer 7.顶层到3.3V层面的过孔:(ObjectKind = 'Via') And (StartLayer = 'Top Layer') And (StopLayer = '3.3V')
3 A" @5 r" L, P# U8.选取的封装决定铺铜类型,规则设置用: HasFootprint('USB4PIN') 9.选取某一焊盘:Haspad 10.板挖空与电气部分短路设置为允许的语法。 11.IsBoardCutoutRegion 12.选择不是standard的元件,用在BOM数量对照上。 (ObjectKind = 'Component') And (ComponentType <> 'Standard')
m! @9 n; t' U) p* N7 T2 J9 W) w' c
以下来自网友“星罗棋布”,是通过定义命令菜单实现的,相对麻烦一些。 只操作顶层走线的表达式为:expr=IsTrack and OnTopLayer|mask=True|apply=True. q- Y& G* K% i2 A" w
只操作底层走线的表达式为:expr=IsTrack and OnBottomLayer|mask=True|apply=True
& g0 \- Q9 k$ Z* ]% W( K只操作电气走线的表达式为:expr=IsTrack and IsElectrical|mask=True|apply=True7 w' Z u p b9 h
只操作过孔的表达式为: expr=IsVia|mask=True|apply=True3 j2 y5 i' I3 J9 {% `
只操作顶层元件的表达式为:expr=IsComponent and OnTopLayer|mask=True|apply=True 5 u4 H! U/ _! `' u3 m$ G1 s: G
expr,表达式;
) n+ u! l, Q% discomponent,对象是元件;/ i% N7 O! t. `5 m6 `1 X( n
and,并且;
4 @, P, g7 u) Wonbottomlayer,在底层;
' z* f( L: F1 S; wmask=true,进行掩码操作;5 E% k$ n0 Z1 Y
apply=true,应用确认。 3 K7 x' o+ R- a1 m* i" A9 H
|