2009年2月24日星期二

给DIANA软件添加图标工具栏

DIANA是个功能强大的非线性有限元分析软件,但是不得不说其前后处理确实还有很大的不足,虽然现在和MIDAS公司有了一定的合作,但是,大概还没有全盘改进吧。
1年前,在认真学习DIANA软件的时候,鉴于以上原因,给其加了一个丑陋的工具栏。不过也算改进了一下。
这时候,得用到一个软件,叫Barnacle的。Barnacle软件是donationcoderSkrommel的作品(Skrommel做了不少有趣的autohotkey软件),基于Autohotkey编写的,可以给大部分的软件添加图标工具栏(比如内置的例子就是给windows自带的计算器加上自带的图标工具栏)。

用法大致如下,把Barnacle放到某个目录里面,在其Toolbars仿照calc.ini建立一个如最后的DIANA.INI文件,解读一下。
其中class=QWidget (这个是通过AUTOHOTKEY软件查到其DIANA的class的)
然后,逐一看图标的内容
[1]
tip=Von Mises
image=Diana\von.png
leftaction=Send,RESULTS CALCULATE VONMISES{enter}
rightaction=
middleaction=
代表了第一个图标的tips(提示),Image=Diana\von.png(图标的图片,我是在和Barnacle.exe相同的目录下建立Diana文件夹来存放图标的),leftaction=Send,RESULTS CALCULATE VONMISES{enter} (代表了左键点击图标时,发送的键盘命令,假如熟悉DIANA代码的话,就知道这个是代表了显示VON MISES应力图的),其他的内容可同理理解。

之后,运行BARNACLE,其会逐一调用TOOLBAR目录下有INI的各个文件,假如在BARNACLE运行后运行DIANA,则会调入此工具栏。

效果大概如下

付:Diana.ini的内容(png就不献丑了,可以上网再找些漂亮点的图标吧:)
[Settings]
class=QWidget
color=FFFFFF

[1]
tip=Von Mises
image=Diana\von.png
leftaction=Send,RESULTS CALCULATE VONMISES{enter}
rightaction=
middleaction=

[2]
tip=Deform
image=Diana\vd.png
leftaction=Send,VIEW OPTIONS DEFORM USING TDTX...G RESTDT 120{enter}
rightaction=
middleaction=

[3]
tip=Deform off
image=Diana\vd0.png
leftaction=Send,VIEW OPTIONS DEFORM USING TDTX...G RESTDT 0{enter}
rightaction=
middleaction=

[4]
tip=Displacement X
image=Diana\dx.png
leftaction=Send,RESULTS NODAL TDTX...G TDTX{enter}
rightaction=
middleaction=

[5]
tip=Displacement Y
image=Diana\dy.png
leftaction=Send,RESULTS NODAL TDTX...G TDTY{enter}
rightaction=
middleaction=

[6]
tip=Displacement Z
image=Diana\dz.png
leftaction=Send,RESULTS NODAL TDTX...G TDTZ{enter}
rightaction=
middleaction=

[7]
tip=Displacement All
image=Diana\d.png
leftaction=Send,RESULTS NODAL TDTX...G RESTDT{enter}
rightaction=
middleaction=

[8]
tip=Get crack
image=Diana\getcra.png
leftaction=Send,RESULTS GAUSSIAN EL.STCR1 STCRCK{enter}
rightaction=
middleaction=

[9]
tip=Present cra
image=Diana\cra.png
leftaction=Send,PRESENT SYMBOL{enter}
rightaction=
middleaction=

[10]
tip=+
image=Diana\+.png
leftaction=Send,PRESENT OPTIONS SYMBOL PLUS RANGE ALL{enter}
rightaction=
middleaction=

[11]
tip=triangle
image=Diana\sjx.png
leftaction=Send,PRESENT OPTIONS SYMBOL TRIANGLE RANGE ALL{enter}
rightaction=
middleaction=

[12]
tip=GET SX
image=Diana\getsx.png
leftaction=Send,RESULTS ELEMENT EL.SXX.G SXX{enter}
rightaction=
middleaction=

[13]
tip=GET SY
image=Diana\getsy.png
leftaction=Send,RESULTS ELEMENT EL.SXX.G SYY{enter}
rightaction=
middleaction=

[14]
tip=GET SZ
image=Diana\getsz.png
leftaction=Send,RESULTS ELEMENT EL.SXX.G SZZ{enter}
rightaction=
middleaction=

[15]
tip=GET rein SX
image=Diana\Reisx.png
leftaction=Send,RESULTS ELEMENT RE.SXX.G SXX{enter}
rightaction=
middleaction=

[16]
tip=All result
image=Diana\Resall.png
leftaction=Send,RESULTS LOADCASE ALL{enter}
rightaction=
middleaction=

[17]
tip=Cut
image=Diana\cut.png
leftaction=Send,VIEW CUTAWAY CURSOR /CURSOR BOTTOM {enter}
rightaction=
middleaction=

[18]
tip=Section
image=Diana\sec.png
leftaction=Send,VIEW XSECTION CURSOR{enter}
rightaction=
middleaction=

[19]
tip=Vx
image=Diana\vx.png
leftaction=Send,EYE ANGLE 0 0 1{enter}
rightaction=
middleaction=

[20]
tip=Vy
image=Diana\vy.png
leftaction=Send,EYE ANGLE 0 90 0{enter}
rightaction=
middleaction=

[21]
tip=Vz
image=Diana\vz.png
leftaction=Send,EYE ANGLE 90 0 0{enter}
rightaction=
middleaction=

[22]
tip=label off
image=Diana\loff.png
leftaction=Send,LABEL MESH OFF{enter}
rightaction=
middleaction=

[23]
tip=Contour
image=Diana\contour.png
leftaction=Send,PRESENT CONTOUR LEVELS{enter}
rightaction=
middleaction=

[24]
tip=Contour line
image=Diana\conline.png
leftaction=Send,PRESENT OPTIONS CONTOUR LINES{enter}
rightaction=
middleaction=