基于Web的SolidWorks网络协同设计系统的设计与实现
以SolidWorks 为基础平台,ASP. NET 为二次开发工具,设计并实现了基于Web 的SolidWorks 零件协同设计系统。以SolidWorks 为开发工具的中小型企业采用该系统可以直接通过网络进行三维图形零件库的在线动态浏览、零件参数化驱动和属性信息的提取并实现零件上传、下载等功能,可以促进设计人员与生产制造部门的实时交流。该系统是计算机支持协同设计( CSCD) 的一个设计与实现方案,通过这种方案可以迅速将计算机支持协同设计在低成本的中小型企业推广应用。
随着现代制造业的高速发展,企业之间的竞争也日趋激烈,面对Internet 的网络化和制造业信息化的现状,CSCD ( Computer Supported Cooperative Design)将分布式资源通过Internet 网络实现资源共享和集成同时进行网络协同设计,通过网络协同设计系统促使对产品需求者和设计人员的实时交互,可以对同一零件进行在线动态浏览( 能够对可视化插件支持的. wrl 格式3D 模型进行旋转、移动、缩放等动态操作) 、零件参数化驱动和属性信息的提取等。
SolidWorks 是现代比较常用的集CAD/CAM/CAE于一体的三维设计软件,给用户提供了强大的二次开发接口SolidWorks API,凡支持COM 技术的开发工具,如C,C + + ,VB,C#,. NET,Delphin 等均可对其进行开发,该系统采用C#和ASP. NET 作为二次开发工具,功能强大且操作简单。中小型企业的设计人员通过使用该系统,减少了开发周期,提高了设计效率,降低了成本。
1、协同设计系统的整体结构设计
协同设计系统主要通过网络实现三维图形零件库的在线动态浏览、零件参数化驱动和属性信息的提取等。在实现时可以有3 种方案: 开放的exe 可执行程序,dll 插件扩展SolidWorks 和基于Web 浏览器对SolidWorks API 进行二次开发。对于开放的exe 可执行程序方案,要求程序在本机上执行,通过网络调用服务器上的零件库并进行开发交流,但它需要将程序安装在本地的客户端上,对平台的依赖性很大。第二种用api 开发插件来扩展SolidWorks 则需要在客户端安装SolidWorks,加大了客户端的压力。而第三种则只需要在服务器上安装Solidworks 并对其进行开发,然后客户可以在不同的平台通过浏览器直接访问服务器的资源。在比较3 种方案的优缺点后,决定采用Web 开发的模式系统的总体框架如图1 所示。
图1 系统详细构架图
该系统采用B/S 模式,与传统的C/S 模式相比,主要功能均在服务器上实现,用户只需通过Web 浏览器向服务器发送申请,经过服务器处理后返回给用户Web 页面。另外,Web 应用程序必须经过后台数据库储存数据实现与用户的交互功能。基于Web的应用程序可以划分为3 个层次: 用户层、业务逻辑层和数据支持层。其中用户层只需用户安装可视化插件,通过浏览器即可访问系统的功能页面。逻辑处理层是参数表达式提取和属性信息提取的关键,以ASP. NET 作为开发工具,通过编写C# 语言程序代码,操作SolidWorks API 获得系统所需的数据信息。数据访问层用于储存零件模型文件、可视化文件、参数说明文件等,完成与用户的交互模块,实现资源共享功能。
5、结束语
研究了基于Web 的SolidWorks 协同设计系统,首先要解决的问题是SolidWorks API 的熟练应用。其次针对系统的结构,对系统总体框架、零件参数化驱动及属性信息提取关键技术和网络协同设计系统数据库访问技术进行了深入的分析。最后基于以上理论知识实际应用到ASP. NET 的协同设计系统。基于Web的SolidWorks 协同设计系统是一种面向服务的分布式应用,随着现代制造业逐渐向网络化和信息化方向发展,利用Internet 对SolidWorks 进行二次开发使得中小型企业能够直接通过网络进行三维图形零件库的在线动态浏览、零件参数化驱动及属性信息的提取等,加强了企业之间的交流和合作,节约了企业的成本和提高了产品设计效率。
该系统的实际应用目前还在测试阶段,而且内部很多功能上问题以及安全上的问题还有待于进一步解决。但是,通过该系统,已经能够完成一个协同设计系统所需要的大多数功能。