セルビューのインスタンスを得て、操作を行う。
カレントセルビューを得る
(setq cv (geGetEditCellView)) ; または (setq cv (hiGetCurrentWindow)~>cellView)
セルビュー cv から、セル名が "SC_NAND3_NF8" であるインスタンスを取得する
(setq nand38s (setof i cv~>instances (equal "SC_NAND3_NF8" i~>cellName)))
セルビュー cv から、インスタンス名が "IDATABUF" で始まるインスタンスを取得する
(setq dataBuffers (setof i cv~>instances (rexMatchp "^IDATABUF" i~>name)))
セルビュー cv から、X座標値が 0.12 未満であるラベルを取得する
(setq leftLabels (setof s cv~>shapes (and (equal s~>objType "label") (lessp (car s~>xy) 0.12))))
セルビュー cv 中にあるラベルで、ラベル名が "VDDA" または "VSSA" であるもののラベル名の末尾にコロン ":" を追加する
(foreach powerLabel (setof s cv~>shapes (and (equal s~>objType "label") (member s~>theLabel '("VDDA" "VSSA")))) (powerLabel~>theLabel = (strcat powerLabel~>theLabel ":")) )
セルビュー cv 中にあるパスまたはパスセグで 幅が 1.50 であるものの幅を 1.52 に変更する
(foreach powerLine (setof s cv~>shapes (member s~>objType '("path" "pathSeg"))) (when (eqv s~>width 1.50) (powerLine~>width = 1.52) ) )
インスタンスinstの位置を (2.0, 3.0) に変更する
(inst~>xy = 2.0:3.0) ; または (dbSetq inst 2.0:3.0 xy) ; または (dbSet inst 2.0:3.0 "xy")
インスタンスinstの回転を行う
(inst~>orient = "R90") ; または (dbSetq inst "R90" orient) ; または (dbSet inst "R90" "orient")
参考: 回転角の定数
定数 | 意味 |
"R0" | ライブラリにおけるインスタンス定義そのままの配置 |
"R90" | ライブラリにおけるインスタンス定義を反時計回りに 90°回転させた配置 |
"R180" | ライブラリにおけるインスタンス定義を反時計回りに 180°回転させた配置 |
"R270" | ライブラリにおけるインスタンス定義を反時計回りに 180°回転させた配置 |
"MX" | ライブラリにおけるインスタンス定義をX軸反転した配置 |
"MXR90" | ライブラリにおけるインスタンス定義をX軸反転し、さらに90°回転させた配置 |
"MY" | ライブラリにおけるインスタンス定義をY軸反転した配置 |
"MYR90" | ライブラリにおけるインスタンス定義をY軸反転し、さらに90°回転させた配置 |