关键词:介入诊疗器械 CAD UG ODBC 二次开发
中图分类号:TG662
The realization of data management in the development CAD system of the interventional medical instruments
Abstract: In this paper the data flow diagram and the gross structure of the CAD system of the interventional medical instruments are introduced. The key techniques in the development CAD system of the interventional medical instruments are studied. A new method of access external data base with ODBC technique in UG/Open API program was presented. Finally the application of data management in the CAD system is introduced.
Key words: Interventional Medical Instrument;CAD;UG;ODBC;Secondary Development
介入医学的发展有力地促进了介入诊疗材料及相关器械的开发。目前,介入诊疗器械成为世界医疗器械行业发展最快和效益增速最高的领域之一[1]。虽然介入诊疗技术已在全国范围内大力推广普及,但国产医疗器械的开发研制水平与国外相比仍存在较大差距,研制国产高质量介入器械及开发专用CAD系统是十分迫切和必要的。
UG是Unigraphics软件的简称,它是当前世界上最先进和紧密集成的、面向制造业的CAD/CAE/CAM一体化高端软件。我们在UG NX4.0软件平台下,开发了一套专用的介入诊疗器械CAD系统。在系统开发中,会生成大量的各种图形文件、信息文件和其它数据文件,对于这些数据的管理技术也成为CAD系统开发的关键部分之一。我们在介入诊疗器械CAD系统开发中,采用了在UG/Open API中访问外部数据
库的通用方法——ODBC,来实现系统数据的处
理和管理。
1 介入诊疗器械CAD系统数据流程设计开发的介入诊疗器械CAD系统,是以提高介入治疗器械零件产品的开发效率和研制水平为目的,所以,我们针对介入诊疗器械常用零部件的结构特点及零件加工工艺性,需要建立产品常用零部件库、标准件库以及加工工艺库等。利用软件工程学和结构化设计方法,从需求分析、功能要求、设计原则三方面设计系统数据流程图。
数据流程图一般采用自顶向下、逐层分解的方法,先把整个系统当作一个“处理功能”来看,画出系统的概图,然后逐层往下分解,逐步加入各种详细的处理功能。图1是介入诊疗器械CAD系统的顶层数据流程图,它确定了系统的的输入和输出。
图1 介入诊疗器械CAD系统的顶层数据流程图
2 介入诊疗器械CAD系统总体框架
系统总体设计的主要任务是确定系统的模块结构,建立系统的功能模块。根据介入诊疗器械CAD系统的设计要求,系统主要完成四个部分的工作:产品零件信息输入、工艺分析设计、模具与工装结构设计和工程图生成。介入诊疗器械CAD系统总体结构如图2所示。系统中每个模块都是独立的,可以分别编制程序实现。而各个模块之间则通过人机交互界面进行数据交换和传输。这样,既降低了设计开发的复杂性,又便于编程和系统的维护与扩充。
图2 介入诊疗器械CAD系统总体结构图
3 介入诊疗器械CAD系统开发关键技术
系统开发基于Windows XP操作系统,采用可视化编程工具Visual C++6.0对UG NX4.0软件进行二次开发。介入诊疗器械CAD系统是一个向导系统,以高端造型软件UG作为造型与开发平台,采用独具风格的UG/Open API接口编程技术和MenuScript菜单及UIStyler对话框集成技术,开发出完全集成在UG系统之中的介入诊疗器械CAD系统。在系统创建的库文件中,主要工作是创建三维参数化零部件库,主要开发步骤是在VC++编译环境下,利用UG NX二次开发工具,创建对话框、建立动态链接库、编制应用程序。另外还需在数据库管理系统中建立关系模式零件尺寸(如零件直径D、长度L、材料等),然后从UIStyler对话框中得到用户输入的零件信生成三维模型,最后将这些信息存入数据库中的零件尺寸表,其程序流程如图3所示。
图3 零部件库开发程序流程图
UG中几乎所有的几何特征都可以利用UG/Open API进行创建,在uf_curve.h和uf_modl_feature.h头文件中提供了许多访问、创建、编辑曲线和特征的函数,开发中利用了这里的大量函数,实现了零件三维模型的自动生成,主要有:UF_STYLER_ask_value(),UF_STYLER_set_value(),UF_CURVE_create_line(),UF_CSYS_ask_matrix_of_object(),UF_MODL_create_revolution()等[2]。
对于工艺库的建立,主要是通过工艺设计模块和零件加工模具与工装设计模块实现,功能是把选择工艺方案存入数据库,以及在数据库中提取产品信息完成模具与工装的设计。当然对于工程图生成模块也会有大量的数据表文件产生。
4 数据库管理技术的实现
UG软件自带了EXCEL数据库,但由于其功能有限,很难满足系统的需要,Visual C++提供了多种访问数据库的技术,包括ODBC、MCF、DAO、OEL DB、ADO等。ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API (应用程序编程接口)。ODBC API可以使客户应用程序能够从底层设置和控制数据库,完成一些高层数据库技术无法完成的功能[3]。
4.1 利用ODBC API操作数据库
ODBC提供了一套标准API用于访问数据库并提取结果,其核心是SQL。它定义了三种类型的句柄为SQL语句请求分配存储空间。它们分别是环境句柄、连接句柄和语句句柄。其中,环境句柄代表一个用来保存全局信息的存储区,一个应用程序只用一个环境句柄;连接句柄代表一个存储具体连接信息的存储区,每一个连接句柄只与一个环境句柄相连,一个环境句柄可与多个连接句柄相连;语句句柄代表一个存储某SQL语句信息的存储区,每一个语句句柄只与一个连接句柄相连,一个连接句柄可与多个语句句柄相连。
ODBC函数的主要功能就是将SQL语句发送到目标数据库中,然后处理这些SQL语句返回的结果。使用ODBC的基本步骤是:为ODBC分配环境句柄;分配一个连接句柄;连接到数据库;用SQL命令分配一个语句句柄;执行该命令返回结果集;断开同数据源的连接;释放ODBC环境句柄。