APP下载

基于SolidWorks的计量泵快速设计系统

2016-06-25陈海鹏许福春

上海电机学院学报 2016年2期
关键词:计量泵工程图二次开发

陈 田, 陈海鹏, 印 松, 李 林, 许福春

(上海电机学院 机械学院, 上海 201306)

基于SolidWorks的计量泵快速设计系统

陈田,陈海鹏,印松,李林,许福春

(上海电机学院 机械学院, 上海 201306)

摘要流量可无级调节、满足各种严格工艺流程需要的计量泵,正日渐应用到不同行业领域。围绕计量泵快速设计系统的开发,论述了SolidWorks二次开发方法、计量泵快速设计系统的具体要求,分析了计量泵快速设计系统开发环境的创建,进而结合开发实例,对计量泵快速设计系统的模型构建、自动装配、工程图生成等关键模块进行了深入阐述。提出的基于SolidWorks计量泵快速设计原型系统能够缩短计量泵设计选型周期,提高生产效率。

关键词Solidworks二次开发; 计量泵; 计算机辅助设计(CAD); 软件平台

随着全球重工业的快速发展,制造业正变得越来越规范化、过程化。为了提高管理和设计的效率,需要对大型的计算机辅助设计(Computer Aided Design, CAD)系统进行二次设计[1-3],笔者提出了一种改进的CAD系统在某一细分领域的应用,使其更人性化、专业化。计量泵产品种类很多,由于生产的不断发展和生活水平的不断提高,计量泵的应用领域也在不断渗入到不同行业,客户的需求也越来越多样化,焏需基于现有的计量泵设计方法、设计经验与产品使用现状等,开发出自动化、智能化的计量泵快速设计系统,由此缩短计量泵设计的选型周期,提高生产效率[4]。

SolidWorks软件界面的操作命令本身就是通过函数调用来实现的。其二次开发技术是随着SolidWorks的发行而诞生的[5]。二次开发的目的就是将这些函数拿出来组合在一起使用,然后达到客户使用的目的。SolidWorks的二次开发工具很多,由于SolidWorks提供了内部的应用程序接口函数(Application Program Interface,API),故而工具的选择只是在语法的表述上有所不同,其他方面都是大同小异[6-7]。但是,开发的过程是一样的,SolidWorks的操作方式不会因为语言和工具的改变而改变。

1计量泵快速设计系统开发环境的搭建

1.1计量泵CAD系统设计要求

计量泵快速设计系统的的开发涉及到计量泵系统选型计算,即在原系统的组成部分上对系统进行选型,系统选型界面设计如图1所示。基于SolidWorks的计量泵关键零件的建模、装配及出图的二次开发。企业人员可以输入参数后直接获取一些关键零件的模型,也可输入特定的参数获

图1 计量泵选型界面设计Fig.1 Interface design of metering pump

取到计量泵的组件,然后软件系统会在后台进行自动装配。装配件完成后,只需要点击建立工程图按钮,即可在指定目录位置获取到图纸的PDF格式文件。

1.2SolidWorks API函数的应用

SolidWorks提供的二次开发接口可以通过调用API函数与SolidWorks应用程序进行交互从而实现特定的功能[8-10]。由SolidWorks API函数接口关系图可看出,SolidWorks API是按照一定规则调用的,调用关系是按照层级调用方式调用,逐级进行访问的[11-12]。要想调用某个对象,则需要先调用上一层对象,即父对象,否则无法调用成功。对象的包含与被包含关系在对象调用过程中是严格界定的[13]。SolidWorks使用对象来完成打开文件、关闭文件等操作。SldWorks是API的第1个对象,是所有子对象的父对象。在计量泵快速设计系统中,通过SldWorks对象访问和调用了下列对象: ModelDoc、Frame、Modeler等。计量泵快速设计系统中,ModelDoc对象又通过访问PartDoc、AssemblyDoc和DrawingDoc这几个目标实现了计量泵的模型构建、自动装配、工程图生成等关键模块。这3个对象对应于SolidWorks环境下的零件建模、零件装配环境和绘图环境。PartDoc对象是通过SolidWorks零件模型来操作的。如建立计量泵零件模型,改变零件模型的大小,以生成新的特征,获得零件的特性及其相关特性。AssemblyDoc对象则通过激活SolidWorks装配环境,调用Assembly的子对象函数来实现计量泵3个不同组件的装配、移动、配合等操作。通过子对象函数的操作,可以对组件读取计量泵零件的相关属性: 尺寸、质量、材料、名称等。DrawingDoc对象实现的是计量泵工程图的相关操作,如创建新的工程视图,标注相关尺寸,注解标注等。

1.3Visual Basic程序的实现

VBA(Visual Basic Application, VBA)主要取决于文件的宏,通过宏记录程序的编写。VBA是微软20世纪90年代推出的一种自动化的 Visual Basic脚本语言。VBA可以链接到SolidWorks宏程序编写和调试。VBA也包括非常重要的功能: ① 用户的标准操作,控制用户的操作;② 界面直观,操作方便;③ 减少人工操作,设置一个复杂的操作;④ 自动编程。

对于计量泵零件模型的构建,尝试了VBA编程方式。过程设计中最重要的部分之一是开发环境的建立。稳定的开发平台会影响程序开发的进度和质量。VBA通过宏记录选择,其编辑器具有更高的稳定性,能够让开发者更快速地开展工作。所用的开发环境测试语句定义方式如下,此测试程序使VBA程序成功连接到SolidWorks软件。

Dim swApp As SldWorks.SldWorks

Set swApp=Application.SldWorks

Dim fileerror As Long

Dim filewarning As Long

以上测试成功后,对于结构简单的零件模型,通过宏录制方式构建。

2计量泵零件的自动建模

SolidWorks自动建模涉及的内部API函数和特征操作的组合来完成自动建模。研究项目主要是在Visual Studio和SolidWorks上的设计及调试。设计的方案可以调用SolidWorks内部API函数,从键盘输入参数,完成自动建模的模型。SolidWorks中包含大量的功能,包括图纸、切除、旋转、镜像等,在模型的构建方面具有很大的优势。因为企业内部的生产线生产是一系列不同尺寸的产品。设计具有可重复性,而SolidWorks自动建模能通过修改产品相关的参数,满足其他产品的要求,在一定程度上降低了设计成本和时间,可加快更新其他产品,抢占市场。计量泵组件众多,但也有一些关键部位的非标准件。这些零件往往在设计尺寸的变化,形状是没有太大的变化。在不同类型的计量泵组件中,涉及不同的非标件。因此,需要建立一个非标准件库,或建立一个参数化的建模程序,它可以用来设计在不同情况下的非标准件。该模型具有通用的零件模型设计要点。固定截面图只需要设置相应的约束条件,自动建模命令可以用来在Solidworks环境下创建实体模型。程序的界面主要是按照零件的尺寸进行安排。

对于界面的设计来说,建模的界面要把关键的用户需要输入的文本框设计在明显的地方方便用户输入。在零件的建模示意图上要详细而准确地标注出来各个尺寸的代号和关系。如图2所示,完成了计量泵快速设计系统的零件自动建模模块。

对于结构相对复杂的零件,在其自动建模过程中,所应用的函数如下[12]:

value=instance.NewDocument(TemplateName, PaperSize, Width, Height)

该函数是新建一个SolidWorks文件。

value=instance.FeatureExtrusion2(Sd, Flip, Dir,T1,T2,S1,S2, Dchk1, Dchk2, Ddir1, Ddir2, Dang1, Dang2, OffsetReverse1, OffsetReverse2, TranslateSurface1, TranslateSurface2, Merge, UseFeatScope, UseAutoSelect, T0, StartOffset, FlipStartOffset)

该函数用来对草图进行拉伸等操作的。

草图拉伸的具体参数描述: Sd为此变量为真时为单向终止,假时为双向终止;Flip为此变量为真时为反向切除;T1为取值为: 0,1,2,3,4,5,6,7,表示第1个终止类型;T2为此变量取值同T1,说明同T1;S1为第1个方向拉伸的深度;S2为第2个方向拉伸的深度;Dchck1为允许第1个方向上可以存在拔模,为假时表示不允许;Dchck2为允许第2个方向上可以存在拔模,为假时表示不允许;Ddir1为真时表示第1个方向上可以存在内拔模,为假时表示有外拔模;Ddir2为真时表示第2个方向上可以存在内拔模,为假时表示有外拔模;Dang1、Dang2分别为第1和第2个方向上的拔模角度。在图2中,共包含3个拉伸操作,第1个拉伸是针对D1,拉伸深度S1取H1;第2个拉伸则针对D2,S1取H2-H1;第3个拉伸针对D3,S1取H2。

3计量泵零部件的自动装配

装配的主要要求是能够满足同一模块的不同组件的可换性。计量泵是的基本原理和大体结构类似,比如隔膜式计量泵都具有液力端和驱动端,根据不同的客户需求,各个子部件乃至零件选型不同[14]。这就要求通过零部件替换的方式实现自动装配。在组件的装配接口等问题上要求产品具有互换性。组件的自动装配还需要对建模特征进行识别,这就要求组件模型不能够被消除特征。在自动装配的过程中,通过程序编码遍历组件中的各种特征,选取需要的特征进行配合。

Part.Extension.SelectByID2(" ", "FACE", 00, 0, True, 1, Nothing, 0)

上面的函数就表明在识别完特征之后进行选择所需要的面(FACE)。通过这个步骤的重复计算,能够满足组件对装配的基本要求。

该模块用到SolidWorks对自建模型进行特征读取与特征遍历,记录关键数据,经过SolidWorks内部API函数接口的读取,完成零件的自动装配。主要的装配涉及了同轴、面接触、面对齐等配合方式。

装配需要根据输入的参数选择计量泵的3个主要部件,然后进行装配。

3.1装配流程

在SolidWorks的装配环境下,人工手动装配的流程图如图3所示。计算机的自动装配过程也是大同小异。① 打开需要装配的部件体,API调用AssemblyDoc函数,打开装配部件。② 新建一个新的装配体文件,为即将加入的部件做准备,并且装配体文件会根据打开的现有的文件数自动命名。③ 就开始向新建的装配体文件加入第1个部件。此部件会自动设置成固定件。接着加入第2个部件,放在某位置,此时的第2个部件是非固定部件,用户可以任意拖动。紧接着加入第3个部件。在加载完成部件后,开始执行配合程序。

图3 自动装配的流程Fig.3 Automatic assembly process

3.2载入计量泵部件

在载入计量泵的零部件前,需要激活SolidWorks的装配环境。在编程环境下用到的语句为

Dim swAssy As SldWorks.AssemblyDoc

Set swAssy=swModel

必须在激活环境后才可以添加载入零部件的函数。

AddComponent5可实现将部件添加到SolidWorks装配环境中,具体用法和参数意义如下:

AddComponent5(CompName, ConfigOption, ConfigName,X,Y,Z)

CompName为索要添加的部件名称,但要注意的是需要包含全部路径及后缀名,否则会出现错误;ConfigOption为加入的组件的配置参数;ConfigName为加入环境中部件的配置名字,一般不做特殊设置;X、Y、Z为部件中心加入SolidWorks装配体后所处的位置坐标。

3.3自动装配

在3个计量泵组件完全载入到新建立的装配体文件中后,程序开始执行装配关系代码。自动装配的遍历装配流程如图4所示。图5为通过程序查找到所需要装配的3个部件及其需要配合的面。在计量泵子部件装配过程中用到的

图5 需要装配的3个部件及其需要配合的面Fig.5 Three components and their mated faces of a metering pump for assembling

图4装配体遍历面的过程
Fig.4Process of body assembly

API有Selectionmanager、GetSelectionObjectCount、GetSelectionObjectType2等

[15]

4计量泵装配体的工程图自动生成

SolidWorks零件库包含了大部分国家标准的常用规格,特别是具有强大的工程图开发模块,能够通过二次开发满足企业的设计需求。在处理工程图纸时,应优先使用国家标准方法。对于计量泵装配图的工程制图,程序中需对于SolidWorks设置相关属性。通过参数化设计方法加快计算速度的SolidWorks。研究方案就是参照SolidWorks提供的API函数,结合自动建模的特点,确定预先设定的位置,完成工程图纸的绘制。这不仅提高了设计人员的设计质量,减少了设计人员,更能修改相关的尺寸,可以实时更新工程图纸,减少工程师检查的时间。

图6为通过程序自动生成的简易工程图效果。从图7的流程中可见,工程图的自动出图的主要操作步骤是调用API函数执行原来的Solid-Works操作。

图6 简易的工程图效果Fig.6 Result of simple engineering graphics

图7 API制作工程图的流程Fig.7 API process for making engineering drawings

5结语

本文论述了SolidWorks二次开发方法、计量泵快速设计系统的具体要求,分析了计量泵快速设计系统开发环境的创建,进而结合开发实例,对计量泵快速设计系统的模型构建、自动装配、工程图生成等关键模块进行了深入阐述。提出基于SolidWorks计量泵快速设计原型系统能快速、有效地应对市场和客户的需求变化,满足客户的需求、缩短计量泵的设计周期、提高生产效率,以便增强企业的全球竞争力。

参考文献

[1]LI Kailing,BAI Guiheng,REN Shifang.Search on an intelligent automatic design system of modular fixture[J].Journal of Harbin Institute of Technology (New Series),2005,12(SUPPL.2): 47-51.

[2]MAJERIK J,JAMBOR J.Computer aided design and manufacturing evaluation of milling cutter when high speed machining of hardened steels[J].Procedia Engineering,2015,100: 450-459.

[3]CHEN Tian.Blade inspection system[J].Applied Mechanics and Materials,2013,423-426: 2386-2389.

[4]王珉,杨树东.液压隔膜式计量泵液力端设计与应用[J].石油矿场机械,2013,42(1): 86-88.

[5]殷国富,徐雷.Solidworks2007二次开发技术实例精解.机床夹具标准件三维图库[M].北京: 机械工业出版社,2007: 1-10.

[6]SOLIDWORKS公司(美).SOLIDWORKS高级教程-二次开发与API[M].北京: 机械工业,2009: 126-127.

[7]曾锋,钟治初,姚山.Solidworks API二次开发方法与应用[J].嘉应学院学报,2011,29(11): 21-25.

[8]张莉.基于SolidWorks平台的二次开发技术[J].计算机时代,2003(10): 31-32.

[9]程磊,杨永顺,陈建军.Visual C++对SolidWorks的二次开发方法[J].河南科技大学学报(自然科学版),2004,25(2): 42-45.

[10]王文波,徐海宁,熊君星.SolidWorks 2008二次开发基础与实例(VC++)[M].北京: 清华大学出版社,2009: 1-12.

[11]赵盼,张燕,薛峰,等.基于SolidWorks二次开发的零件三维参数化设计及装配[J].科学技术与工程,2010,10(7): 1674-1679.

[12]CHEN Tian,YAN Xuanxuan,YU Zhonghai.The research and development of VB and solidworks-based 3D fixture component library[J].Applied Mechanics & Materials,2013,300-301: 301-305.

[13]刘萍萍.面向企业应用的Solidworks软件二次开发[D].南京: 南京理工大学,2004.

[14]王积功.双隔膜计量泵的结构原理及应用[J].流体机械,1998(2): 43-45.

[15]江洪,魏峥,王涛威.SolidWorks二次开发实例解析[M].北京: 机械工业出版社,2004: 87-96.

Rapid Design System of Metering Pump Based on SolidWorks

CHEN Tian,CHEN Haipeng,YIN Song,LI Lin,XU Fuchun

(School of Mechanical Engineering, Shanghai Dianji University, Shanghai 201306, China)

AbstractThe metering pump for continuously adjusting flow that can meet the needs of different kinds of strict process is applied in various industrial fields. In this paper, we discuss the method and environment of secondary development of SolidWorks, and analyzes specified demands of a fast design system of metering pump. Modeling, automated assembly, and generation of engineering drawing of the system are described. A prototype fast design system of metering pump presented in this paper can greatly reduce time of model selection, and improve production efficiency.

KeywordsSolidWorks secondary development; metering pump; computer aided design (CAD); software platform

收稿日期:2015-12-30

基金项目:上海市自然科学基金项目资助(15ZR1417200);上海市教育委员会科研创新重点项目资助(14ZZ169);闵行区科委产学研项目资助(2014MH182);上海市大学生创新活动计划项目资助(A1-5701-14-006-08-19);上海电机学院登峰学科建设项目资助(15DFXK02)

作者简介:陈田(1973-),女,教授,博士,主要研究方向为数字化设计、制造及检测,E-mail: chent@sdju.edu.cn

文章编号2095-0020(2016)02-0070-06

中图分类号TP 391.72;TH 715.3

文献标识码A

猜你喜欢

计量泵工程图二次开发
通过三维软件PDF自适应转换实现工艺卡片二维工程简图的高清显示
涤纶纺丝计量泵常见故障分析及对策
实验室液体准确输送的秘密—计量泵
“3+4”人才培养模式下本科阶段“工程图学”课程的优化设计
实验室液体准确输送的秘密—计量泵
面向工程认证的机制专业工程图学(一)课程教学探索
浅谈基于Revit平台的二次开发
MASTERCAM工程图出图功能研究
浅谈Mastercam后处理器的二次开发
西门子Easy Screen对倒棱机床界面二次开发