| |
/******************************************
* *
* Program : ycSetArraySize.il *
* Language : Cadence Skill *
* Author : YEUNGCHIE *
* Version : 21.01.05 *
* *
******************************************/
;;;BindKeys;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
hiSetBindKeys("layout"
list(
list("Shift<Btn4Down>" "ycSetArraySize(\"v\" 1)" )
list("Shift<Btn5Down>" "ycSetArraySize(\"v\" -1)")
list("Ctrl<Btn4Down>" "ycSetArraySize(\"h\" 1)" )
list("Ctrl<Btn5Down>" "ycSetArraySize(\"h\" -1)")
)
)
;;;main;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
procedure(ycSetArraySize(h_v number "tn")
prog((sel objs col row ori cmd)
unless(sel = geGetSelSet()
warn("Please select at least one object .\n")
return(nil)
)
unless(objs = setof(x sel member(x~>objType list("stdVia" "mosaic")))
warn("Apply to stdVia or mosaic .\n")
return(nil)
)
foreach(obj objs
case(obj~>objType
("stdVia"
col = "cutColumns"
row = "cutRows"
ori = obj~>orient
)
("mosaic"
col = "columns"
row = "rows"
ori = car(obj~>tileArray)
)
)
cmd = case(ori
(("R0" "R180" "MX" "MY") ;same as R0
case(h_v
("h" ;horizontal
strcat("obj~>" col "+=" artMakeString(number))
)
("v" ;vertical
strcat("obj~>" row "+=" artMakeString(number))
)
)
)
(("R90" "R270" "MXR90" "MYR90") ;same as R90
case(h_v
("h"
strcat("obj~>" row "+=" artMakeString(number))
)
("v"
strcat("obj~>" col "+=" artMakeString(number))
)
)
)
);case: obj~>orient
evalstring(cmd)
);foreach: objs
return(t)
);prog
);ycSetArraySize
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;滚轮同时增减 via 和 mosaic
/2