2009年4月5日 星期日

LAKER 和 TCL

環境變數
取得環境變數:$env(環境變數)
example :
puts $env(PATH)
加上layout window選單
我希望我寫的TCL放在一固定目錄,任何目錄下開LAKER就會去source它,先給一各環境變數
譬如我在.bashrc加上export TCL_PATH="~/......./TCL"
laker.rc加上
[SourceTcl]
Source1 = $env(TCL_PATH)/demo.tcl
當開啟LAKER就會去找到正確的位置,這樣很方便

加上選單時我也用
$env(TCL_PATH)/demo.menu去取得了選單menu
gtAppendBannerMenu -windowType leoDsgWnd -file $env(TCL_PATH)/demo.menu

掛上選單還有一個方法,修改install_laker/etc/leoDsgWnd.menu,在Top這項加上一個選單

Menu Top
{
...................
...................
"LAYTOOLS" _X f.menu "LAYTOOLS"
}

Menu LAYTOOLS
{
"Bmp File to Layout LOGO" _B f.tcl "bitmap" "source bitmap.tcl"
"Creat Layout Cell from source" _C f.tcl "bitmap" "puts $env(TCL_PATH)"
"Gen Layout Device from source" _G f.tcl "bitmap" "source menu.tcl"
"Auto Creat Via" _V f.tcl "Via " "source creatvia.tcl"
}

這樣也可以
注意f.menu和f.tcl是指選單或是要跑tcl,f.separator則是分隔線

全域變數(::雙冒號)

set ::tclpath $env(PATH)

取得全域變數(一樣用$)

puts $::tclpath
source
$::tclpath/test.tcl

指定net(MCELL transistor)
lakerAttribute -index 1 -netName kk -glueNo 3
lakerAttribute -index 1 -netName kk -glueNo 2
lakerAttribute -index 1 -netName kk -glueNo 1
3,2,1代表S,G.D
取得滑鼠座標
lakerGetCurPos

1 則留言:

Unknown 提到...

您好
拜讀完您的文章
我有個Laker&TCL的問題可否請教您。
我的laker是 2020,我想在上面建個GUI,但是一值失敗。

我已經在laker.rc檔內source a.tcl
a.tcl內容
gtAppendBannerMenu -windowType lakerMasterWnd -file automenu.menu

automenu.menu內容
Menu AutoGenMenu
{
"UDDGen" _U f.tcl dummy "source AutoGenGUI.tcl"}

試了很多遍都無法在Laker Main Window產生GUI

還忘請您幫忙解一下,謝謝。

jacky33.chang@gmail.com