e-works数字化企业网  »  文章频道  »  产品创新数字化(PLM)  »  CAD

基于CATIA的Web三维零件库系统开发研究

2017/6/19    来源:互联网    作者:韩青金  孙文磊  袁逸萍  何丽  王宏伟      
关键字:Web零件库  CATIA二次开发  ADO.NET数据库访问技术  
通过研究.NET平台下的CATIA二次开发技术、ADO.NET数据库访问技术,针对农业机械行业中标准化、系列化的零件三维图形,开发了基于CATIA的面向农业机械行业的Web三维零件库系统。系统采用B/S模式,完成了数据库的零件分类及数据存储设计,并在网络环境下实现了零件三维图形预览、零件在线参数化、三维零件资源的入库、零件下载等功能。论述了系统的总体设计方案、关键技术理论、功能模块设计,并给出了web三维零件库系统的实现案例。

    1 系统总体方案设计

    1.1 系统开发环境

    Web三维零件库系统开发是编程调试软件、三维CAD软件以及数据库系统的综合应用,其开发环境可概括如下:①编程调试软件:Visual Studio.NET 2008(以.NET FrameWork 3.5作为基础、IIs 6.0作为服务器,选用c#作为服务端语言、JavaScript作为前台脚本语言);②数据库软件:SQL Server 2005;③三维CAD软件:CATIA V5。

    1.2 系统总体框架

    Web三维零件库系统采用B/S结构,分为3层数据体系结构:数据访问层、业务逻辑层以及用户界面层。系统总体构架如图1所示。

    1

    图1 系统总体架构

    界面层的作用是用户可以在客户端浏览到数据以及可以输入数据,进行交互操作。用户通过键盘或鼠标发出各种请求(如输入搜索条件搜索零件、通过VRML插件在线交互浏览三维模型、修改零件参数实现参数化驱动、零件库资源上传/下载等),浏览器中的控制器把用户输入的数据进行接收分析,并检查用户输入的数据,然后根据用户请求执行相应的操作。如果一个用户请求不能得到解决,然后在客户端通过HTFP和网络接口与远程服务器进行通信把用户请求转由业务逻辑层进行数据处理。

    数据访问层和界面层之间的层面是业务逻辑层,对数据交换起到了连接作用。由界面层用户提交的数据和各项请求,经服务器接收及逻辑处理后,向数据库服务器发送SQL语句完成相应的数据操作,或利用CATIA程序访问接口调用CATIA应用程序和零件图形文件,并把操作结果逐级返回客户端。数据访问层位于零件库系统的最底端,它以数据表的形式存储了几何信息数据(驱动尺寸参数)、非几何信息数据(零件的描述信息),并存储了三维模型文件数据、VRML文件数据及STEP文件数据。

    2 系统开发的关键技术

    2.1 基于.NET的CATIA二次开发技术

    采用CATIA Au—tomation技术对CATIA进行二次开发,CATIA二次开发的实质是调用CATIA V5 API,它是外部应用程序与CATIA之间的接口,是多个函数与过程的集合。在CATIA Automation中,采用面向对象的方式将数据封装,在CATIA二次开发过程就可以通过根对象APPLICATION访问CATIA中的所有对象。

    在CATIA V5版本中,CATIA V5 API for.NET提供了约97个基于.NET平台的库文件(*.d11),对于web零件库系统的开发功能的实现,只需要在.NET平台下引用MEC—MOD.d11、INFITF.dll、PARTITF.d11和KnowledgewareTypeLib.d11这4个DLL文件,通过声明根对象APPLICATION以及这4个库文件的其他对象,就可以以面向对象的方式利用c#语言的语法调用各种功能函数,来完成CATIA的绝大部分操作,如生成VRML文件,对三维文件参数化驱动等。对于少数不能完成的CATIA操作,则可以利用CAA C++技术来扩充开发CATIA功能。

    在Web三维零件库系统开发中,在.NET平台下会利用C#语言以面向对象的方式编写完成的各种操作处理程序,来完成CATIA三维零件图形的各种操作:打开/关闭三维图形文件、零件参数化驱动、生成VRML文件、复制/删除等。

    2.2 ADO.NET数据访问技术

    ADO.NET是一种全新的数据访问技术。ADO.NET是为数据访问提供服务的类,它拥有丰富的组件来创建分布式、数据共享应用程序。ADO.NET作为.NET架构的一部分,提供了对关系型、XML和应用程序数据的访问(图2)。ADO.NET的类位于System.Da—ta.dll中。该技术支持很多开发需求,包括创建前端数据库客户端以及应用程序、工具、语言和Web浏览器使用的中间层对象。

    使用ADO.NET数据访问技术主要是减轻服务器负担。在ADO.NET连接模式中,当需要读取数据时系统会自动保持与数据库的连接,读取结束之后关闭该连接;在断开模式中,当需要更新数据库时,在服务器上保持打开连接会过多占用数据库服务器资源。ADO.NET所提供的离线访问模式,解决了该问题,数据从服务器发送出来,在客户端进行本地缓存。当用户准备更新数据时,把更新后的数据发送回服务器上对数据源上的数据进行更新。

    在Web三维零件库系统中ADO.NET数据访问技术,主要应用在在ASP.NET环境下访问网络数据库,实现数据库的查询、添加、修改及删除,并减轻服务器负担,提高运行效率,为用户提供更好的Web应用程序。

    2

    图2 ADO.NET基本结构

    3 系统功能模块设计

    3.1 零件在线参数化

    在零件库系统中,三维图形文件是以模板+参数的形式存储,这样可以减少三维模型文件的存储量,并能满足不同用户之间的需求。用户在浏览三维图形文件目录时,根据需要选择三维图形文件模型并查看详细信息,再根据图形规格决定是否进行参数更改。若不更改参数,直接下载模型文件;若更改参数,则由客户端提交新的三维图形参数值至服务器,在服务端完成参数化驱动然后再将结果传回客户端,然后用户再下载新的符合要求的模型文件口。

    在用户登陆系统中,在搜索栏中键入零件名或者从树形菜单中选择文件提交给服务器,服务端从数据库中读取相应零件的所有参数信息,并回传给客户端;用户在客户端根据自己的需要和系统的要求修改参数值,并将修改后的数据提交给服务端;服务器利用CATIA二次开发接口函数启动CATIA应用程序,调用库中三维零件模板和服务器接收的参数值,实现零件在线参数化驱动;同时,在服务器端保存新零件的模型文件(*.CATPrt),并导出零件的VRML文件(*.wrl);最后,服务器将参数化驱动后的新零件的VRML文件更新到客户端供用户浏览,而存于服务端的模型文件提供链接供用户下载。

    3.2 三维图形预览

    为了保证用户选择的正确性,尤其是对典型零件的选择,系统应该提供在Web页面上预览三维零件模型的功能。VRME(Virtual Reality Modeling Language)是描述网上三维实体模型和交互式三维世界的一个国际标准,是三维图形和多媒体技术通用交换的文件格式。它描述交互式的三维对象和场景的几何对象的尺寸和形状、色彩、材质、灯光、动画及其交互性,不仅应用在互联网上,也可以用在本地客户系统中,应用范围极广。客户端用户通过安装支持VRML的浏览器插件(如BS Contact VRML),即可直接在Web浏览器中浏览三维模型(*.wrl文件),并能对模型进行旋转、漫游等方式的浏览,观看不同方向的各个视图,在下载之前对图形信息有一个直观的认识,以保证用户选择的准确性。在Web三维零件库系统中,由于CATIA可以直接导出三维图形的VRML(*.wrl)文件,利用VRML浏览器插件即可在网页中浏览由CATIA导出的三维模型文件,从而实现三维图形预览功能。

    3.3 数据库设计

    3.3.1 数据分类。

    在机械行业中,零件种类繁多,规格不同,数目巨大,建立数据库对所有零件进行分类管理,成为建立零件库的前提。零件分类的目的是支持快速有效地检索、缩短查找时间、便于重复件的使用、系统地对零件进行管理。对该系统CATIA零件库的分类和编码采用树状层次结构,往下依次划分为5个层次:机械类别库、标准件大类、标准件小类、具体标准件、规格。零件分类后,按照编码体系分别对每一类别进行编码,下层类别的编码包含了上层类别的编码信息。这样,可以很方便地从具体零件的编码中找出零件的类别信息。图3以齿轮为例来说明零件库分类的层次结构。在Web系统中,要求所有零件都可以参数化,因此根据PLIB标准中对参数、参数化形状等概念的定义,该系统将零件信息分为驱动尺寸和几何模板两级。根据零件族中的相似零件最小分类概念,相似零件族内的零件可共用同一个几何模板,但被划分成不同的尺寸,不同的规格。这样可减少零件重复存储。

    3

    图3 零件分类图

责任编辑:张纯子
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐