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& D
procedure( 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 'LibName
3 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