Tcl/Tk 命令与 C/C++的集成研究
梁伟杰,蒋科艺,吕剑锋
(军械工程学维修工程研究所,石家庄 050003)
摘 要: 针对 Tcl/Tk 脚本中需要调用 C/C++函数的问题,简要说明了 Tcl/Tk 命令的运行机理,给出了一
个使用 Tcl/Tk 命令来调用 C/C++动态链接库(DLL)函数的方案,并给出了将 C/C++ DLL 函数封装为 Tcl/Tk
C 库函数的解决方法。
关键词: Tcl/Tk 命令;Tcl/Tk C 函数库;集成
中图分类号: TP391 文献标识号: A
The Integration of Tcl/Tk Command and C/C++
Liang, WeiJie Jiang, Keyi Lv, Jianfeng
(Maintenance Engineering Institute, Ordnance Engineering College, Shijiazhuang 050003, China)
Abstract: Point at the problem of invoking C/C++ function in Tcl/Tk script, a simple instruction of running
mechanism of Tcl/Tk command was given, a project of using Tcl/Tk command to invoke the function from C/C++
Dynamic Link Library (DLL) was described, and a solution of encapsulating the C/C++ DLL function to Tcl/Tk C
Library function was present.
Keywords: Tcl/Tk command, Tcl/Tk C DLL, integration
1. 问题来源
基于虚拟现实的维修性分析评价系统(以下简称 VMSAS)是为适应产品无纸设计、分析、评审的需
要,以人机工效商业软件 JACK 为平台,由本单位进行二次开发形成的一个维修性设计分析评价系统,主
要功能包括样机建模、动作建模、维修仿真与检测、维修性分析与评价等。
VMSAS 的使用全过程涉及大量数据。为确保 VMSAS 满足并行设计和集成设计的要求,成为一种实
用、先进的维修性设计分析工具,能够与 CAD 系统、工程分析系统紧密集成,就必须要解决数据获取的
授权、数据一致的保证、数据的集成、提交、审核与批准等统一管理及权限等问题。
以上要求 VMSAS 与产品数据管理(PDM)系统进行集成。二者之间的集成方案如图 1 所示。
PDM系统
应用程序接口
系统集成接口
产品配置管理
产品结构管理
变更管理
文档管理
工作流管理
对象管理框架
RMS软件
CAD软件
Microsoft
Office
Adobe
Acorbat
VisView
VMSAS
系统
数据获取
样机准备
虚拟样机成熟
拆卸过程仿真
维修性分
析与评价
仿真过程分析
仿真过程记录
分
析
与
评
价
结
果
人机和
谐界面
人机交
互界面
虚拟场景生成
虚拟环境管理
拆卸过程控制
Oracle
产品基本信息
产品可靠性数据
产品故障信息
分析评价准则
虚拟设施工具等
产品CAD数据
维修性设计要求
虚拟人体模型
维修知识经验
维修资源模型
维修任务及其
仿真分析数据
图 1 VMSAS 系统与 PDM 系统集成框架
VMASA 以 JACK 系统为平台进行二次开发的,JACK 有一套应用程序开发接口(API)——JACKScript,
JACKScript 提供了对 JACK 场景进行有效控制的途径,可以使用 Tcl、Python、Lisp 三种语言进行交互以
及二次开发。我们以 Tcl/Tk 开发应用程序,以 Python 开发仿真脚本。选用 UGS PLM Solution 公司的
TeamCenter Enterprise 系统进行开发来管理 VMASA 中的数据。TeamCenter 系统中的应用程序接口 API 函
数都是以 C/C++语言开发的,以 DLL 文件形式提供给用户调用。故要在 Tcl/Tk 环境中调用这些 API 函数,
就要解决 Tcl/Tk 命令与 C/C++函数之间的接口问题。本文围绕这个问题进行讨论。
基金项目:国家自然科学基金资助项目:并行设计中产品维修性模型研究(编号:50005023),“十五”武器装备预
研项目资助。
作者简介:梁伟杰(1980.05~),男,汉族,硕士生,研究方向为维修性理论与应用。通讯地址:石家庄军械工程学
院六系维修工程实验中心,050003。联系电话:0311-86879059。蒋科艺(1977~),男,汉族,博士生,
主要研究方向为虚拟维修仿真以及应用。吕剑锋(1981~),男,汉族,硕士生,研究方向为维修性理论
与应用。