Chip123 科技應用創新平台

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

作者: motofatfat    時間: 2010-10-24 07:26 PM
標題: 抓了一個修改via size skill file沒有效果, 請高手指點 ...
如題:內文如下( f8 n6 {4 q  s
procedure( Main_Modify_Fun( )
9 H: b& z" w7 l9 @1 C. S4 p9 Z  prog( ( SizeField LIbField LayerField FormId )* Q  R1 e9 b6 `6 z8 R

% h% s7 I  P4 B% X8 J. ^        Size = hiCreateFloatField(
, x  o3 P; [, S, \      ?name 'Size4 {9 u; \) o4 a0 Y; v7 p. k# {0 c( t; z
      ?prompt "Size Offset(+/-):"
$ o4 `6 d; Y1 T      ?value 0.1
- w7 O3 ?5 \9 q& k       ?defValue 0.1, a+ N+ z- y1 y1 \5 c- n8 b
        )
( [9 N; H/ {% {
% E2 u7 E0 d' }4 v6 }5 c" s! B# c. I, F        LibName = hiCreateStringField(
4 V+ Y9 ?7 v! B/ x     ?name 'LibName
) T& b4 Z# ^' @# {7 p     ?prompt "Library Name:"% C; D3 S4 Q+ v$ o+ U4 D, }$ w, W* W
     ?value ""
2 Y$ S0 P$ E6 N$ D: c1 Y     ?defValue ""# {- q: s  j' W& m3 T% X$ H* W
        ), f, O2 ]7 F& s; m: w0 v3 |  P! G, G

9 u& O* w, \  ~1 C) @3 I        Layer = hiCreateStringField(
; j- P4 u& U/ R( c2 ~$ M) F                   ?name 'Layer
, s' g: Y  J. z3 e# b                   ?prompt "Layer Name:"
$ B% I1 }: a; |+ t2 b                   ?value ""
! I( ]" A3 J" @                   ?defValue ""0 b, T4 U. f; l5 x8 b
        ); e- W( L1 Y, H  T5 Y

7 k5 {4 c' V+ G1 b3 z2 M        label = hiCreateLabel( 5 N3 j2 P. f6 ^) z
                   ?name 'Text6 y5 `1 i. U, S
                   ?labelText "  sizing via "
) Y$ d7 s/ s' j4 f: Y        )
. x5 F3 p' {  s
  `& L7 f: u. B$ [4 w8 Y        hiCreateForm(5 S7 N% @) r2 b, p, n2 h' w. k
    'name - i6 j  B4 y" u' a$ m1 e% z
    "Modify Via/Cont"6 ?, j. e1 e3 y# _
   "Modify_Fun( name->Size->value name->LibName->value name->Layer->value)" ! S( G; F0 a# X6 G: K. n
    list( Size LibName Layer label)
; v- W( ]8 J+ e- N/ s     "" ) p. G8 O3 l: s8 C  z0 _
     ""
  C; h6 G2 ?, ~- [2 i        ). k& ?8 k0 G! M0 j$ H- g: X4 s5 d
# O: y2 Q9 |9 i( Z" m

5 o- Z" @6 E; \    hiDisplayForm( name )& I* V1 A4 _7 d7 ]( N$ `

6 y" p% h2 k1 R2 P  a ) ;prog/ _& B  a! F: Z* L$ g
8 c' U6 M& q' S! f
)% O& ?1 }3 d& j0 Z

# T4 t, B  U1 R( c
' U* C$ h% W* B- {' hprocedure(Modify_Fun(offset LibName Layer )$ O' ?( K9 P4 S' R6 C6 {; w
prog( ( cvId ObjList one two Cells LibId Shaps ll_x ll_y uu_x uu_y) T( U6 s1 j* C6 T$ }
         ll uu )
& e0 {" `, ?* l
8 v9 h) V5 D9 s# u0 p+ ~0 B     LibId = ddGetObj( LibName )
; U/ h" L; B1 p- x. P' x' L* Z, e     Cells = LibId->cells- L$ S* J0 j; x. K* u5 M
* Z5 {# @5 o* R
     foreach( one Cells $ y1 |4 K5 y" [% P, W  a+ Q( v
  cvId  = dbOpenCellViewByType( LibId one->name "layout" "" "a" )# c/ A0 D/ v1 S0 x" N* @0 @& {5 f
     Shapes = cvId->shapes
* o6 \# z% R6 f; C4 m/ B
$ f3 T0 F# n4 j7 X" k   foreach( two Shapes # B: R; w# @, L0 \" i7 R
   caseq(  two->layerName
. x# J0 U/ o) W7 N+ E4 Z( @* z$ P
      ( "Cont": v  J! j7 D( ?

- o4 p0 Y9 v$ {     ll=lowerLeft( two->bBox )
8 S/ C5 w4 `4 Y' ~3 J6 Q) \5 d) F5 D" n   uu=upperRight( two->bBox ). Z4 |  C# {. X. f6 y- N  i
      " @% l4 I0 D4 e
    ll_x = xCoord( ll ) - offset9 p$ W8 P6 l' S7 t$ z+ D8 `" I! d
   ll_y = yCoord( ll ) - offset
0 ]; ^" K( Q6 k/ K+ A& L                     a5 W, Y7 J: e* `$ X$ ]( I$ |
     uu_x = xCoord( uu ) + offset" E% F4 E7 a% o! X/ H
    uu_y = yCoord( uu ) + offset
: J. C! `  y* ~/ e! w  
$ g/ x3 r7 {/ F  F        dbCreateRect( cvId Layer list( ll_x:ll_y uu_x:uu_y ) )3 I9 i' M- }1 h$ l  @
        dbDeleteObject( two )9 \& m; A' w$ S0 a: J( j
                    5 b( ~& F1 z, g' K4 M
       printf("%s------> ok\n" one->name )& f. e; Q: U; M1 c
( H8 }/ |' G# K1 Z  E: j
      ) ; end Layer/ x7 M# H4 L9 {+ \

" h+ T" C( A5 k8 {) u# `4 h       ) ;case
3 @# F+ w, d0 ]8 J" T. F% M" N0 _  m9 e( `& d* J0 I" |$ D# i
     ) ; foreach two
' A9 `+ G' X; Y" Q3 c
* F9 A) A0 ^7 x+ n) d   dbSave( cvId )
) X* c: }1 Z% Y; p; E   dbClose( cvId )  t6 s+ Z# ^- f2 Z4 X9 l

+ @* }* k/ m+ W) i* ^& \9 F  d    ) ; foreact one ( j+ z7 X) P  L1 p

0 H+ q% a8 X% {8 Y- H" x8 w9 s)
' s7 q- c/ z7 H& T: o" e3 S2 E);proc




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