您的位置:首页 > 其它

HyperWorks 集成桌面环境下二次开发【一】----基础

2013-05-29 10:47 246 查看
在HyperWorks Desktop中使用tcl/tk进行二次开发,所有命令都是面向对象的,命令格式如下:

{object_handle_name} {command} {commandparameter(s) }

HyperWorks中Tcl\TK命令分为四大类,用于操作HyperWorks中各项数据。

Ø Handle Commands

获取与其他对象的联系,Handle Command中含有一个Get前缀与一个Handle后缀。例如:

Tcl> hwiGetSessionHandle sess1

Tcl> sess1GetProjectHandle proj

命令的参数对一个参数为目标对象的Handle Name,同时允许其他参数的出现。

返回值为目标对象的Handle Name

Ø Operation Commands

执行操作或者测试

例如:

Tcl> sess1CaptureScreen "jpeg" "myimage jpg"

Tcl> post1 AddMode1

参数:Command dependent

返回值:成功0,否则返回错误命令

Ø Property Commands

使用Get- 命令查询或者获取目标状态属性,使用Set-命令修改目标状态值。

Get Command

参数:Command dependent

返回值:状态值

Set Command

参数:Command dependent

返回值:成功0,失败返回出错信息。

Ø List Command

返回列表值,List Command 中有一个含有Get-前缀与-List后缀的命令。

例如:

Tcl> post1GetModelList

HyperWorks中的对象拥有不同的层级,hwi对象是最高层级,其对象都是自动创建的。hwi 命令提供了与HwiSession 目标以及其他一些更高层次应用的联系。目前HyperWorks早没戏运行中仅支持一个session,session对象可以通过下面的命令获取:

Tcl> hwiGetSessionHandle sess1

一旦获取了session 的handle,就可以用通过此handle获取Hyperworks数据库中的其他数据,数据层级如下图所示:



Wondows窗口通过下面命令获取,并赋予可更改的client type:

Tcl> page1GetWindowHandle win1 1

Tcl> win1SetClientType "Animation"

Tcl> win1GetClientHandle post1

window 的client type在被其他程序获取后不能后在改变,如果需要改变,需首先将client handle 释放,更改后,然后重新获取。

每一个HyperWorks命令对象支持下面的命令:

ListMethods
列出对象相关的所有命令
ListHandles
列出某些类型对象的所有Handle
ReleaseHandle
释放目标的命令
顶层命令hwi命令支持如下功能命令:

ListAllHandles

列出使用的当前命令的所有handle
OpenStack
Begins automatic handle tracking.
CloseStack
Ends automatic handle tracking and releases any handles acquired during handle tracking.
转载请注明,欢迎一起讨论学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐