|
本帖最后由 XYX365 于 2012-12-27 07:54 编辑
8 ?1 Q- l! l* `, qmarco_ma 发表于 2012-12-17 23:32 ![]()
7 x9 T! s" o& T8 s' E嗯 ,这个方法是可以,但太慢了,如果很多器件都要改的话,一个一个太浪费时间了,我是觉得可能有SKILL可 ...
& v/ [ d- o8 X0 ], g$ H, j [- 8 ]( w ~( M( l: {7 E! c8 Z
- axlCmdRegister("mop" 'fnMoveOriginPin1): M) @2 M& R4 Q! P# f
; s3 c3 u" j# K- h+ g+ ~- procedure(fnMoveOriginPin1()
; s1 x8 @! `" a) D+ u - prog((tDesignType lAllPins dOne nOriginX nOriginY)
; e9 I- X# a! R! U3 j3 p/ v - tDesignType = axlDesignType(t)8 }" p/ M2 l0 g/ y8 e& J. R
- unless(tDesignType == "PACKAGE": d8 Z" L' w% I2 q; Q) F
- axlUIConfirm("The skill only run in package!") ; a$ C/ w [* a3 |
- return(nil)! _; O1 l. M+ R
- )* U2 k1 P; k8 T1 x6 ]
- axlVisibleDesign(t)
x7 P0 @' O, C2 z, |& S2 b - axlClearSelSet()
! W* Y. S( e( u* _) Z3 B - axlSetFindFilter(?enabled '("NOALL" "PINS") ?onButtons '("NOALL" "PINS"))
$ ]9 t4 l) B* k# \' @7 s4 P- o8 R0 ^ - lAllPins = axlGetSelSet(axlAddSelectAll())
. k, W/ A! ~7 j/ E3 _ ] - axlClearSelSet()
( }7 V' Z5 e3 u/ Y* h - foreach(dOne lAllPins" l* M/ f0 T3 J5 M
- when(dOne->number == "1"
4 p8 }- }( Q" \* j" Q5 y' p - nOriginX = car(dOne->xy)
2 a# w- ~ ?% W8 t% C, D - nOriginY = cadr(dOne->xy)8 l0 `# _9 Y* b6 d
- )* d' c1 m0 k: V/ Z' r3 e E
- )
" y; x( J- o9 |$ y. Y- I. G) C - : v' V) V; ~# L7 a0 m/ A, ?& L
- unless((zerop(nOriginX) && zerop(nOriginY))
C% t2 G! s6 X9 i/ G# V2 [. u - axlDBChangeDesignOrigin(list((- nOriginX) (- nOriginY))) 6 T/ t; w( T7 V D% N0 t3 e
- printf("Change Origin To (%L : %L)" nOriginX nOriginY)& y; b: t2 O1 H: [' M
- )
( C- F9 k! q8 N1 _+ L - )
# w9 U& y) x8 x2 a/ \, v7 Z - )
( C( t' ~: G" P% H" `% z7 C
复制代码
fMoveOriginPin1.zip
(523 Bytes, 下载次数: 28)
|
|