基于SolidWorks的可视化定制研究

2018-07-12 06:17范德军文劲松
图学学报 2018年3期
关键词:服务器端二次开发浏览器

范德军,文劲松,徐 勇,宋 建



基于SolidWorks的可视化定制研究

范德军1,2,文劲松1,2,徐 勇1,2,宋 建1,2

(1. 华南理工大学聚合物新型成型装备国家工程研究中心,广东 广州 510640;2. 华南理工大学聚合物成型加工工程教育部重点实验室,广东 广州 510640)

针对可视化定制系统中如何实时自动装配和交互浏览的问题,提出一种基于SolidWorks二次开发自动装配的方法。用户在网页上确定定制方案后,服务器端和与服务器有固定联系的一台主机远程通讯,对SolidWorks二次开发后的自动装配程序安装在此主机上,服务器端远程启动主机上的自动装配程序,并接收装配完整的eDrawings文件,将三维模型反馈到网页上显示,用户可以在网页上实现虚拟交互浏览。该方法可以实现三维模型在多选择方案下的实时自动组装和网页上的虚拟交互。

SolidWorks二次开发;自动装配;虚拟交互;可视化定制

随着虚拟现实技术的逐步发展,虚拟现实技术在电子商务中得到越来越广泛的应用。在电子商务的定制系统中与定制产品虚拟交互,可以满足顾客的个性化需求,提高用户满意度和企业影响力[1-2]。目前在可视化定制和自动装配领域中已有许多学者做了大量工作。周军伟[3]运用虚拟现实技术建立了基于Unity3D的可视化定制系统;刘喜平等[4]利用NIST开发VRMLToX3D转化模块实现了变型产品实时定制的功能;还有一些学者利用SolidWorks、Pro/E和WEB3D技术实现模型装配和虚拟交互[5-8]。通过综合使用三维设计软件和虚拟现实技术,满足了用户对模型的交互需求,增强了用户体验。

目前,基于网页上的可视化定制需要企业根据用户要求手动将定制信息导入三维设计软件,然后将设计模型导入其他软件如3D Max中二次处理,设置交互效果并导出适于网页浏览的文件格式,才可以实现在网页上的虚拟交互。此开发过程繁琐耗时,无法实现定制过程的连续性和实时性,而且由于软件之间的兼容性问题,三维设计软件文件格式和网络化虚拟产品格式间的转换过程限制了虚拟产品的真实程度。此外目前的研究若要实现定制过程的连续性和实时性,需要用户安装大型设计软件如Pro/E、SolidWorks和开发的插件,对用户计算机的硬件和软件要求较高,用户体验效果较差,在实际应用中具有很大的局限性。

本文以SolidWorks软件为基础,使用VB.NET对其进行二次开发,当网络用户在普通浏览器确定电视机定制方案后,按照定制方案实时自动装配生成装配模型(eDrawings文件)并自动反馈到网页上,实现三维模型的在线三维交互。本研究方法在保证实时自动装配的同时,提高了三维模型的真实性,简化了开发流程,且用户无需安装大型设计软件SolidWorks,在普通浏览器即可完成可视化定制,提高了用户满意度。

1 可视化定制系统设计

为方便网络用户的使用,采用B/S结构的网络结构设计。B/S网络结构下用户无需安装SolidWorks软件,只是通过浏览器访问网页前端界面,将组装方案的指令发送到服务器端,服务器接收到指令时需与服务器有固定联系的另外一台电脑“主机”远程通讯,根据TCP/IP协议发送组装方案指令给“主机”的侦听程序,主机上的侦听程序接到指令后,启动对SolidWorks二次开发后的自动装配程序自动装配,最后把装配好的模型文件(eDrawings文件)传送给服务器,将三维模型反馈到浏览器网页前端供用户查看,整个过程无需人工参与,全部由程序自动完成。在B/S网络结构下,基于SolidWorks二次开发的可视化定制系统整体架构如图1所示。

图1 基于SolidWorks二次开发的可视化定制系统架构图

利用SolidWorks二次开发技术可以实现对定制方案的自动装配,由于可视化定制是基于网络下的定制,在实际测试中,如果在网络环境下直接启动服务器(Window Server 2008 R2 Enterprise,Intel(R) Xeon(R) CPU E5-2620 v3@2.4 GHz)上的SolidWorks软件,用于自动装配的SolidWorks在服务器网络环境下运行会出现无响应的错误。因此,利用TCP/IP协议对服务器和另外一台主机建立联系,SolidWorks软件安装在此主机上,当主机上侦听到服务器端传来定制方案的指令后,启动主机上的自动装配程序组装,可避免SolidWorks软件在服务器环境下运行,同时充分利用SolidWorks强大的二次开发功能。

目前,大多数三维设计软件的模型无法直接通过网页上浏览,通常需要人工导入到其他软件如3D Max转换文件格式,并且需要在软件中手动设置交互效果,过程复杂耗时,而且容易因为软件之间的兼容性导致模型失真。利用SolidWorks二次开发的功能直接将装配体模型保存为eDrawings格式文件,eDrawings格式为SolidWorks软件自身的一种轻量化文件格式,可以保证模型的完整,实现从装配到网页交互的自动化,不需要人工参与。

2 关键技术

2.1 SolidWorks二次开发

SolidWorks凭其强大的三维设计功能,得到越来越广泛的应用。企业为提高市场竞争力,纷纷对SolidWorks开发出满足自身特殊使用要求的功能。SolidWorks提供了几百个API(application program interface)函数,这些函数是COM或者OLE的接口,开发人员可以使用VB.NET、C等编程语言对其进行二次开发,建立满足用户需求的功能模块[9-10]。本文以Visual Studio 2010为开发工具,VB.NET为开发语言对SolidWorks 2012进行二次开发。

本文对SolidWorks的二次开发从建立零件库和程序代码两部分进行介绍。

2.1.1 建立零件库

自动装配的零件库建立步骤如下:

(1) 建立零件模型。使用SolidWorks软件建立模型,或直接利用公司原有的模型文件;

(2) 建立合适的装配基准。装配过程中需要选择定位基准和添加约束类型,其中常用的约束类型有重合、平行、垂直等。为了简化装配过程,便于SolidWorks自动装配的二次开发,将所有零部件的配合类型设置为重合[11-12]。使用SolidWorks软件对所有零件建立合适的定位基准,定位基准的命名按照一定规则命名,比如直接按照零部件的名称进行命名。结构类似的零部件可以选择相同类型的基准,例如具有两个孔的底座,可以将两个孔的轴线作为两个基准轴,底座的上平面为基准面。同样的,在与底座联接的部件对应位置也建立两个基准轴和一个基准面,装配时分别选择基准轴、基准面重合约束,实现底座的完全 约束。

2.1.2 二次开发程序

与其他三维设计软件如Pro/E等类似,SolidWorks装配时首先根据模板文件创建一个装配体,然后插入零部件,对每个零部件添加配合约束,最后保存导出。不同的是,在SolidWorks自动装配的二次开发中,需在插入零部件之前先打开零部件,将零件读入内存中才可以插入零部件,然后进行下一步的装配。SolidWorks二次开发自动装配流程图如图2所示。

图2 SolidWorks二次开发自动装配流程图

其中,新建装配体使用NewDocument (TemplateName,PaperSize,Width,Height),TemplateName为装配体模板的路径;打开零部件使用OpenDoc6 (FileName,Type,Options,Configuration,Errors,Warnings);在打开零部件将其读入到内存之后,调用AddComponent2 (CompName,X,Y,Z)函数插入零部件,然后对零部件添加约束。

目前,在装配零部件选择基准时通常使用SelectByID2 (Name,Type,X,Y,Z,Append,Mark,Callout,SelectOption)函数,此函数在调用时需要确定所选择基准的坐标位置,在装配多个零件时极易出错。本文采用FeatureByName (Name)函数来选择定位基准的名称,无需计算基准坐标,而是直接按基准的名称进行选择。在2.1.1中曾介绍到,所有零部件按照一定的命名规则创建基准,此时FeatureByName()函数在调用时显得十分灵活。装配添加约束时调用AddMate3 (MateTypeFromEnum,Alig-nFromEnum,Flip,Distance,DistanceAbsUpperLimit, DistanceAbsLowerLimit,GearRatioNumerator,GearRatioDenominator,Angle,An-gleAbsUpperLimit,AngleAbsLowerLimit,ForPositioningOnly,ErrorStatus),其中,MateTypeFromEnum是用数字表示的配合类型,比如0为重合、1为同心等,本文选择的配合类型为重合,即数字0。关于上述函数的详细说明可以参照相应的API帮助文档,在此不再赘述。

在保存装配好的模型时,使用SaveAs3 (NewName,SaveAsVersion,Options)函数保存导出装配体模型。在SolidWorks二次开发中,此函数可以将模型保存为多种格式的文件,例如STEP、VRML等格式。将模型保存为eDrawings文件格式“EASM”内存较小,便于网络传输和网页展示,这也是选择SolidWorks软件进行二次开发的主要原因。

2.2 网络环境下自动装配

为解决SolidWorks软件在服务器网络环境下无法运行的问题,利用C#语言开发远程服务模块解决该难题。在主机上安装有侦听程序、自动装配程序、SolidWorks软件。其中侦听程序在主机上始终保持运行,用于时刻侦听服务器端的连接请求,自动装配程序是对SolidWorks二次开发完成后的异步程序。工作流程如图3所示

图3 网络环境下自动装配流程图

具体流程如下:

(1) 当用户在网页确定了定制方案后,服务器端开始连接主机上的侦听程序,使用Connect()函数连接主机的IP地址和端口号,确认连接之后发送用户组装方案指令。

(2) 主机上的侦听程序使用TcpListener时刻侦听服务器端的连接请求,当接收到连接请求之后使用AcceptTcpClient()函数确认连接请求,然后启动主机上的“自动装配程序”,启动“自动装配程序”使用Process.Start()函数,启动SolidWorks软件从相应的零件库中调取零件自动组装,装配完成之后将装配模型文件发送到服务器端。

(3) 服务器端接收来自主机上的模型文件,储存在服务器文件夹下,此时如果用户安装eDrawings浏览器插件,就可以自动读取服务器指定文件夹下的模型文件,显示到网页上交互浏览。

2.3 eDrawings与虚拟交互

三维模型的网页展示,可以使用户更清晰直观地了解产品信息。三维模型文件尤其是装配体模型的文件较大,若通过Internet进行数据传送,将占用很大的网络带宽资源,传输数据时间较长,甚至会出现数据丢失的情况。VRML文件是目前常用的网页展示文件格式,VRML文件是ASCII码格式的纯文本文件,文件大小要比STEP等其他格式的模型文件要小,便于进行网络上的传输。由于采用优化器来减少面片也减小文件大小,因此导致渲染质量下降,模型有时会存在破孔、烂面的情况,工程师将花费大量的时间去修复这些损坏的模型,特别是复杂模型。因此,为了适应虚拟交互产品的趋势,一些CAD公司相继开发出网上浏览的文件格式,比如达索公司针对SolidWorks开发的eDrawings格式文件。

采用eDrawing格式文件的优点如下:

(1) 由于eDrawings格式文件只包含模型中的绘图部分,因此其模型文件占用网络带宽较小,便于网络传输和显示。

(2) 通过SolidWorks保存为eDrawings格式的文件,不会因为数据压缩出现破孔、烂面的情况,这是因为其不同于目前的基于三角形的多边形描述模型,而是采用非线性的自由表面,用户观察到的模型更加接近原始模型。

(3) 在网络环境下安装eDrawings浏览器插件后,可以自动解读模型文件显示在浏览器网页上,用户通过使用鼠标选择旋转、缩放、动画、隐藏、透明等操作实现虚拟交互,观察虚拟产品的内外部结构特点。

使用SolidWorks二次开发的保存文件函数SaveAs3()自动保存并导出装配体模型。生成的装配体文件大小大约是原始装配体模型文件的十分之一,使得基于网页上的虚拟交互成为可能。

3 应用实例

以广东朝野科技有限公司的电视机自动装配系统为例详细说明。根据电视机的功能和外形可以将电视机划分为多个系列,而且每一个系列下根据显示屏的尺寸大小又划分为不同的产品,例如“55DN系列”表示“DN系列”下的55英寸电视机。在产品的定制方案中,可供选择的零部件较多,若将每种可能的选择方案一一装配列举供用户选择,将会浪费大量人力、物力,不切实际。“55DN系列”电视机可供用户定制选择的主要部件及其规格见表1。

仅此型号的的电视机,即可产生1×2×2×3×3×2 ×2×2=288种定制方案,实际中有更多型号和系列的产品,产生的定制方案数以万计。因此将本文研究应用在该企业的电视机定制系统中,可以方便地满足用户需求。网络用户在普通浏览器确定电视机定制方案后,实现自动装配并供用户在网页上浏览交互。

采用VB.NET语言设计网页前端界面,提供友好人机页面。用户登陆系统之后,可以选择要定制组件的各个型号,每一个型号下会提供可以定制的组件,比如底座、屏幕、音响等组件。系统首页如图4所示。

表1 “55DN系列”电视机可供用户定制选择项目

图4 电视机定制系统首页

在用户确定组装方案后,点击“确定选择方案”,在右侧的显示框中会显示具体的选择方案,而且“显示模型”按钮此时变为可点击状态。确定是方案后,点击“显示模型”按钮,服务器端和主机启动相应的程序实现在线自动装配,之后会自动跳转到如图5所示的页面,用户浏览器中如果安装有eDrawings浏览器插件,即可以在网页上三维预览窗口中自动加载出定制方案的装配体三维模型;如果用户未安装该插件,也可根据提示下载安装eDrawings浏览器插件。在网页界面提供eDrawings浏览器插件的下载链接,除了可以对三维模型进行旋转、缩放、平移等基本操作外,还可以实现隐藏、透视、动画等显示效果,便于用户观察模型的内外部结构,直观展示产品的特征信息。用户安装eDrawings浏览器插件后,用鼠标在三维预览窗口上点击右键,可以选择操作选项,达到不同的显示效果。具体操作选项和浏览效果如图5所示。

为了更好地说明本研究的先进性,引入系统响应时间作为评价指标。因为作为一个面向用户的系统,其响应时间直接关系到良好的用户体验。用户完成定制方案后,向主机发送指令、主机进行自动装配、生成装配文件、发送到浏览器页面,大部分时间主要花在主机上的自动装配和发送到浏览器页面上,自动装配主要与主机的计算机性能有关,发送阶段与装配体文件大小和网络速度有关,不同尺寸大小的电视机对应的文件大小不同。当用户确定定制方案显示到网页界面上,整个过程的系统响应时间大约为20~30 s,如果条件允许,可以选择更好配置的主机进行自动装配,将会大大缩短系统响应时间。(测试所用浏览器:Internet Explorer 6.0;网络服务器:操作系统Window Server 2008 R2 Enterprise,处理器 Intel(R) Xeon(R) CPU E5-2620 v3@2.4 GHz,内存 2 GB;主机:操作系统 Windows 7,处理器 AMD A8-4500M APU with Radeon(tm) Graphics 1.9 GHz 内存:4 GB)。

图5 eDrawings浏览器插件下的浏览效果

当用户对定制的电视机满意时,可以下单继续完成交易,如果不满意可以重新选择定制。此外,该实时自动装配与交互浏览方法还可以应用在公司员工培训、工厂装配车间等场合,让用户全方位的掌握组装产品的外形和内部结构特点。

4 结 论

本文基于SolidWorks的二次开发,提出网络下实时自动装配和虚拟交互的方法,可按照用户定制方案自动调取零部件组装,然后以三维模型的形式在网页展示,用户通过浏览器对产品模型交互操作。该方法实现了自动装配的实时性和连续性,提高了虚拟模型的真实性,增强了可视化定制系统的用户体验,已被应用于广东朝野科技有限公司的电视机自动装配系统中,并取得了良好的效果。

[1] RANGA J S. Customized videos on a YouTube channel: a beyond the classroom teaching and learning platform for general chemistry courses [J].Journal of Chemical Education, 2017, 94(7): 867-872.

[2] NAVIMIPOUR N J, SOLTANI Z. The impact of cost, technology acceptance and employees' satisfaction on the effectiveness of the electronic customer relationship management systems [J]. Computers in Human Behavior, 2016, 55(C): 1052-1066.

[3] 周军伟. 工程机械产品可视化定制平台的研究[D]. 石家庄: 石家庄铁道大学, 2016.

[4] 刘喜平, 胡青泥, 李春波. 网络化变型产品定制研究[J]. 工程图学学报, 2008, 29(5): 1-5.

[5] 李杰. 基于网络的机床产品大规模定制方法的研究[D]. 南京: 南京林业大学, 2009.

[6] 徐晓, 邓高升, 林民才, 等. 柴油发动机装拆网络虚拟实验室设计与建模[J]. 实验室研究与探索, 2015, 34(7): 98-102.

[7] 崔亚彬, 弋景刚, 侯雯卉, 等. 网络虚拟模型库在农业机械设计中的应用[J]. 农机化研究, 2011, 33(2): 150-153.

[8] 田源, 王欣, 许滨, 等. 基于SolidWorks二次开发的自动装配技术研究与应用[J]. 机械科学与技术, 2012, 31(5): 703-707.

[9] 卢杰, 米彩盈. 基于SolidWorks的联合参数化设计方法研究[J]. 图学学报, 2013, 34(6): 64-68.

[10] MOTATO E, RADCLIFFE C. Networked assembly of affine physical system models [J]. Journal of Dynamic Systems Measurement & Control, 2010, 132 (6): 768-778.

[11] 袁清珂, 陈晨, 黎贤钊. 基于SolidWorks多排钻机床主轴箱的虚拟装配系统[J]. 机电产品开发与创新, 2013, 26(2): 60-63.

[12] 卞正军, 袁红兵. 基于SolidWorks二次开发的生化分析仪加样臂参数化设计[J]. 制造业自动化, 2017, 39(7): 81-84.

Research on Visual Customization Based on SolidWorks

FAN Dejun1,2, WEN Jingsong1,2, XU Yong1,2, SONG Jian1,2

(1. The National Engineering Research Center of Novel Equipment for Polymer Processing, South China University of Technology, Guangzhou Guangdong 510640, China;2. The Key Laboratory of Polymer Processing Engineering of Ministry of Education, South China University of Technology, Guangzhou Guangdong 510640, China)

In order to solve the problem of real-time automatic assembly and interactive browsing in visual customization system, an automatic assembly method based on secondary development of SolidWorks in network environment is proposed. User defined customized solutions on the web page and a remote communication between a server and a server that has a fixed connection. The automatic assembly program secondary development of SolidWorks installed on the host. The server automatic assembly program remote boot on the host and receive the complete assembly of eDrawings files. The 3D model is fed back to the web page. The user can browse the web page in the realization of virtual interaction. This method can realize the real time automatic assembly and virtual interaction of the 3D model under the multi choice scheme.

secondary development of SolidWorks; automatic assembly; virtual interaction; visual customization

TH 122

10.11996/JG.j.2095-302X.2018030573

A

2095-302X(2018)03-0573-06

2017-09-08;

2017-11-20

国家自然科学基金项目(51435005);佛山市科技创新项目(2016AG100262)

范德军(1992–),男,山东临沂人,硕士研究生。主要研究方向为SolidWorks软件二次开发、CAD/CAE/CAM。E-mail:de_jun_fan@163.com

宋 建(1971–),男,广东广州人,高级工程师,本科。主要研究方向为工业网络技术、工业装备智能技术、计算机测控技术。E-mail:songjian@scut.edu.cn

猜你喜欢
服务器端二次开发浏览器
Linux环境下基于Socket的数据传输软件设计
西门子Operate高级编程的旋转坐标系二次开发
微软发布新Edge浏览器预览版下载换装Chrome内核
反浏览器指纹追踪
浅谈Mastercam后处理器的二次开发
西门子Easy Screen对倒棱机床界面二次开发
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用