基于SolidWorks二次开发的剪式升降平台快速设计系统

2017-06-20 16:53尹建强仲梁维冯强
软件导刊 2017年4期
关键词:参数化设计二次开发

尹建强+仲梁维+冯强

摘要:为了满足企业对剪式升降平台快速设计需求,以三维建模软件为平台,提出了基于SolidWorks二次开发的产品快速设计方法。应用SolidWorks API函数二次开发模块,结合SQL Server数据库技术对产品各零部件信息进行管理,以高级编程语言VB.NET作为开发工具,进行二次开发。实践表明:使用SolidWorks进行二次开发的快速设计系统可以节省设计时间和开发成本,提高生产效率。

关键词:SolidWorks 二次开发;剪式升降平台;参数化设计

中图分类号:TP319

文献标识码:A

文章编号:16727800(2017)004009703

0引言

制造业竞争激烈,企业不得不在短时间内满足不同客户设计要求,同时还要保证产品设计质量。剪式升降平台是广泛应用于空中作业的专业设备,通过操作平台可以在空中方便完成前进、后退、上下、转向等一系列动作[1]。在对剪式升降平台系列化设计过程中,经常会重复用到结构相同而尺寸不同的零部件,传统方法是将每个零部件单独设计,为此占用设计人员大量时间,影响了新产品开发周期[2]。鉴于机械设计领域对参数化方法的广泛应用,本文基于SolidWorks二次开发技术提出了剪式升降平台结构参数化设计思想,以减少设计人员的重复劳动,提高设计效率[35]。1SolidWorks二次开发基本原理 SolidWorks为二次开发提供了大量的应用程序编程接口对象(Application Programming Interface,API),這些对象包含了全部的SolidWorks数据模型,通过对这些对象属性的设置和调用,用户就可在开发的动态链接库(Dynamic Link Library,DLL)中实现与SolidWorks相同的功能。图1所示为SolidWorks对象模型的层次结构,它为树形结构模型,以SolidWorks对象为根,其它对象都是它的子对象[6]。

本文利用尺寸驱动法对SolidWorks进行二次开发。尺寸驱动法是将模型的尺寸标注视为变量,然后赋予不同的尺寸值,这样就可以保持模型结构不变,获得一系列结构相同而尺寸不同的相似零件[7-8]。采用这种方法进行二次开发,在参数化建模中只在模板模型的基础上更改零件的尺寸值就可达到更新模型的目的。由于没有重新建模过程,只是改变了已有模型的尺寸,因此提高了图形的更新速度。 任何支持对象连接与嵌入(Object Linking and Embedding,OLE)的编程语言都可以作为Solid Works的开发工具。本文选择Visual Basic编程语言作为开发工具。与其它编程语言相比,VB语言功能强大、规则简单、容易上手,其语法规则与SolidWorks提供的宏录制功能代码规则完全一致,程序编写方便 [910]。2剪式升降平台快速设计系统

2.1系统简介

剪式升降平台快速设计系统采用Visual Basic编程语言对SolidWorks建模软件进行二次开发,为用户提供专用的SolidWorks功能模块。本系统使用VB.NET调用SolidWorks的API函数,用SQL Server数据库建立并调用零件数据参数,实现零件模型的建立、修改、压缩、删除等各项操作。通过剪式升降平台参数化设计系统,可以避免大量重复性工作,提高设计效率。

2.2系统设计流程

剪式升降平台设计流程如图2所示。设计人员进入剪式升降平台快速设计系统界面,按照产品需求,输入相应参数数据,此时系统会检测输入的参数是否合理,然后对模型进行整体驱动。三维模型驱动完毕后,输出零件、部件、总装图的二维工程图,并在SolidWorks界面中显示。

2.3参数化程序

SolidWorks软件在建模过程中会自动将输入的设计参数定义成变量,当模型尺寸需要变化时,只需更改生成的变量值就能达到更新模型的目的。参数化程序就是将生成的设计变量提取出来,同时SolidWorks提供的宏录制功能将建模过程输出为代码,通过代码来更改设计变量值,从而驱动新的尺寸[1112]。

3系统设计及实现

基于SolidWorks二次开发的剪式升降平台快速设计系统,能够针对不同客户对产品进行定制化设计,快速设计出具有标准化和规范化的剪式升降平台产品。本系统由多种软件集成开发,不同软件之间通过接口相互连接。其中,系统的人机界面设计与后台的编写以微软公司的Visual Basic.NET为开发工具实现;系统产品数据库管理以SQL Server 2008作为数据开发技术支撑;系统在SolidWorks开发环境下进行三维模型及二维工程图建模与调整。

3.1系统界面

用户设计界面是人机交互最重要的部分。界面应方便设计人员对参数进行输入、修改和保存,简单快捷。如图3所示,在系统界面不需要用户输入所有零部件细节参数,只需输入简单的尺寸,如总高度H、承载平台长度L、承载平台宽度W、承载重量M等一系列关键参数。对于零部件的细节参数,系统将根据输入的关键参数,利用写入程序的经验公式计算得出,剪式升降平台应满足强度、刚度要求。

3.2SolidWorks插件菜单实现

在利用Visual Basic.NET对SolidWorks进行二次开发前,首先要安装开发组件APISDK,它为用户提供了二次开发功能,是连接VB.NET与SolidWorks的桥梁。使用SolidWorks API的功能编制DLL插件,可以加载到SolidWorks系统的内部菜单,类似于SolidWorks自带的Routing、ToolBox插件。 内嵌插件建立好后需要对其进行相关设置。点击菜单栏下SwVBAddin1的项目属性,如图4所示,此属性下的调试功能需要设置调用SolidWorks的安装路径,即启动外部程序设置SolidWorks的安装路径。

设置好属性后,按F5运行启动程序,程序可直接打开SolidWorks软件界面并在SolidWorks上生成DLL插件。用户根据需要自定义插件名称,并在插件下添加一级、二级子菜单,使其满足设计要求。当用户在SolidWorks界面单击生成子菜单时,就会弹出图4所示的设计界面。

3.3数据库应用

利用SQL Server 2008作为系统的数据支持,它是微软公司开发的一款支持.NET编程环境的数据库,能够和不同的编程语言进行对接。SQL语言功能强大,用户在数据库环境下,通过编写查询语句,对数据库中的数据进行查询、更新和修改[13]。 在剪式升降平台快速设计系统开发过程中,运用数据库技术对剪式升降平台数据或参数进行管理: (1)标准件数据管理。标准件数据管理主要是将标准件模型数据保存,当用户定制剪式升降平台时,通过程序代码就可快速从数据库中进行标准件选型,随后进行模型驱动。 (2)液压缸型号数据管理。设计人员在设计剪式升降平台过程中,系统会自动提取出能够满足强度及刚度的液压缸。 (3)工程图数据管理。工程图数据管理主要是对装配体、部件、零件的工程图视图比例、视图位置、尺寸位置等一系列数据进行定位。图5为支撑臂工程图尺寸的定位数据截图。

以下为VB.NET连接数据库代码: Dim connectionstr As String ‘定义的链接字符串 connectionstr=“server=服务区地址;database=数据库;uid=用户名;pwd=密码” Dim conn As New SqlConnection(connectionstr)定义连接功能 conn.Open()打开连接 conn.Close()关闭连接 数据库连接成功后,用戶就可在VB.NET中编写SQL查询语句,并传递到SQL中,实现人机界面对数据库的直接访问。3.4工程图参数化自动调整技术 剪式升降平台的工程图使用基于参数化出图方法。当模型参数修改后,对应更新的工程图会出现很多问题,例如视图大小不一、视图位置不合理、尺寸位置漂移等[14]。运用SolidWorks中的DrawingDoc API函数实现对工程图的参数化出图及调整,以完善工程图。 视图调整很简单,只需对视图位置的X坐标值和Y坐标值进行设置,即制定好O′点的参数即可,O′的坐标获取方式可以直接在SolidWorks工程图上捕捉,将鼠标移动到需要设置的点,状态栏上会自动显示位置信息。 以下为调整视图位置代码: Public Sub adjustViewPosition(ByVal swpart As ModelDoc2,ByVal name As String,ByVal Xpoint As Double,ByVal Ypoint As Double) ‘定义通用过程和视图名称,O的X坐标,Y坐标 Dim x As Single = Xpint ‘将X坐标赋值给x变量 Dim y As Single = Ypint ‘将Y坐标赋值给y变量 swpart.ActivateView(name) ‘激活工程图视图,视图名为name变量 boolstatus=swpart.Extension.SelectByID2(name,”DRAWINGVIEW”,0,0,0,false,0,Nothing,0) ‘选择指定的视图 Dim swSelMgr As SelectionMgr = swpart.SelectionManager ‘定义选择管理器,并且存放选择的对象,即指定的工程图视图 Dim swView As IView = swSelMgr.GetSelectedObject5(1) ‘h获得视图对象 Dim swPosition As Object = swView.Position ‘定义视图位置变量 swPosition(0) = x ‘将X变量值赋值 swPosition(1) = y ‘将Y变量值赋值 swView.Position = swPosition ‘调整视图位置到指定位置 End Sub ‘退出通用程序 打开SolidWorks软件,进入到用户系统界面,并输入相应的设计参数,点击模型驱动设计按钮,SolidWorks软件会自动建立剪式升降平台三维模型。图6为快速设计系统运行后得到的剪式升降平台三维模型结果。

4结语

本文阐述了SolidWorks二次开发的基本原理,介绍了剪式升降平台快速设计系统,给出该系统总体设计流程,并对系统的程序设计及实现过程进行了重点论述。开发的快速设计系统平台,用户只需输入关键参数即可进行快速设计,节省了大量设计时间,企业能快速响应市场变化,大大改善了产品研发和设计现状。

参考文献:

[1]孙毅.对称驱动剪式升降平台设计及研究[D].昆明:昆明理工大学,2012.

[2]金建国,周明华,邬学军.参数化设计综述[J].计算机工程与应用,2003(7):1618.

[3]王鸿钧.典型机械零件参数化设计系统的研究与开发[J].制造业自动化,2010,32(7):3638.

[4]沈斌,宫大.产品广义参数化设计的研究[J].计算机工程与应用,2006,31(1):9496.

[5]李戬,杨媛媛.基于广义参数化技术的机械产品设计方法研究[J].矿山机械,2012,40(12):104108.

[6]李权才,吴俊峰,武翠荣.基于SolidWorks平台对大型架桥机的二次开发技术[J].中国水运,2008,8(1):4143.

[7]张君伟,王士军,郑晓龙.基于SolidWorks尺寸驱动法二次开发的滚珠丝杆三维建模[J].组合机床与自动化加工技术,2015(11):2224.

[8]龙军,孙新岭,张涛,等.智能化尺寸驱动法在参数绘图中的探索应用[J].工程图学学报,2003(4):4043.

[9]林卓然.VB语言程序设计[M].北京:电子工业出版社,2012.

[10]钱海军.Visual Basic项目案例开发实战[M].北京:清华大学出版社,2016.

[11]商剑鹏.SolidWorks 2015完全自学手册[M].北京:电子工业出版社,2016.

[12]陈超祥,胡启登.SolidWorks高级教程简编[M].北京: 机械工业出版社,2015.

[13]张昊,高晶.SQL Server 2008数据库原理及应用教程[M].北京:清华大学出版社,2016.

[14]黄气良,王宗彦,吴淑芳,等.参数化变形设计中工程图调整技术优化研究[J].工程图学学报,2011(1):168173.

(责任编辑:杜能钢)

猜你喜欢
参数化设计二次开发
浅谈基于Revit平台的二次开发
浅谈Mastercam后处理器的二次开发
西门子Easy Screen对倒棱机床界面二次开发
基于SolidWorks的零件建模参数化设计应用简析
基于CATIA的飞机复杂结构件三维参数化设计①
基于Pro/E二次开发的推土铲参数化模块开发