4.2 介入诊疗器械CAD系统Access数据库的应用设计
我们利用UG/open API在Visual C++环境下进行CAD系统开发设计,采用的数据库管理系统是Access数据库。而在开发的系统中,进行数据管理的主要内容是将用户通过系统界面输入的产品信息保存在数据库中,在用户需要的时候,从数据库中将需要的信息调出来使用。
在开发的数据管理程序中应该包含windows.h、SQL.h、SQLEXT.h、SQLTYPES.h等头文件[4]。下面列举一个对数据库catheter.mdb中零件尺寸表进行提取数据的实例,来说明数据库的操作方法。尺寸表存放的是一直导管的尺寸信息,零件的关系模式(D1,D2,L,材料),其相关程序代码如下:
entern“C”DllExport void ufsta(char*param,int*returncode,int rlen)
{
SQLHENV hnev; //声明环境句柄变量
SQLHDBC hdbc; //声明连接句柄变量
SQLHSTMT hstm; //声明语句句柄变量
SQLRETURN sqlreturn; //声明ODBC函数返回码变量
SQLREAL sD1=0, sD2=0, sL=0; //定义sD1,sD2,sL为实型变量
SQLCHAR szMAT[16]; //定义字符数组,用于为材料赋值
SQLINTEGER cbD1=0, cbD2=0, cbL=0, cbMAT=SQL_NTS;
Int errorCode = UF_initialize(); //访问许可
If (0==errorCode)
{
//申请环境句柄
sqlreturn=SQLAllocHandle(SQL_HANDLE_ENV,NULL,&henv);
sqlreturn=SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)
SQL_OV_ODBC3,SQL_IS_INTEGER); //设置ODBC版本为3.0
//申请连接句柄
sqlreturn=SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);
sqlreturn=sQLConnect(hdbc,(SQLCHAR*)”catheter”,SQL_NTS,(SQLCHAR*)””,
SQL_NTS,(SQLCHAR*)””,SQL_NTS); //连接数据源
//申请语句句柄
sqlreturn=SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt);
LPCSTR szsql=”SELECT Dl,D2,L,材料 FROM 零件尺寸”;
sqlreturn=SQLPrepare(hstmt,(unsignedchar*)szsql,SQL_NTS);
sqlreturn=SQLExecute(hstmt);
do
{
//为结果集合列指定存储变量
sqlretum=SQLBindCol(hstmt,l,SQL_C_FLOAT,&sD1,0,&cbD1);
……
sqlretum=SQLFetch(hstmt); //提取参数的值
}while(sqlretum!=SQL_NO_DATA)
SQLFreeHandle(SQL_HANDLE_STMT,hstmt); //释放语句句柄
SQLDisconneet(hdbc); //关闭与数据源的连接
SQLFreeHandle(SQL_HANDLE_DBC,hdbc);//释放连接句柄
SQLFreeHandle(SQL_HANDLE_ENV,henv);//释放环境句柄
errorCode=UF_terminate(); //返回许可
}
}
5 系统中数据库管理的应用实例
下面以介入诊疗器械最常用的介入导管为例,说明数据库管理技术在系统设计中的应用。如图4所示,首先在弹出的对话框中输入导管参数,确定后,将弹出导管的三维模型,并将此零件信息保存到数据库相应的表中。在工艺设计模块中,利用参数查询对话框可以查询系统在数据库中提取的零件参数信息,如图5所示。
图4 导管信息输入对话框
图5 导管参数查询
在进行导管模具工作零件设计时,如图6所示,系统首先在数据库中提取导管零件的有关尺寸信息和加工工艺信息,然后由参数驱动更新生成模具设计零件的三维模型,当点击口模按钮时,系统会根据提取的有关参数,自动生成口模模型,如图7所示。
图6 导管挤出模具设计对话框
图7 口模模型
6 结语
基于UG NX的介入诊疗器械CAD系统开发是一项复杂的工程,为了保证CAD系统各模块应用的质量和应用效率,系统数据的管理显得十分重要。本文通过ODBC访问外部数据库,保证程序能够与UG无缝集成,符合UG二次开发的思想,使系统具有很强的适应性和可移植性,延长了软件的生存期,也为其它产品的UG二次开发提供了参考。
参 考 文 献
1 孙福玉.介入诊疗材料及器械.中国新材料产业发展报告(2004),2004.
2 董正卫,田立中,付宜利.UG/OPEN API编程基础.北京:清华大学出版社,2002.
3 文新龙,邵庆.开放数据库互连(ODBC)技术与应用.北京:科学出版社,I997.
4 袁鹏飞.SQL Server 7.0数据库系统管理与应用开发.北京:人民邮电出版社,2000.