专题:iSIGHT界面和内部流程二次开发
要进行iSIGHT二次开发,我们可用高层的MDOL宏/API, 和底层的TCL/TK通用编程语言。----------------
iSIGHT是一个混合语言编程的杰作,其架构原理是这样的:6J |O!O mY(m0v
3M dR6Mg,YM,Q
1、iSIGHT 任务管理器界面和流程以TCL/TK为主;不要小看TCL/TK语言,它跨平台、内存占用小、图形界面功能也丝毫不差,象FLUENT, GAMBIT, NUMECA, ANSYS,ICEMCFD,CFX,Icepack等大型软件中全部或部分地使用了这种语言编写。
2.iSIGHT 文本解析器以Perl作为语言进行字符匹配和处理,但是你不需要定制这个部分。
.F s*J?WN&{
3. iSIGHT 算法实现为C/FORTRANcDnT'S4D
4 iSIGHT.NET分布调用模块以Java作为 语言,RMI作为调用通讯协议,你不需要定制它。
5. 在顶层,iSIGHT有MDOL宏和API;通常我们使用MDOL、API就可以操作iSIGHT中的对象了;在需要进行更多定制的地方,可在iSIGHT的MDOL脚本的任何地方嵌入TCL/TK语言块,进行更底层的操作。I8L4M!N!S
"sp+P"Ka&Wjs
(现在进行TCL/TK开发可以借助一些图形开发工具,比如用Visual TCL做编程工具,将它的代码稍做改动(主要是global变量申明和顶层图形对象变成isight) 即可嵌入到isight MDOL脚本的 Initialization块中了. 用google搜一下VTCL,Visual TCL,免费下载的)
qf_#|%nO6O x
----------------;NP)s*lx]4iB4A
下面付上TCL教程(共四个小文件):
Re:专题:iSIGHT界面和内部流程二次开发
TCL教程Re:专题:iSIGHT界面和内部流程二次开发
TCL教程Re:专题:iSIGHT界面和内部流程二次开发
TCL教程 .Re:专题:iSIGHT界面和内部流程二次开发
下面是API教程Re:专题:iSIGHT界面和内部流程二次开发
下面是一个多目标优化的弹簧质量系统 图形界面的例子,你可以学习如何编写自己的动态界面:Re:专题:iSIGHT界面和内部流程二次开发
下面是这个多目标优化的弹簧质量系统 图形界面例子的程序代码和ppt说明“:Re:专题:iSIGHT界面和内部流程二次开发
下面是我自己编的小程序:时钟(timer)Re:专题:iSIGHT界面和内部流程二次开发
这是timer程序的源代码(你可以打开附件的.desc文件查看)---写一个tick()函数计时:-----M"qWa,y%h
Procedures Task1"KX/DOs6@6f
Tcl
proc tick {} {#s9g2|.Hj2VB?
global seconds hundredths stopped!Ho7|#UM%H]"I
if $stopped return
after 50 tick1D0n T#g"Eo:R\
set hundredths [expr $hundredths+5]
if {$hundredths >= 100} {P5RFI1lq
set hundredths 0
set seconds [expr $seconds+1]r?g`&v r
}
.test.counter config -text [format "%d.%02d" $seconds $hundredths]
}
End Tcl
End Procedures Task1#A+iyo3}\Je
zzXL{Jc
---再在初始化isight是生成图形界面的按钮和label,并且把按钮动作与tick()函数关联:C6x(g&eE%c,y