基于空气压缩机箱体的智能设计系统

2019-06-10 01:01万灵仲梁维孙文龙
软件导刊 2019年2期
关键词:二次开发

万灵 仲梁维 孙文龙

摘 要:为了改善空气压缩机箱体结构对箱体内气体压力及其它零件密封性的影响,以活塞往复式空压机箱体为例,利用VB.NET编程语言,调用SolidWorks的API函数,生成动态链接库DLL插件,并结合SQL Server数据管理系统创建了空压机箱体参数化设计系统,实现了箱体的自动装配。该系统大大提高了设计效率和质量,并为之后的性能试验奠定了基础。

关键词:空压机箱体;智能设计;自动装配;二次开发;SolidWorks

DOI:10. 11907/rjdk. 182336

中图分类号:TP319文献标识码:A文章编号:1672-7800(2019)002-0084-04

Abstract: In order to improve the influence of the air-pressure chassis structure on the gas pressure in the box and the sealing of other parts, we take the piston reciprocating air compressor case as an example, use VB.NET programming language and call the SolidWorks API function to generate a dynamic link library. The DLL plug-in, combined with the SQL Server data management system, creates a parametric design system for the air compressor enclosure and automates the assembly of the enclosure. It is concluded that the system greatly improves the design efficiency and quality, which lays the foundation for the subsequent performance test.

Key Words: air compressor chassis;intelligent design;automatic assembly;secondary development; SolidWorks

0 引言

随着工业发展,空气压缩机(以下简称空压机)得到广泛应用,主要应用于各种风动机械设备与充气、制冷、气体输送设备等[1]。目前国内外对空压机的研究多为动态特性分析[2-3]、虚拟仿真分析[4-5]、能源效率[6-7]、换热计算[8-9]等方面,而对空压机的结构设计方法研究很少。传统设计方法是根据设计需求,參考同类产品的经验数据,凭借一定理论判断以选定设计参数,然后进行校核计算,如果不满足设计要求则需要调整设计参数再校核[10]。如此反复使得工作量变大,工作效率降低。

活塞往复式空压机是目前使用最多的空压机种类,它的箱体结构十分复杂[11]。故本文以活塞往复式空压机为例,利用参数化思想,完成其箱体结构的智能设计系统,并基于于洋等[12]提出的自动装配思想,实现了该箱体的自动装配。

1 系统设计工具

1.1 OLE与COM技术

SolidWorks的二次开发主要有两种:一种是基于自动化技术而生成的EXE可执行文件,另一种是基于COM开发SolidWorks Add-in,生成一个DLL插件[13]。其中SolidWorks Add-in和SolidWorks程序运行于同一个进程空间,Add-in比主程序有更大的控制力,菜单、工具栏及属性控制页都可以插件形式在SolidWorks中实现,而创建独立运行程序时所有SolidWorks API调用必须越过进程边界。其中,第二种技术运用非常广泛,生成的DLL插件可以融合在SolidWorks设计环境中,增加工具栏的功能,更加便于设计者进行设计操作[14]。本文采用COM技术,生成DLL插件,使得智能设计的交互界面能够与SolidWorks灵活通讯,更好地实现智能化。

1.2 编程语言

任何支持COM和OLE的编程语言都可以成为SolidWorks的开发工具,用户可以根据自身条件及工具特点,选择任意一种适合自己的开发工具,主要工具有:Delphi、Visual C++、Visual Basic、VBA、VB.NET等[15]。相比而言,VB.NET不仅仅可以开发Web应用程序,还可以开发Windows 应用程序、PDA程序等,功能强大,简单易用,为广大工程设计人员所接受。

2 系统参数化处理

2.1 参数化过程

参数化设计是系统设计的关键,首先根据用户设定的参数完成参数化设计,设计过程中需要考虑到单位问题,SolidWorks默认的单位为米,而宏中的单位应为毫米,故需要进行单位转换。三维模型的设计流程如图1所示。完成三维模型建立后,系统需要进行自动装配,自动装配流程如图2所示。用户只需选择相应的零件,即可完成空压机箱体自动装配。

本文以空压机箱体的智能设计系统为例,详细介绍了参数化建模过程。利用SolidWorks软件绘制零部件的模型,定义各零件中的参数关系。

空压机通过曲轴旋转带动曲拐、连杆、活塞销、活塞组成曲柄连杆结构,带动活塞往复运动,从而使汽缸的行程容积产生周期性变化[16]。所以汽缸是其它零部件建模的基础,在零部件建模之前,应充分考虑汽缸与其它零部件的参数关系,在掌握曲柄连杆结构以及机械传动结构情况下,通过热力计算、动力计算等确定汽缸合适的高度、宽度等。建模时,为了能够形成完美的配合关系,可利用各零件之间的尺寸关联建立方程式。部分方程式的建立如图3所示。

2.2 数据库建立与连接

在设计过程中,通常需要对大量数据进行筛选,工作繁琐,如何高效获取所需数据显得相当重要。此时,数据库发挥了很大作用,可对一些固定的尺寸参数进行存储,当用户需要时,可通过代码将其调用出来。操作时,用户只需根据需求选择合适的标准件型号即可[17]。箱体之间通过螺栓、螺母和垫圈等连接,故可将各个型号的尺寸存储在数据库中,方便调用。六角螺栓的基本参数如表1所示。

在Visual Studio环境下,利用VB.NET语言实现数据库的连接。它提供了大量数据库连接工具,完成连接的主要对象是ADO.NET。以下是数据库连接代码:

3 智能系统实现

3.1 DLL插件生成及交互界面创建

首先需要安装SolidWorks公司提供的SolidWorks API SDK,然后启动Visual Studio 2010,新建一个项目,选择SwVBAddin,即可创建一个SwVBAddin对象,该对象被插入到项目之中,一个DLL程序也就建立了[18]。用户可以通过该DLL程序自定义SolidWorks的菜单、工具栏、属性管理页面等,从而实现项目界面与SolidWorks的无缝对接。以下为生成DLL插件的代码:

启动调试后,插件安装到SolidWorks中。点击工具可发现插件按钮,点击进入系统会出现创建的交互界面,如图5所示。这时,输入相应参数,如排气量、排气压力、额定功率等,可自动获得空压机箱体的长、宽、高,接下来再通过气缸体、气缸盖的设计,就可以实现空压机箱体自动化建模[19]。

3.2 参数化建模实现

以汽缸体参数化建模为例,参数化设计界面如图6所示。代码需要实现的功能主要是打开之前建立的模型模板,然后对尺寸进行读取,将尺寸保存到数据库后,再一一调用,通过之前建立的方程式关系完成尺寸驱动。用户只需在TextBox控件框中输入对应的尺寸参数,就可以完成汽缸体的参数化建模。零件模型如图7、图8所示。

参数设置功能开发变量:

3.3 自动装配实现

以往装配都是由CAD软件完成的,首先导入零部件,然后通过配合关系手动完成每一个部件的装配,这样不仅耗时耗力,而且也与设计人员的软件使用熟练程度有很大关系。智能装配的实现,不仅节省了大量时间成本,而且易于操作,智能装配交互界面如图9所示。

装配系统实现步骤如下:

(1)通过代码驱动,打开自动化装配的环境,然后获得装配所需零件,此处主要通过OpenDoc6、AddComponent5函数实现。

(2)SolidWorks中的配合关系主要有重合、平行、同心、垂直等,对于外形规则的零件,可以通过重合、距离等定位,而对于孔、圆柱特征等,可以通过同心定位[20]。为了配合正确,需要选择相应的点、线、面,此时就需要先遍历特征树,获取各个零件及其特征,通过特征名获得需要进行配合的特征面,再遍历特征面获得所需特征线。

(3)通过AddMate2函数实现零件的智能装配。装配完成模型如图10所示。

自动装配部分代码如下:

4 结语

本文以工程思想为指导,将参数化设计、自动装配运用到空压机箱体智能设计系统中,结合Visual Studio、SQL、SolidWorks软件,利用VB.NET语言开发一套完整的空压机箱体设计系统,不仅提高了设计效率,节约了时间成本,还为产品之后的性能研究、试验以及有限元分析等奠定了基础,具有一定现实意义。同时也存在不足之处,如只针对箱体结构进行了智能设计,而没有涉及空压机中的曲轴、连杆等结构,故下一步研究可考虑实现往复活塞式空压机的智能设计系统。

参考文獻:

[1] 任飞,李春风. 基于Pro/E的减速器箱体结构参数化设计[J]. 机械传动,2014,38(8):87-88+114.

[2] 吴万荣,梁向京,娄磊. 移动式双螺杆空气压缩机系统动态特性分析[J]. 农业工程学报,2017,33(2):73-79.

[3] WANG Y,LIANG H B,CAO M Y,et al. Design of piston air compressor unit control system based converter[J]. 测试科学与仪器:英文版,2010(S1):50-52.

[4] ZHONG B B,ZHANG L,TANG Y H. Modal analysis of automotive air compressor bracket[J]. Machine Building & Automation,2013,42(3):94-96.

[5] 耿葵花,杜时光,唐萌,等. 平动活塞式空气压缩机的虚拟仿真分析[J]. 机械设计与制造,2012(11):28-30.

[6] 孙晓明,彭恒,林子良. 动力用空气压缩机能源效率探讨[J]. 流体机械, 2013(11):48-51.

[7] 苟新超. 空气压缩机节能技术研究与应用[J]. 节能,2015(10):65-69.

[8] 王俊亭,刘国平,胡华,等. 风冷无油涡旋空气压缩机换热计算研究[J]. 真空科学与技术学报,2014,34(10):1091-1096.

[9] 王俊亭,刘国平,胡瑢华,等. 风冷无油涡旋空气压缩机涡盘温度场数值计算[J]. 真空科学与技术学报,2015,35(10):1225-1230. .

[10] 盛利,张亮有,谢立新. SolidWorks二次开发精确草绘问题的分析与探讨[J]. 现代制造工程,2014 (4):68-71.

[11] 袁伟,宝民,于海涛. 基于遗传算法的往复活塞式空气压缩机结构优化设计方法[J]. 车辆与动力技术,2009(1):18-20.

[12] 于洋,贺栋,魏苏麒. 基于SolidWorks二次开发的智能装配技术研究[J]. 机械设计与制造,2011(3):60-62.

[13] 李妍姝. 基于SolidWorks-API二次开发的锥齿轮自动建模与仿真[J]. 工业技术创新,2016,3(2):234-238.

[14] 索超,李玉翔,林树忠. 基于VB语言对SolidWorks参数化设计的二次开发[J]. 制造业自动化,2013(15):137-139.

[15] 黄乐. SolidWorks二次开发在密封产品设计上的应用[J]. 橡胶工业,2013,60(1):39-41.

[16] 谢慧萍,张瑛. W2.85型活塞式空气压缩机虚拟设计与运动仿真的实现[J]. 现代制造工程,2008(1):121-123.

[17] 田文涛,贺小华. 基于VB技术的SolidWorks二次开发与应用[J]. 计算机工程与科学, 2009,31(7):65-67.

[18] 马咏梅,丁行武,李鑫. SolidWorks二次开发在机械零件设计中的应用与研究[J]. 机械传动,2010,34(1):72-74.

[19] 徐格宁,朱映东. 基于SolidWorks二次开发的变量化三维建模方法[J]. 中国工程机械学报,2009,7(1):41-45.

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

(责任编辑:何 丽)

猜你喜欢
二次开发
浅谈基于Revit平台的二次开发
西门子Operate高级编程的旋转坐标系二次开发
浅谈Mastercam后处理器的二次开发
Micaps3.2 版本二次开发入门浅析
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用
基于Pro/E二次开发的推土铲参数化模块开发