|
本帖最后由 這侽孓譙悴丶 于 2019-4-30 13:01 编辑 8 Q- r# J4 V* q5 t9 ^$ h
- axlCmdRegister("create_device" 'add_value_device ?cmdType "general")( m) e" h6 y2 \4 J, w5 N
- axlCmdRegister("create_device_batch" 'create_device_batch ?cmdType "general")2 M+ m, ?5 g% C# D8 n
- / ^6 q ]* h, x
- defun( create_device_batch ()
0 V8 E9 z0 G0 l; D# t - libFiles = getDirFiles("./")" @6 w9 m2 r0 I# ]3 L
- draFiles = nil9 Q. D/ t$ n5 P5 k
- foreach(libFile libFiles
$ @" k" G6 P, g$ t: e% ?) O3 j0 K7 z - when(car(last(parseString(libFile ".")))== "dra"( n/ H! e9 P; _: W2 B3 a- D$ G
- draFiles = cons(libFile draFiles)
8 ]# m8 n4 W4 R - )
$ t9 \$ ?' J v7 ~# W+ Z' A - )0 v/ U, v. ?8 c Y9 n9 |
- foreach(draFile draFiles
# y' h Y6 P2 v5 D y h" j3 H' t - axlOpenDesign(?design draFile ?mode "wf")
z% l, }" ]! U. L1 J- ~ - add_value_device()
9 d% ?* J. k+ ~" e - );end foreach
8 t) I6 O2 q7 @7 D. m - axlShell("unset noconfirm")0 X- p" Q1 \$ c2 Z; Q
- )4 b! c, J) @0 D/ I% A; \3 F' _+ i
. L" o2 E" R! Y4 P) B- defun( add_value_device ()
4 B1 L9 H2 j3 c6 ~' P$ \ - axlShell("set noconfirm")
5 q) O0 S/ D7 @% A: W - designType = axlDesignType(t)+ e+ b; T' r2 c9 V* g3 T
- case(designType$ A8 Q" e2 B. H; s% x- I) a7 L; ]
- ("PACKAGE". K6 B, A# h" ^6 M5 _ U
- crete_device_run(strcat(axlCurrentDesign() ".psm"))- Y1 _# ]/ M! m& s! u( H
- axlPadstackToDisk()2 W% j, G4 A' W
- )
4 i" L3 W, o1 J - ("MECHANICAL" 4 ~3 F# S. D# l: d6 ^
- crete_device_run(strcat(axlCurrentDesign() ".bsm"))
! u' p( M3 D( d! T: M - )
/ U" z2 L) Z% w- s - ("FORMAT"' D* C1 p- _ j! j/ Z; V7 V
- crete_device_run(strcat(axlCurrentDesign() ".osm"))
3 u1 Q2 Q& A) z% T; I - )2 y; e1 k8 C. F" |$ K
- ("SHAPE"/ O- j' }; S0 T) a; Q
- crete_device_run(strcat(axlCurrentDesign() ".ssm"))& k8 d8 ?: }; x
- )
# p: v ~) ^% D1 U! k/ M7 r - ("FLASH"
. y9 ~3 J, W- j4 S9 \' M - crete_device_run(strcat(axlCurrentDesign() ".fsm"))- k& T) o. t/ r% H
- )
- h0 A' W3 u' q* R* n% Y7 j8 s - )
% P5 {% P$ {+ }( i# ?! j9 t - axlShell("replay \"./create_device.scr\"") 5 ` `( z, q4 l: ?
- axlSaveDesign(?design axlCurrentDesign())
! f2 \1 G Q! ]+ \& n/ B- Y - axlShell("unset noconfirm")
" p/ G# ]. I- E+ e& t - )5 Q( e8 C. w' i8 n9 ~8 a( b
- ; x3 V. P; N" N# P% K5 h
- defun( crete_device_run (fileName)- ?& _( O2 K+ w/ h) e( U/ L
- saveScript = outfile("./create_device.scr")2 e5 ^" i' ?- H; g
- fprintf(saveScript "scriptmode +i +n\n")
1 o j L+ Z* |! o - fprintf(saveScript "version 15.51\n")
9 ~: T( V) m/ u# }( v6 H - fprintf(saveScript "setwindow pcb\n")- X9 J0 z" ]2 o5 u! z
- fprintf(saveScript "trapsize 666\n") f# X/ E2 e- m- x2 {0 ^
- fprintf(saveScript "create device\n")( \! m+ Z( `& v" H3 C4 z2 p, i. C
- fprintf(saveScript "setwindow form.crdevice\n")
y9 R R; i- X - fprintf(saveScript "FORM crdevice done\n")( y6 x9 C7 P. n* ~
- fprintf(saveScript "create symbol\n")
# W! g+ z9 ~% g% a/ W8 m - fprintf(saveScript "fillin %s\n" fileName)
# ~. N3 `( R% a4 v; d+ M t. Q - close(saveScript)2 \5 q5 z1 e7 V( o7 s0 R
- )
0 ]- D) a; a& N, r$ ]0 ]
复制代码 该SKILL可以直接将器件封装的焊盘、DEVICE、SYMBOL一次性导出,device、symbol名与封装名一致。导出方法:
# O& k8 |9 n4 \- r1 V1.执行命令:create_device
, Y- W5 J. j! m2 s4 n5 M可导出当前器件封装的焊盘、DEVICE、SYMBOL
6 N9 l# B2 d, V6 v2 M/ h J, Q2 d# c+ Q
2.执行命令:create_device_batch! ]# ?" q8 p) V2 N
可导出当前封装目录下所有封装的焊盘、DEVICE、SYMBOL. R2 a/ k, j1 w @1 S, m9 a$ e7 R
; l9 Z+ O1 I* v8 l8 j" x( a
" h+ d* z- M* W5 U. m5 d |
|