
發(fā)布
注冊(cè)
/
登錄Tcl/Tk
關(guān)注創(chuàng)建者:cuckoo?? 創(chuàng)建時(shí)間:2018-06-26
Tcl/Tk的視頻教程
【轉(zhuǎn)需】HyperMesh 二次開發(fā)案例之基礎(chǔ)篇(一)
用戶可以根據(jù)自己的獨(dú)特需求利用Tcl/Tk語(yǔ)言結(jié)合這些API進(jìn)行HyperMesh二次開發(fā)。
免費(fèi) 37分鐘 481播放
查看
ANSYS Mechanical二次開發(fā)簡(jiǎn)介 ——經(jīng)驗(yàn)分享加實(shí)例展示
實(shí)例使用UIDL設(shè)計(jì)菜單,Tcl/Tk繪制輸入界面,APDL編寫核心算法。為了保證軟件的可靠性作者還用MATLAB編寫同樣功能的軟件計(jì)算解析解與ANSYS的有限元解對(duì)比,結(jié)果說明有限元二次開發(fā)方法結(jié)果可靠,并且可以將成本最小化。
免費(fèi) 53分鐘 430播放
查看
Tcl/Tk的實(shí)例教程
舉幾個(gè)簡(jiǎn)單的例子如下:
ans_sendcommand “$set,ansVar,$tkVar”
將變量tkVar的值傳遞給ans_Var
set tkVar [ans_getvalue PARM,ansVar,Value]
獲取ANSYS中的變量ansVar,賦值給tkVar
set tkArray [ans_vector ansArray]
獲取ANSYS中的數(shù)組ansArray
下面將編寫一個(gè)實(shí)際的例子,Tcl腳本creatplane.tcl代碼如下:
代碼1
代碼2
代碼3
代碼4
Tcl/Tk主要用于設(shè)計(jì)界面,APDL用于實(shí)際建模和分析,腳本文件寫完之后,可以在ANSYS中通過命令行運(yùn)行,運(yùn)行方式有三種,分別如下:
~tcl,’source creatplane.tcl’
~tk,’source creatplane.tcl’
~eui,’source creatplane.tcl’
注意需要將腳本文件放在ANSYS的工作目錄下,最終得到以下開發(fā)的窗口:
圖1
在對(duì)話框中輸入?yún)?shù)即可自動(dòng)進(jìn)行建模和計(jì)算,得到的模型如下所示:
圖2
計(jì)算后的結(jié)果為:
圖3
簡(jiǎn)單總結(jié)以下,Tcl/Tk在用于圖形化界面開發(fā)的時(shí)候比較好用,界面開發(fā)較為靈活,除了上面的這種簡(jiǎn)單界面的開發(fā),也能夠開發(fā)比較系統(tǒng)全面的界面,結(jié)合Tcl語(yǔ)言本身就能夠完成很多的工作,對(duì)于參數(shù)化過程非常方便。
展開 ,ALL
三、Tcl/Tk
Tcl稱為“工具命令語(yǔ)言”"Tool Command Language",是一種腳本語(yǔ)言。
結(jié)合Tcl/Tk和ANSYS的APDL參數(shù)化語(yǔ)言編寫螺旋結(jié)構(gòu)的參數(shù)化建模程序,程序完成后即可在ANSYS中運(yùn)行,運(yùn)行后會(huì)彈出編寫好的界面,通過設(shè)置其中的幾個(gè)參數(shù)即可實(shí)現(xiàn)一鍵參數(shù)化建模與分網(wǎng)。
編寫好的界面如下所示,可以對(duì)比界面中的示意圖設(shè)置其中的幾個(gè)尺寸,包括螺旋半徑R,螺距H,圈數(shù)N和螺紋的半徑Rr,設(shè)置完后點(diǎn)擊Creat即可快速創(chuàng)建模型。
Tcl/Tk開發(fā)HyperWork目錄樹
HyperWork的二次開發(fā)主要是HyperMesh(前處理)和HyperView(后處理的開發(fā)),用到的語(yǔ)言是Tcl/Tk和大量的API函數(shù),HyperMesh和HyperView的二次開發(fā)形式多樣,在HyperMesh里面比較簡(jiǎn)單的是利用宏文件開發(fā)按鈕,然后利用按鈕實(shí)現(xiàn)一系列的功能,當(dāng)然雖然只是簡(jiǎn)單的按鈕,卻也可以實(shí)現(xiàn)很強(qiáng)大的功能,甚至是整個(gè)完整的分析過程。還有一種是利用Process Studio開發(fā)流程樹。
除了自帶的這個(gè)開發(fā)工具,Tk本身也可以直接開發(fā)具有目錄樹結(jié)構(gòu)的系統(tǒng),主要用到treeview組件,下面就以一個(gè)簡(jiǎn)單的例子實(shí)現(xiàn)這個(gè)功能。
展開 Tcl/Tk: package require PWI_Glyph 2 # 建立 'pw' 命名空間
Python: glf = GlyphClient(port=0)
pw = glf.get_glyphapi()
2. Glyph 類名對(duì)于 Python 和 Tcl 都是區(qū)分大小寫的,因此名稱必須完全匹配。
3. 所有字形類都是頂級(jí)(“pw”)對(duì)象的有效屬性。
Tcl/Tk:pw::Application
Python:pw.Application
4. 任何公開靜態(tài)“創(chuàng)建”操作的 Glyph 類都可以使用語(yǔ)法“pw.GlyphClassName()”直接實(shí)例化。如果 create 操作接受參數(shù),它們可以像任何其他參數(shù)一樣傳遞(參見規(guī)則 8)。
Tcl/Tk:設(shè)置 con [pw::Connector 創(chuàng)建]
Python:con = pw.Connector()
5. 所有靜態(tài) Glyph 類操作都在等效的 Python/Glyph 對(duì)象上調(diào)用。
Tcl/Tk:pw::Application getVersion
Python:pw.Application.getVersion()
6. 返回 Glyph 對(duì)象的 Glyph 動(dòng)作被包裝在 GlyphObject 的實(shí)例中,該實(shí)例以與關(guān)聯(lián)的 Glyph 對(duì)象一致的方式起作用。在此對(duì)象上只能調(diào)用實(shí)例操作,并且沒有隱式充當(dāng)“setter/getter”方法(常見的 Python 習(xí)慣用法)的屬性。
7. Python/Glyph 對(duì)象上的實(shí)例方法被轉(zhuǎn)換為 Glyph 實(shí)例操作。
Tcl/Tk:設(shè)置昏暗 [$con getDimension]
Python dim = con.getDimension()
8.
展開 
Tcl/Tk的相關(guān)專題、標(biāo)簽、搜索
Tcl/Tk的最新內(nèi)容
7.2 二次開發(fā)生態(tài)升級(jí)
過去 HyperMesh 的二次開發(fā)主要用 TCL/TK 語(yǔ)言,雖然容易上手,但比較小眾,網(wǎng)上查找代碼資源不方便。
7.2 二次開發(fā)生態(tài)升級(jí)
過去 HyperMesh 的二次開發(fā)主要用 TCL/TK 語(yǔ)言,雖然容易上手,但比較小眾,網(wǎng)上查找代碼資源不方便。
<p>hypermesh擁有強(qiáng)大的二次開發(fā)功能,用戶可以利用Tcl / Tk語(yǔ)言進(jìn)行二次開發(fā),涉及自動(dòng)化腳本、界面按鈕添加、彈窗等,本次主要講述通過在Utility菜單的User頁(yè)面添加自定義按鈕,按鈕附加Tcl / Tk腳本,直接進(jìn)行用戶所需的特殊功能。
招聘崗位:二次開發(fā)高級(jí)工程師
薪資:面議
崗位職責(zé):
1.熟悉TCL/TK界面編程,開發(fā)中大型項(xiàng)目;
2.負(fù)責(zé)編寫hypermesh/hyperview自動(dòng)化程序,提升建模和后處理的速度和效率;
3.Linux系統(tǒng)下二次開發(fā)軟件的開發(fā)、修改、調(diào)試;
4.負(fù)責(zé)自動(dòng)化程序使用過程中的技術(shù)支持和優(yōu)化迭代,識(shí)別效率堵塞點(diǎn),提出迭代優(yōu)化方向并實(shí)施;
5.維護(hù)項(xiàng)目開發(fā)的正常運(yùn)行
color: rgb(35, 90, 166);">薪資范圍:</strong>面議</p><p class="ql-align-justify"><br></p><p class="ql-align-justify"><strong style="color: rgb(35, 90, 166);">崗位職責(zé):</strong></p><p class="ql-align-justify">1.熟悉TCL
將編輯完成的文件另存為tcl格式腳本,通過如下3種方式導(dǎo)入子模型縮減計(jì)算文件:
1)菜單欄File>Run>Tcl/Tk Scipt,選擇保存好的TCL腳本。
2)將TCL腳本用編輯器打開,全選復(fù)制粘貼在Command Window,回車即可執(zhí)行。
本文對(duì)包含工況較多的模型運(yùn)用tcl/tk語(yǔ)言開展基于Hyperworks二次開發(fā)的液壓支架等強(qiáng)度優(yōu)化設(shè)計(jì),對(duì)關(guān)鍵板件開展以應(yīng)力強(qiáng)度比最小為優(yōu)化目標(biāo)的獨(dú)立尺寸優(yōu)化設(shè)計(jì),求解出各自最佳的尺寸方案,之后對(duì)另一種模型高度進(jìn)行驗(yàn)算,最后應(yīng)用Hyperworks和nCode DesignLife聯(lián)合的方式對(duì)2種模型高度的疲勞強(qiáng)度進(jìn)行驗(yàn)算,優(yōu)化過程如圖1所示。
崗位職責(zé):
1.TCL/TK界面編程,專業(yè)相關(guān)功能編程;
2.軟件代碼修改與調(diào)試,WINDOWS系統(tǒng)下二次開發(fā)軟件的編寫;
3.負(fù)責(zé)軟件使用過程中的技術(shù)支持;
4.遵循開發(fā)流程,保證項(xiàng)目開發(fā)的正常運(yùn)行,嚴(yán)格確保整個(gè)項(xiàng)目通過測(cè)試要求。
或在HyperWorks CFD模塊的Template Manager創(chuàng)建Tcl/Tk命令流。這兩種方法都可以在后臺(tái)調(diào)用AcuSolve求解器,自動(dòng)劃分網(wǎng)格,提交計(jì)算任務(wù)和獲取響應(yīng)值。
Automation → Scripting → Record/Play錄制或回放Python腳本。
Tcl/Tk:設(shè)置 con [pw::Connector 創(chuàng)建]
Python:con = pw.Connector()
5. 所有靜態(tài) Glyph 類操作都在等效的 Python/Glyph 對(duì)象上調(diào)用。
Tcl/Tk:pw::Application getVersion
Python:pw.Application.getVersion()
6.