Chip123 科技應用創新平台
標題:
一個sKILL範列,切4邊行的角
[打印本頁]
作者:
12345
時間:
2007-12-8 08:23 PM
標題:
一個sKILL範列,切4邊行的角
最近才剛在看SKILL,cadence的pdf檔寫的好爛,一個leChopShape試好久才試出來,這是我最近寫的,還有註解
; A" j4 g& ]2 u3 j ~0 @6 K
/*
0 ?% B" T5 J8 s: [
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
7 w+ D& Q0 V: x
作者:Y.P.LIN
, o& Z8 e& l' F: B" }
File name : CUT.il
% X7 |8 J8 J4 j8 P; P
POP menu Write by nfmao
2 [) i2 Y4 \' e' v
Date: 2007.12.11
o2 h' W6 G. i! _" J" {
Ver : 0.01
4 P' @7 N, o0 @
用法:在icfb,load本sKILL(例如 load "CUT.il" ),再開一個layout,選取rectangle(可複選),按滑鼠中鍵(會跳初選單),再選chop
; ]' H) j4 O! }6 Z
參考:雷奧星空論壇(
http://www.armbell.com/forum/viewforum.php?f=13&mforum=iclayout
)
. @) n3 s( k* _, `! ]+ V
:中国集成电路教育网(
http://www.icedu.net/Article/shuzi/houduan/Index.html
)
2 h Y3 |8 H% z Q1 R
:cadence手冊(安裝目錄下/doc/sk開頭目錄)
, \+ j$ j+ B4 J A4 `* T, x
注:本SKILL還在開發中,目前只能切RECTANGLE的4個角
- W; w; V% Z: Y. x
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/ T! u* W' T0 ?% `/ ~3 Z
*/
# {1 y6 b/ W% E' X
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cut矩型的4個角;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
' R( ?$ _& N- z0 m5 `- r
procedure(getXY(xyBox) ;取得四邊行CUT點座標的程序
4 C" L! O |" f. r. |: t- O7 s
d=0.5 ;切的距離(自己設)
* r( @6 W, E# k4 K4 o7 s
x1 = car(car(xyBox))
' M9 [* ]! ^3 Q( g0 z
y1 = cadr(car(xyBox))
7 t& ]7 i3 v, _- L1 c6 n& n
x2 = car(cadr(xyBox))
1 f C/ b! l! F* C$ p4 S
y2 = cadr(cadr(xyBox))
* B( z# S% q( Y, B
cut1=list((x1:y1) (x1+d:y1) (x1:y1+d) (x1:y1)) ;cut lin1座標list(是一個封閉cycle)
0 G& U! H1 J) ?7 J/ T6 h
cut2=list((x2:y1) (x2-d:y1) (x2:y1+d) (x2:y1)) ;cut lin2座標list(是一個封閉cycle)
% S; {, Z5 [- `; r2 o) k& v4 U
cut3=list((x1:y2) (x1+d:y2) (x1:y2-d) (x1:y2)) ;cut lin3座標list(是一個封閉cycle)
# X+ o2 ^5 @, P% \
cut4=list((x2:y2) (x2-d:y2) (x2:y2-d) (x2:y2)) ;cut lin4座標list(是一個封閉cycle)
, S8 O" |( }5 f5 d7 ]
)
- e7 ]2 G% W, Y& @( ~
* U$ Y; D" d6 [" G( G" T# ?% p
procedure(chop()
* @) @, R$ c0 h+ Z! D
selobj=geGetSelSet() ;取得選的物件
2 u( g. e. w- ]
foreach(shape selobj ;把每一個物件逐一丟到shape變數
. ?. `. r% ]" z6 J# ~, }
;leChopShape( selobj list(0:0 100:100 ) nil nil 10 )
0 E( L2 M0 w6 B; b/ v2 F
selobjbox=shape~>bBox ;取得物件的BOX(指方形座標2點->list)
, D" X8 Z x5 p; S1 P
getXY(selobjbox); ;呼叫getXY程序,且給一個參數selobjx
2 v/ Y; t8 w+ Z- z
leChopShape( shape cut1 t t) ;cut一邊,第一個t只是一個封閉cycle,第2個t指移除(remove)
" g& N9 _ ~+ N$ P& k
leChopShape( shape cut2 t t) ;cut一邊
, h4 T7 W$ G2 v4 G# j
leChopShape( shape cut3 t t) ;cut一邊
# e* Y% V* V1 P( ~5 d8 d
leChopShape( shape cut4 t t) ;cut一邊
6 y' [' u) J9 G4 I, s
println(x1);
& Q3 j- B; K) A$ E
println(y1);
2 E0 ~: f" O7 [6 k. D7 U6 \& u
println(x2);
/ v4 W6 [/ S/ s( K/ p+ s
println(y2);
% Z; Y* s4 u& o% U8 e
);foreach
6 P* u5 \, q3 \4 |) N; E4 U
)
2 m" R( E% A/ A& J( ~5 g1 w
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;表單;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
' v8 C5 k+ K& ]. ?, s
trA_MenuItem = hiCreateMenuItem( ;menu項目1
- u( R" G3 ^9 d5 B3 d$ Y A- \4 m9 N
?name 'trA_MenuItem
2 b6 m0 d( e2 ^6 M
?itemText "chop" ;menu項目2標題
5 n5 [- X1 R4 H' a* {" W: u
?callback "chop()" ;;; prints B in the CIW ;選項後的動作(呼叫chop()程序)
, }$ W) _3 G5 R/ L* |+ i
)
+ l4 q c9 R$ ~' s$ K0 h4 H0 u
trB_MenuItem = hiCreateMenuItem( ;menu項目2
+ b* i) [$ H! |2 ]+ |! Y, j& ~2 B
?name 'trB_MenuItem
# A- `+ c& `2 G" v: x6 y
?itemText "Hello World" ;menu項目1標題
; Q1 q9 h2 \2 ^: M$ f$ X
?callback "println(word)" ;選項後的動作(在CIW視窗印出Hello World!!)
6 k# g" A& l. M* r) j0 w! v2 `
)
- e( i* ^& s2 f" V7 d* Y3 a
4 h7 L, g. U$ ]. W% j/ c* M
h. a" t/ g5 f) y5 |
procedure(trSimpleMenu() ;產生meun表單的程序
$ ]4 Z( ^5 o( P) X# }
let((simpleMenuID) ;宣告區域(local)變數
7 c9 F7 d0 l% \9 Z5 v
word="Hello wodr!!" ;字串變數
/ {" c! `+ y8 s
simpleMenuID=hiCreateMenu( ;產生一個menu
, }3 j7 u6 d8 e
'simpleMenu ;GLOBAL(ID)
5 |/ H' N0 ^2 `2 `: d6 R
"Simple Menu" ;標題
; a8 C/ G$ U* c; r6 T3 O K5 L2 I- k5 y
'(trA_MenuItem trB_MenuItem) ;LIST(表單的項目)
& K0 G' l7 t( d3 U5 P1 y" d8 F I: Y
)
+ p6 r7 _4 H+ C( A6 }3 Y* b. n
* q" g# S5 o4 V7 L& j- u/ N' |
hiDisplayMenu(simpleMenuID) ;根據menuID在螢幕顯示
" ?" i" Q+ G' l6 q. s; X' z; M- U
);let
/ K8 s5 l5 g0 M- w7 Z( b- R. M
);proce
( T# \1 {# z9 k3 D/ E
作者:
oiziyo
時間:
2007-12-10 08:30 PM
那麼勵害,
- y; \. v" `: U: J8 ]8 p
這可是高手啊,
- l, s: w. n/ b- p
這樣的東西可不是一般人可以做的到的
3 d: j; A5 u% v- `
謝謝分享
作者:
afor
時間:
2007-12-13 03:08 AM
原來還可以這樣用啊.....
) i6 G, a, [; }2 g( v9 ~, Q* h/ l
可惜都已經下線出去了,
4 {; e6 [) \" N' ]5 l& x2 w
謝謝大大分享實用的技巧
作者:
jling
時間:
2009-6-23 09:03 AM
正在找这个skill,网上这个资料好少啊,谢谢分享!
作者:
ryan1
時間:
2009-7-2 01:38 PM
好像不錯喔.來試試看囉.謝謝您的方享...............
作者:
sterling
時間:
2012-7-11 10:45 AM
謝謝啦謝謝啦 謝謝啦謝謝啦
作者:
loongsky
時間:
2012-8-23 03:10 PM
cadence有自带的切角工具嘛
作者:
a2763338
時間:
2014-2-17 04:09 PM
非常感謝 這部分目前需要做測試
作者:
pjh02032121
時間:
2014-3-24 02:40 PM
好不好用,我来试一试,多谢楼主。
作者:
blackcorrupt
時間:
2014-6-26 05:19 PM
謝謝分享囉, 來實驗看看
作者:
sheilamenuett
時間:
2015-5-6 04:53 PM
正好很需要,謝謝分享~
作者:
janus7799
時間:
2015-5-10 06:01 PM
正好很需要,超級感謝!
作者:
skeepy
時間:
2015-7-9 05:31 PM
ic5141 EDIT > Other > modify corner ,不會就按Help 看一下就會設定了。
作者:
hunky
時間:
2022-5-24 04:12 PM
太神啦,谢谢分享啊啊啊啊
; S1 D4 X2 F6 J0 W+ j( U9 B0 k
歡迎光臨 Chip123 科技應用創新平台 (http://chip123.com/)
Powered by Discuz! X3.2