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

在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数据库中的其他数据,数据层级如下图所示:

HyperWorks 集成桌面环境下二次开发【一】----基础_第1张图片


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.


转载请注明,欢迎一起讨论学习。

 

你可能感兴趣的:(CAE)