当前位置:研发设计首页 >> 软件世界 >> 达索系统 (CATIA SOLIDWORKS...) >> CATIA >> 基于CATIA的Web三维零件库系统开发研究
基于CATIA的Web三维零件库系统开发研究
2017-06-22 21:00:36  作者:韩青金 孙文磊 袁逸萍 何丽 王宏伟   来源:互联网
  •   1 系统总体方案设计   1.1 系统开发环境   Web三维零件库系统开发是编程调试软件、三维CAD软件以及数据库系统的综合应用,其开发环境可概括如下:①编程调试软件:Visual Studio.NET 2008(以.NET Fra ...

  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 零件分类图

  3.3.2 数据存储。

  数据的存储方式通常是由数据的类型所决定的。零件库中涉及到的数据类型主要有以下几种:三维模型文件数据、VRML文件数据、几何信息数据(驱动尺寸参数)、非几何信息数据(零件的描述信息)。

  3.3.2.1 几何与非几何信息的存储。

  零件库中保存的几何信息就是零件模型的驱动参数,这些信息全部是数值类型的数据,数量众多但是所占空间又较小。在该系统零件库中的非几何信息是指三维模型文件名、三维模型文件虚拟路径以及VRML模型文件的文件名和文件虚拟路径,这些信息全部是以字符串的形式存在,数量众多但所占空间又较小。对于这些信息,将把它们放人数据库中,建立对应类型的表格,来存储这些数据,并通过数据库管理系统或者程序来存取和管理。

  3.3.2.2 图形文件数据的存储。

  在Web零件库中包含了多个标准件库,而每个库中又含有成千上万的图形文件。如果把这些数据全部存储在数据库中会使数据库过于臃肿。因此,该零件库系统中把三维模型文件和VRML文件分别放人服务器硬盘下的指定文件中。它们对应文件虚拟路径以非几何信息方式存人数据库。当需要调出零件库中的一个具体零件时,首先从零件列表中选择零件,然后系统会自动读取数据库中的虚拟文件地址,并通过Server.MapPath()方法获取物理路径,再从硬盘加载VRML文件模型并显示在用户界面上。

  3.4 零件库入库

  在web零件库系统中,系统应该允许用户、零件供应商以及管理员能实现对库中零件的动态扩充。用户可以在Web页面上提交已完成的零件文件,可以是批量上传也可以是单个上传。但是用户上传的文件中必须含有数据库中需要的条目信息,如驱动尺寸参数等,以符合参数化的需求及二次开发接口程序中参数提取规则。为了控制零件库的质量,所有客户端上传的零件文件都要经过服务端管理人员认证后才能添加到数据库。下面以客户端用户“批量上传文件”为例说明客户端文件上传的过程:客户端文件上传一管理员检查认证一上传至数据库。批量上传文件要先在客户端以ZIP格式进行压缩,但在ASP.NET中C#实现文件压缩和解压需要第3方组件,因此要先在.NET中添加ICSharp—Code.SharpZipLib.DLL组件以完成文件压缩和解压。用户登录系统后,把压缩完成的ZIP格式文件上传至服务器,在通过服务器端管理人员的检查认证后,开始上传。服务端会利用ICSharp—Code.SharpZipLib.DLL组件对ZIP文件进行解压,并利用服务端程序逐一解压读取所有文件夹和文件,对其逐级统一编号后拷贝到零件库中。同时,利用CATIA二次开发接口程序启动CATIA应用程序提取零件参数信息,并导出VRML格式文件存于VRML文件库中。最后,通过ADO.NET数据库访问通用接口连接服务器数据库,将零件参数信息、图形文件虚拟地址等数据信息存储于数据库,完成零件的入库。

  4 系统实现案例

  面向农业机械行业的Web三维零件库系统是针对农业机械行业中标准化、系列化的零件三维图形开发的,集用户在线应用和在线管理于一体。零件库根据不同类别划分了多个子库,包括滚动轴承零件库、标准齿轮零件库、连接件与紧固件零件库、组合夹具零件库等。Web三维零件库系统首页如图4所示。

  

4

  图4 系统首页

  用户在该系统注册登录后,点击各子零件库标签就可以进入相应的图库系统。图5所示为标准齿轮零件库,该系统包含了有关齿轮的大量零部件三维零件图形。

  

5

  图5 标准齿轮库

  系统管理员登录后台管理系统,通过用户组管理、各子零件库文件管理、数据库管理等操作,实现对整个Web零件库系统的管理和维护。后台管理系统首页如图6所示。

  

6

  图6 后台管理系统首页

  5 结语

  基于Web的零件库系统拥有丰富的三维零件资源并提供三维图形在线预览及参数化、资源下载等功能,具有良好的可扩展性。系统零件资源的有效管理及可重用性可以提高产品的设计效率,降低设计成本。因此,建立基于Web的零件库系统有利于满足制造全球化的需要,提高企业的设计效率以及企业参与市场竞争的能力,具有广泛的应用前景。



版权所有:智造网 京ICP证100778号 京公网安备110102003025 虚假新闻举报电话:010-88379107