Chip123 科技應用創新平台

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

作者: motofatfat    時間: 2010-10-24 07:26 PM
標題: 抓了一個修改via size skill file沒有效果, 請高手指點 ...
如題:內文如下
' _1 f' X: s1 f9 U0 N2 E1 x6 c; D& Dprocedure( Main_Modify_Fun( )
1 A! o, V' m6 d- e9 j  prog( ( SizeField LIbField LayerField FormId )' E7 \, G- H7 L
4 _5 q6 R. d' h; D  @
        Size = hiCreateFloatField(
$ q8 \9 c9 f3 U1 I% |4 |$ Q9 L      ?name 'Size# n. |4 Z! z5 J
      ?prompt "Size Offset(+/-):"0 v# I0 f$ B$ x  d5 x& v3 |
      ?value 0.1
; x$ L, t* F$ @+ p3 j2 j       ?defValue 0.1
. W2 I% P7 g* K        )
" ?: }  A. f9 B' c7 n$ Q8 q( M) T4 a$ @: o
        LibName = hiCreateStringField(
: \/ S0 A% S4 E( m% B# R     ?name 'LibName3 N+ {% a, \  C$ m& F' o
     ?prompt "Library Name:"4 E. }4 V' F" o
     ?value ""
! O# \* q+ o7 S2 }     ?defValue "", h( c8 V+ C# \
        )* {# o4 S* ?! Q: p. h1 I

4 v( h7 @6 z( M1 {# w' i        Layer = hiCreateStringField(
0 T' n& ^. \0 a, `7 G0 R                   ?name 'Layer' y! q; _5 Q) f, P3 _
                   ?prompt "Layer Name:"
2 `0 r; [9 A1 J                   ?value ""6 y9 l0 Z: w5 m+ w- Y  x# ~; B/ B6 K
                   ?defValue "", z& {3 G7 n+ r& q: u; F
        )' J+ T* o; x, u

' y; Q' O+ ^) n1 f+ n' M) B        label = hiCreateLabel( . O) t9 e3 q2 \$ D
                   ?name 'Text
; Z8 i9 g- g% [! |1 y. Y& U9 y                   ?labelText "  sizing via ", j  s$ ~; H. j' s) _' c. X
        )0 }8 s, A6 A  l* T3 P  m6 t
1 U/ k+ N" @3 s8 u: c' t& _
        hiCreateForm($ H0 o3 X7 L* N7 I5 @& N. x+ W$ h
    'name / `8 x8 R2 X+ _  y
    "Modify Via/Cont"; |( C" }9 c6 R# |. o/ y* `
   "Modify_Fun( name->Size->value name->LibName->value name->Layer->value)"
; l0 m5 |! V& Z5 z1 F6 h    list( Size LibName Layer label) : h- q+ L  w7 x! {' O9 F! E
     "" 7 N' u) q' V0 o
     ""$ p3 j) t  R7 _6 A! r! Y
        )
8 R+ A1 c; q2 |' K9 e+ `  ~3 e* y
' T5 r$ T$ f7 Z* t) {. ^
% p1 T! {) a0 j5 f2 Z4 I    hiDisplayForm( name )2 J0 a5 z4 n" z# e5 p  i

6 c6 }' u" ?, ]& _. e) u/ { ) ;prog; j% m8 i" `0 s, l4 g
0 w( M$ u/ W1 H% |
)
  C! V% F+ w; N" \8 P) V; R( u3 q. ^
2 b; v; }9 k! W1 X# K
procedure(Modify_Fun(offset LibName Layer )5 U% l7 n3 y! Q5 l; V$ s6 Z2 d
prog( ( cvId ObjList one two Cells LibId Shaps ll_x ll_y uu_x uu_y
/ @' {8 V1 Z' m3 g/ c         ll uu ). ~3 S3 X2 B, O8 B
4 O! g/ ]/ z. O) I
     LibId = ddGetObj( LibName )
2 O+ f7 g: h2 B' k" x8 C     Cells = LibId->cells: q- t( H" G" ^% B1 h

6 r. s: L  y' H; F! t, `! Z+ I" X     foreach( one Cells   o* u  m% h; M
  cvId  = dbOpenCellViewByType( LibId one->name "layout" "" "a" ), m: m9 E8 }0 B/ j% Q. L
     Shapes = cvId->shapes
3 g* U# r/ W" v+ b# n, B/ y% `  z6 Q$ g
   foreach( two Shapes
2 y/ r4 `" E0 y4 F* a   caseq(  two->layerName
* `' G  r( ~" W7 N
- s7 {9 \' U) p! A      ( "Cont": |' k8 B& ~* T; t) O! ~
9 K9 g# G6 w# F7 Q' a
     ll=lowerLeft( two->bBox )8 }6 `9 D  B2 u3 [
   uu=upperRight( two->bBox )
( \, s, P$ H7 w, T2 Y" {& B      # t8 S' Y2 f/ D7 O2 |
    ll_x = xCoord( ll ) - offset
$ K1 I+ |" M5 ~2 l   ll_y = yCoord( ll ) - offset$ i5 i- J) c  E* J
                  
5 v2 |/ |( f) o; i+ x) q     uu_x = xCoord( uu ) + offset
" d, [5 E( T2 r- H$ v5 n6 X    uu_y = yCoord( uu ) + offset
- h' J" x2 v8 x+ J6 U6 X  6 ~# I! i7 R9 b7 p/ B: U
        dbCreateRect( cvId Layer list( ll_x:ll_y uu_x:uu_y ) )! C) J: m2 i) c! O9 B- R% }
        dbDeleteObject( two )2 i( J2 `: d$ U+ ~0 B
                    
% U5 \  l# Z& k9 u( }! z2 w       printf("%s------> ok\n" one->name )# K+ i6 z( |' G, L

6 H$ o& f9 m2 G, `* L      ) ; end Layer
* V. L9 t5 v& T5 O
$ @  ^8 O+ x' d       ) ;case
; X; y5 ~! y. g1 `2 d1 B# U( L( Z( i8 G8 O. a! B- b3 k& S" s+ \
     ) ; foreach two; v" J3 W* p- l4 \/ I
. q3 b5 c! h$ U' m7 _* Z
   dbSave( cvId )
$ S2 ]9 S0 L( e3 i1 R  s6 V   dbClose( cvId )
3 K2 V0 H+ X  ?/ P: s
! t, b. f: R( S( p' F' Z+ g7 E6 @    ) ; foreact one 3 R; W: ]$ G$ V3 R7 P
  _7 ^; |  I* X$ F" X, z, I
)4 S. s) v. ]! t5 [1 Z) _
);proc




歡迎光臨 Chip123 科技應用創新平台 (http://free.vireal.world/chip123_website/innoingbbs/) Powered by Discuz! X3.2