金石波纹管欢迎你    咨询电话:025-83425899,13770768553


 

关于举办膨胀节设计与有限元应力分析研讨学习班的通知

新增 膨胀节报价软件、三分钟完成报价方案

波纹管膨胀节设计软件已升级为第六版全面支持EJMA第十版

      压力平衡型膨胀节简介 关于膨胀节软件英文版的说明

关于膨胀节系列软件的声明

           个人概述           个人简介       产品介绍    文章推荐   资料下载       联系信息

 

 

        

基于SolidWorks的波形膨胀节三维参数化绘图软件的开发

郭道宜*  

(南京工业大学 机械与动力工程学院 南京 210009

摘要:提出了波形膨胀节三维参数化绘图软件开发的总体框架和实现方法。通过可视化编程工具Visual Basic 6.0对三维绘图软件SolidWorks2006进行二次开发,软件实现膨胀节自动建模、自动装配、自动出工程图功能。

关键词 SolidWorks、波型膨胀节、参数化绘图、二次开发

 

Development of Bellows Expansion Joint Parametric Drawing Software Based on SolidWorks

 (College of Mechanical Engineering, Nanjing University of Technology, Nanjing, 210009, China)

Abstract: The paper have been put forward strategy and implement method of Bellows Expansion Joint Parametric Drawing Software based on SolidWorks. The software realizes that products automatically modeling, automatically assembly and automatically creating engineering drawing by redeveloping of SolidWorks2006 in Visual Basic 6.0.

Key words: SolidWorksBellows Expansion JointParametric DrawingSecondary Development 

1.序言

波纹管膨胀节是由一个或几个波纹管及结构件组成,用来吸收热胀冷缩等原因引起的管道和(或)设备尺寸变化的装置[1]

目前国内大多数膨胀节生产企业在膨胀节的设计过程中只是利用二维CAD软件绘图,绘制一套图纸需花费不少的时间,图纸修改也很不方便。而且CAD软件通常只是给设计人员提供了一般的设计方法和手段,对具体行业、企业缺乏针对性和专业性。因此,需要对CAD绘图软件进行有针对性的二次开发,使其适应行业的需求。

SolidWorks在中端三维CAD软件中是一款十分优秀的产品。目前市场上的三维CAD解决方案中,设计过程最简便的莫过于SolidWorks了,其在软件的易用性和建模能力这两个互相矛盾的特性上做到了很好的平衡。因此我们采用SolidWorks2006作为图形软件平台进行二次开发,选择Visual Basic 6.0作为开发工具开发波形膨胀节参数化绘图软件。绘图软件可根据输入条件在SolidWorks中实现自动建模、自动装配,并自动生成符合国标及行业习惯的全套工程图纸,包括零件图、总图、装配图。 

2SolidWorks二次开发原理

SolidWorks为方便各类用户对其进行二次开发,提供了APIApplication Programming Interface)应用函数接口,它是一个基于OLE Automation的编程接口,此接口为用户提供了自由、开放、功能完整的开发工具,其中包含了大量的功能函数,这些函数提供了程序员直接访问SolidWorks的能力。API中的函数可以被Visual BasicC/C++VBA或者是SolidWorks宏文件以及其他支持OLE的开发程序调用[2]

Visual Basic6.0 SolidWorks2006进行二次开发通常采用下列步骤:

(1) 安装SolidWorks2006Visual Basic6.0

(2) 启动Visual Basic6.0,新建立工程,创建所需的窗体及控件,并在工程中引用SolidWorks2006的类文件“SldWorks 2006 Type Library”;

(3) 编写所需的代码,所写的代码应该与由SolidWorks 的宏工具所生成的代码类似;

(4) 编译调试好程序后对工程进行打包,生成安装程序。

 

3.软件设计的总体框架

  3.1软件的工作流程

本软件向用户提供膨胀节的三维模型及二维工程图。用户首先要确定膨胀节的类型、装配关系、零部件参数及出图设置。然后软件根据输入的参数生成三维实体模型。最后根据前面建立的实体模型生成二维工程图。其工作流程图如下所示。

1 软件工作流程图

3.2软件的总体结构

软件采用模块化的程序设计。将一个复杂的大程序按层次分解成若干相对独立、功能单一的模块,每个模块完成一个功能,按模块组合,完成指定的全部功能。由于模块之间是相对独立的,所以每个模块可以独立被理解、编程、调试、排错和修改,这可使复杂的研制工作得以简化,提高软件的质量[3]

根据所要实现的功能,本软件系统大体分成了3大模块:

1.  参数输入模块

用户通过软件界面输入的参数均通过该模块直接写入到指定的文本文件中。当参数输入完毕后,后面模块中所需的参数将不再通过参数输入模块获取,而是直接从文本文件中读取。图2 为软件中波纹管参数的输入界面。

2 波纹管参数输入界面

 

2.  三维模型生成模块

该模块分为零部件模型生成和装配体模型省两部分。每个零部件建模程序以及零部件装配程序都是一个独立的部分。其所需的参数,都直接从文本中读取。零件与零件之间没有直接的联系。生成的零件模型存放于指定的位置,供装配和出工程图时使用。

3.  工程图生成模块

SolidWorks中生成工程图需要根据建好的模型。工程图程序模块的结构的设计方法和三维模型程序模块相似。他调用模型的实体模型,并从模型中获取零件的信息,而不与三维模型程序模块发生联系。

各个模块之间的关系如图3所示:

3 程序模块关系

4.系统的实现

4.1 零件自动建模

自动建模主要有两种方法[4]:一是参数化系统建模法,即利用人机交互形式建立模型,设置合理的设计变量,再通过VB程序驱动设计变量实现模型的更新,这种方法编程较简单,通用性好;二是程序参数化建模法,完全用程序实现三维模型的参数化设计以及模型的编辑,这种方法编程较前者复杂,但可以实现对具有复杂形体的零件造型,如生成波纹管模型。本文中采用了以参数化系统建模法为主,程序参数化建模法为辅的方式。

自动建模的关键代码及说明:

…………

Set swApp = CreateObject("SldWorks.Application")  '启动SolidWorks

Set Part = swApp.NewDocument(App.Path + " \波纹管.prtdot", 0, 0#, 0#)  '打开模板文件

Set Part = swApp.ActiveDoc

Part.SaveAs2 App.Path + " \波纹管.SLDPRT", 0, False, True   '新建模型文件

swApp.Visible = True    'SolidWorks可见

Part.Parameter("W@波纹管草图").SystemValue = 0.2    '调整波纹管波距的尺寸

 …………..

 

为方便最后出工程图,在建模的过程中,我们还要在模型的属性中添加一些信息:一类可以认为是文件通用属性,如文件的作者、主题等信息;另一类属性是描述SolidWorks文件的工程信息,如零件的代号、材料名称、材料密度等。

对于一个零件而言,其工程信息往往要在工程图中显示出来,不仅在零件工程图的标题栏中需要显示,在装配图的材料明细表中也需要显示。如果需要根据材料明细表整理整个产品的基本件、借用件和标准件,这些信息也需要一致。因此在生成零件模型时就应该添加相关的工程信息。

通过调用ModelDoc2::SetUserPreferenceDoubleValue ModelDoc2::CustomInfo2 API函数可以实现属性自定义信息的添加。

 

4.4 自动装配

零件模型生成以后,装配程序模块将在SolidWorks中自动打开零部件,并打开一张装配体图,然后根据各个零件或子装配体之间相互的装配关系将零部件装配体图中进行装配。装配过程完全通过程序读取数据,将参数化设计中改变的零件的相互间的装配数据读出并进行重新配置。其实质是利用三维软件平台提供的二次开发环境,使三维实体预置到特定的空间位置,实现三维实体的装配[5]

装配零部件首先要建立一个装配图文件,然后往装配图中添加零部件,接下来就是给相关的零部件添加装配关系。

在波纹管膨胀节约束装配过程中可以先将主要部件以及附近的小部件进行装配,形成子装配体,然后再将子装配体进行约束装配来达到装配整体的目的(图)。这样的装配不仅可以使装配比较方便,而且对某些子装配体可以重复引用。子装配体的装配关系隐藏在自己的装配体中,总装配体中不涉及的子装配体可以设定为轻化。图4是一个自动装配完成的单铰链膨胀节模型。

4 单铰链型膨胀节装配体模型

 

4.5 自动出工程图

生成工程图是绘图系统最后一步,同时也是工作量最大,最复杂的一步。

工程图必须符合国标及行业习惯。为了实现这一功能,我们可以需要定制工程图文件模板。在模板中可以自己绘制符合GB的图框,还可将图纸中的注释文本与工程图或工程图中模型的自定义摘要信息建立关联,从而实现自动填写标题栏的功能。

在绘制装配总图时通常还要添加材料明细表(BOM)和技术特性表等若干个表格。我们同样可以在SolidWorks定制所需的表格模板。SolidWorks2006中提供了总表、材料明细表、孔表、修订表、焊件切割清单等几种表格模板,我们可以在其基础进行简单的修改然后将其存为所需的表格模板。材料明细表通过View::InsertBomTable2函数将其自动添加到工程图中。其它的表格可以通DrawingDoc::InsertTableAnnotation2函数添加。

建立好所需的图纸格式后便可在图纸绘制零件并进行标注。自动出图程序的基本流程与手工绘图的流程相似。通常我们通过宏工具录制绘图的过程,然后根据录制的宏代码查找相关的API函数,仿照手动绘图的大致流程编写出相应的程序,使其SolidWorks实现自动出图。图5为系统自动生成的单铰链膨胀节装配总图。

软件系统可将生成工程图纸可转换成不同的文件格式,使其能被包括AutoCADPro-EUG等软件打开。

5 单铰链型膨胀节装配总图

 

5.结束语

波形膨胀节参数化绘图软件可以避免设计人员的大量重复劳动,节省了设计人员绘图时间、减少了出错概率,尤其在修改设计时它具有直观、准确、高效的优点。它可以有效的提高不少小型企业的设计水平,提升企业CAD应用水平和设计水平,增强企业的市场竞争力。此外,软件提供了良好的程序结构,可以很方便地整合波纹管及结构件的设计校核程序模块,使其真正实现设计、出图的自动化。

 

参考文献:

[1] 金属波纹管膨胀节通用技术条件. 中华人民共和国国家标准GB/T127777-1999. 国家技术监督局,1999

[2] 李为民,刘淑芳. 基于SolidWorks平台的二次开发技术〔J.机械制造, 2003,41464

[3] 李敏,刘和平. 波纹管膨胀节设计软件的模块化设计[J]. 洛阳工学院学报,1997,18(3)

[4] 李卫民. 基于SolidWorks平台的二次开发技术[M ]. 机械制造,2003. 4.

[5] 胡钢华,宋德朝. 港口机械行走装置参数化设计及三维虚拟仿真[J ]. 制造业自动化,2005. 3

[6] SolidWorks Corporation. SolidWorks2006 API help

 

 

如有关于本站点的问题或建议,请向whitehall@126.com发邮件。
版权所有(C) 2006 南京工业大学波纹管技术中心