基于Web的可参数化开放式零件库系统开发
2013-10-17韩青金孙文磊袁逸萍
韩青金,孙文磊,袁逸萍,何 丽
HAN Qing-jin,SUN Wen-lei,YUAN Yi-ping,HE Li
(新疆大学 机械工程学院,乌鲁木齐 830047)
0 引言
随着网络技术的不断发展和企业制造业信息化建设的不断完善,网络零件库系统发展迅速,但是在应用过程中存在扩展方面的不足,用户只能使用已经预先建立好的零件库,无法调用常用但零件库不存在的零件,并且面对常用设计资源,用户无法自主向零件库添加资源并建立自己的零件库。如何在系统数据结构上实现开放性,在不更改系统结构和源程序的情况下使零件库实现动态扩充,建立可参数化的开放式零件库是本文研究重点。
本文即以CATIA V5 R20为平台,以可参数化开放式零件库系统构建为研究对象,阐述了CATIA二次开发实现过程,设计了新的系统数据库结构,通过研究参数化技术、ADO.NET技术、数据库并发控制技术,并以Microsoft Visual Studio(C#)为开发环境,以SQL Server2005构建数据库,构建了一个任何设计人员都可拥有并且有自主管理权限的开放式零件库系统,很好地实现了相应功能。
1 系统总体构架
Web零件库体系结构基于B/S模式,包括用户层、逻辑层和数据层。所有的系统开发,维护在服务端就可以完成,用户只需安装VRML插件后通过网页浏览器登录系统就可以经由页面的导航链接访问各功能页,享受服务端提供的服务。系统总体框架如图1所示。
图1 系统总体架构
2 可参数化零件库设计
2.1 基于CATIA V5 模型参数化
参数化设计是由参数和约束驱动模型,通过修改参数值,实现模型修改和联动的一种先进设计理念[1]。在参数化建模过程中引入知识工程,把产品的设计知识用知识工程原理表达出来,提高设计效率[2]。此外,我们采用CATIA Automation API技术对CATIA进行二次开发,其实质是调用外部应用程序与CATIA之间的接口CATIA API,通过根对象APPLICATION访问CATIA中的所有对象[3]。在.NET平台下引用由CATIA API提供的MECMOD.dll、INFITF.dll、PARTITF.dll、KnowledgewareTypeLib.dll 这4 个DLL 文件,利用C#语言程序调用各功能函数,实现CATIA操作,如参数化驱动、导出 WRL 文件等。
2.2 零件库的组织结构
在零件库系统中为了方便数据的处理及显示,我们采用了统一的三维模型文件格式—WRL格式,利用VRML浏览器(文件格式为wrl)插件结合HTML语言中的OBJECT标签嵌入到网页中进行动态显示浏览三维模型文件[4]。对于系统数据对象采用统一标准的格式对数据对象进行存储。并以“零件模板+参数信息表”为模式构建数据,并结合事物特性表,完整描述零件资源信息。
为了对零件库海量资源能够进行快速而准确地检索和重用,我们需要制定一套能够方便存储、快捷提取数据,提高系统管理效率的编码方案。根据系统自身特点我们选取当今比较流行的平行编码方案。从编码中我们可以了解资源的分类、零件供应商等基本信息,增加零件的可重用性,提高计算机的处理速度[5]。如图2所示。
图2 编码方案
分类码包含四个层次:依次为零件资源所属库别代码、二级、三级、四级分类码,也就是说每个大的零件分类下设置四个子节点,每个级别码位都是可变长。
另外我们为每一个供应商提供一个编号,即供应商代码,便于资源的提取。通过编码,我们为每一个零件分配了一个唯一的零件编号。
2.3 零件库数据系统的建立与控制
系统采用SQL server 2005数据库管理器管理零件库资源信息。包括:1)建立系统用户表,管理系统用户信息。2)建立已建自定义库用户表,可以方便快捷的了解自建库情况。3)为每个用户建立访问控制表,此表规定其他用户对自己自定义库能否访问和数据对象能够进行或不能进行的操作。4)建立零件资源分类目录表,储存零件的零件目录编号、名称以及下属分类信息,以方便系统快捷读取信息,为用户呈现一目了然的资源结构信息;5)为了保护知识产权,还需建立供应商列表,以方便用户了解资源的来源。6)建立零件信息表,储存三维零件编号、三维模型文件及浏览文件存储地址,驱动参数信息,零件描述信息。7)建立系统库及用户自建零件分类库代码,管理系统的零件库。8)建立零件参数表,储存零件参数信息。9)建立软件版本代码表,储存不同三维CAD模型建立时所用的软件版本。
图3 数据库关系表
另外本系统利用ADO.NET技术将具体的数据访问实现部分予以屏蔽,并通过其提供统一的数据访问接口[6],实现了对数据库的动态显示、添加、修改和动态删除等功能,构建了相应的动态数据库。另外为了保证数据库能同时为多个用户提供数据共享,保证全局数据库和局部数据的一致性,我们采用并发控制技术保证多个事务执行的可串行性和良好的并发度[7],以提升数据库管理系统的性能。
3 自定义库的建立
现代制造业分工越来越细,每一个设计人员设计资源、设计风格都不相同,面对海量资源如何利用,并能使用本系统提供的在线参数化服务,为自己的资源进行优化存储。这就是为用户建立一个拥有自主管理权限的自定义零件库,用户可以进行资源的上传、下载删除等管理操作,只要登录系统就可随时随地调用自己的资源。
3.1 建库思想
首先,建立自定义库时为了保证数据能够统一调用,自定义库所有数据表结构和集成库拥有统一的字段。其次三维CAD模型、三维模型文件等物理文件和集成库资源相同类型文件存储在相应的统一名称的文件夹内,在二级文件夹内分别以库名或用户名字来命名文件夹,以便系统的快速识别。同时为了保证用户对系统数据进行操作时保证系统文件和模板文件的不变性,所有模型文件的下载、参数化等操作都是先把模板文件复制到一个事先建好的临时文件夹内,在临时文件夹内进行模型的打开、参数化驱动、新的三维CAD模型和三维模型文件的生成以及文件的下载。
3.2 自定义库资源的交互访问
数据集成库与用户之间以及各用户之间的数据库都是相互独立的,如何实现他们的交互访问,实现数据的动态切换是必须解决的问题。为了实现用户的互访我们在系统中会有一个独立的页面来显示系统所有的用户,用户可以直接点击用户名来访问其他用户的资源,通过用户的权限控制来决定是否能成功访问,具体流程如图4所示。
图4 自定义库互访流程图
3.3 系统的安全机制
基于WEB的可参数化开放式零件库系统必须拥有一套完整的安全策略,防止对数据对象的非法访问、修改和下载;保证只有经过授权的情况下才能对数据对象进行操作。本系统将权限分为系统管理、零件浏览、零件搜索、零件的下载、以及零件的审查入库。采用自主访问权限控制和强制访问权限控制相结合,某些特定的资源系统可以采用自主访问授权控制,通过设置访问控制表来规定访客及用户对数据对象能够或者不能进行的操作。通过强制访问授权控制,以用户和用户组的方式来授予某个用户相应的权限,并且给予数据对象分别授予安全级别,只有当用户权限和数据对象的安全级别相适应时,用户才可以对数据对象进行操作。系统将用户分为访客,普通用户,系统管理员以及零件供应商。他们的权限如图5所示。
图5 不同用户权限图
4 系统实现实例
为了很好地展示所开发系统的可应用性,以系统的参数化功能页和自定义库管理页—上传页来作出系统实现说明;
4.1 自定义库管理页
在系统管理功能模块用户可以进行文件的上传、删除、修改,新零件库的建立等操作。我们以半圆头螺栓为例添加新零件资源,在左侧零件树分类中进行选择所属分类,选择螺栓,右侧相应父节点和目录码栏会自动显示名称及目录码,然后依次输入节点名称、模型文件版本、CATIA软件版本,如有错误可进行全部重置或区域性修改。完成后点击完成按钮即可上传。如果在左侧零件树中没有所属分类,先进行零件库创建,再按照上述方法进行资源添加操作。
图6 自定义库用户资源添加界面
图7 参数化界面
4.2 参数化页
在如图所示的零件库系统可参数化功能页中可以进行三维模型文件和二维图的在线浏览,并可以在线对三维模型进行参数化驱动。每一位设计人员可以根据需要对参数进行修改,然后程序驱动调用CATIA API,生成新的CAD模型和三维模型文件,并在客户端显示,完成参数化操作。
5 结束语
本文所构建的基于Web的可参数化开放式零件库系统,从设计人员实际需求出发,设计了更为完善的零件库及零件库数据系统结构,完成了每个设计人员都拥有自主创建和管理权限的具有很好开放性的用户自定义库的开发,设计人员可以在随时随地调用自己的常用设计资源,具有很好的实用性。另外三维模型的可参数化,大大提高了企业零件模型的可重用性和设计效率以及企业参与市场的能力,具有很好的应用前景。
[1] 李堂明.基于CATIA的开放式焊装夹具零件库的研究与实现[J].制造业自动化,2013,33(4):119-123.
[2] 王智明,杨旭,平海涛.知识工程及专家系统[M].北京:化学工业出版社,2006:3-6.
[3] 罗嵩,樊留群.基于Automation的CATIAV5二次开发关键技术分析与应用[J].制造业自动化,2006(28):4-7.
[4] 王宏伟,孙文磊,何丽.AJAX技术在Web零件库系统中的应用研究[J].制造业自动化,2011(12):113-11.
[5] 许静,纪杨建,等.大批量机械零部件分类编码方法[J].机械工程学报,2010(26):149-155.
[6] José A.Blakeley.The ADO.NET entity framework:making the conceptual level real[J].SIGMOD Record,2006,35(4):32-39.
[7] 张雪平,殷国富.协同CAD系统图档数据库并发控制研究[J].计算机集成制造系统,2005(8):143-148.