Chip123 科技應用創新平台

標題: 抓了一個修改via size skill file沒有效果, 請高手指點 ... [打印本頁]

作者: motofatfat    時間: 2010-10-24 07:26 PM
標題: 抓了一個修改via size skill file沒有效果, 請高手指點 ...
如題:內文如下
- [8 P$ G& A! R  }6 X5 mprocedure( Main_Modify_Fun( ) 7 g) `3 o1 H/ i7 ?$ K) Z+ f
  prog( ( SizeField LIbField LayerField FormId )
7 v2 y) t% H: @+ s8 `+ ~
5 P2 @, |% t5 M        Size = hiCreateFloatField(4 _, C) a: ?' D' u6 U- [
      ?name 'Size% c" {* S% k1 _% u
      ?prompt "Size Offset(+/-):"
$ S" L, E8 H0 J/ F      ?value 0.1, H* |# m% _. ^/ ^
       ?defValue 0.1& u, y$ A1 ^; c
        ): P4 e6 P! K' s( p( f
3 `7 W  t6 E# s* U; Q9 X6 ~; W
        LibName = hiCreateStringField( ; M0 f# X5 V& p5 H( c5 n- q( U2 w
     ?name 'LibName1 o$ f4 a# V4 D+ j+ W. f2 A* p
     ?prompt "Library Name:". T( K- n4 a# _$ S; }
     ?value ""
/ z9 a1 P* s3 r3 g  L     ?defValue ""4 D! [: P1 C, c
        )$ L  ^  b+ l) ^

; O- n( ]; M5 t6 O& y! R        Layer = hiCreateStringField(
$ Z9 e/ \* \1 ?- @) e                   ?name 'Layer8 ~$ [' P" g$ [  l: I6 H
                   ?prompt "Layer Name:": Z& W" w# ~0 g6 Q5 n+ `# I
                   ?value ""
( E' e7 ]- {8 f3 q6 ~% B                   ?defValue ""# W' C2 ?* W& l/ ~
        ); C) j, T: e! t6 B
7 r/ j. r6 `3 I
        label = hiCreateLabel(
1 \  u2 l. i/ j* t0 S                   ?name 'Text4 @& d' i: e5 u' s' t* Q! u
                   ?labelText "  sizing via "3 {9 i! Q' y2 V
        )' f1 W/ y) S3 c* V" k
' f0 @0 j9 r0 _' p
        hiCreateForm($ b! i7 J+ b8 w5 I; ?
    'name
, w8 ^: u1 E6 A. @  S) u! B5 T4 H1 k    "Modify Via/Cont"
/ j$ I5 h; }  o  l   "Modify_Fun( name->Size->value name->LibName->value name->Layer->value)"
7 y  `% B5 [% J8 M% ]2 ?7 i    list( Size LibName Layer label)
2 @  c- S: @! n# w5 p     ""
$ C9 ]) r5 [) h% ^, S     ""
- _" G* `* r/ k6 Y/ ^: Z  M        )& Z) X& ], ?' J5 l8 R

0 A% t4 }! h& S5 b; ]3 S3 S( g, r; |; Q% T
    hiDisplayForm( name )
# \- q7 l) q$ O& t; Z& `
% B: P+ h% J' t; ]( U% x* I: l  r5 M ) ;prog  L7 ?2 n; M5 x
+ F/ E# o4 J! ~! ~$ @1 X
)
" P- O6 `. a/ L1 ~, ^  Y; D
0 }" z, _: [/ D5 b( F& m' c6 U+ u- i
) a% b$ Y# N% A% {5 Xprocedure(Modify_Fun(offset LibName Layer )* q0 `) c1 Z' v9 G& b; }
prog( ( cvId ObjList one two Cells LibId Shaps ll_x ll_y uu_x uu_y
" `& {$ w: G7 q         ll uu ): ?+ \1 d8 Z; |+ z- Y9 E; L

! {3 D! ]/ C+ C6 X5 ^     LibId = ddGetObj( LibName )
: u) E# Q4 z5 d9 s( ]     Cells = LibId->cells
" [! e* d! o" g
; w2 J' Z, b: p0 {/ x  W     foreach( one Cells
% R* W3 K9 I0 u/ h  F1 w) Q  cvId  = dbOpenCellViewByType( LibId one->name "layout" "" "a" ), q( t" {+ ]  V- h" W8 t
     Shapes = cvId->shapes4 }( T8 @. s" a8 w  m5 G- D
' X4 w1 p1 O  R* v  ~
   foreach( two Shapes
8 `. l. c0 _; ^( }2 _* W8 G   caseq(  two->layerName5 h. s: b5 i( T& B

  |7 X: H& A# |( x( L* r      ( "Cont"+ V5 R: }- ~& R: D& E

+ B; S, @8 ~1 Y     ll=lowerLeft( two->bBox )+ J) [; H( ~, l) S  h
   uu=upperRight( two->bBox )
( l; D9 R+ e$ G% i% P: r/ X$ A5 u      " s2 f" Y2 G. t
    ll_x = xCoord( ll ) - offset
  |7 A8 j! V0 T( J9 v) o- W( W   ll_y = yCoord( ll ) - offset
8 g8 j" e2 j% h8 I! U/ z" N. H                   5 T$ A" d) B. w1 ?9 ?
     uu_x = xCoord( uu ) + offset/ l& v4 B' o: D9 P
    uu_y = yCoord( uu ) + offset3 D$ ]# u  m6 H8 Q3 ]
  ! _& s; V( Z  P4 D0 h" {* f6 ~9 N
        dbCreateRect( cvId Layer list( ll_x:ll_y uu_x:uu_y ) )* M' k+ C& F# s" u  `
        dbDeleteObject( two )
2 b( s! G6 N+ J3 z% M4 l* F                    
& G6 l, m. ^3 a' {2 S7 e$ b) C       printf("%s------> ok\n" one->name )
2 }7 [6 ~3 A) c% Y$ {4 T
" |+ g1 k" |" L# P0 Z      ) ; end Layer$ S' h( f! ^, l, N! z9 t9 }
# U$ w2 t( k5 O
       ) ;case, a8 i+ U- ~+ L, Y4 E

( Q* K5 J: f! m, b     ) ; foreach two. J0 i# }* N8 W0 u2 P6 ^9 h

4 d2 d5 K6 ]: T  Q+ ?/ c   dbSave( cvId ): N" l8 R" K0 J4 j# j* V( |/ _
   dbClose( cvId )
9 v" ^; v* o! U  h- |  }
1 S8 V7 U" G. l    ) ; foreact one 7 [1 G/ z  K& ]# |- y
4 |( D8 g' _% J& Y/ g
): o2 k! [/ h  `2 g6 J8 D
);proc




歡迎光臨 Chip123 科技應用創新平台 (http://www.chip123.com.tw/) Powered by Discuz! X3.2