首页 > 范文大全 > 正文

基于solidworks建模的VBA创建曲线曲面设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于solidworks建模的VBA创建曲线曲面设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:介绍了SolidWorks软件的优点;叙述了以SolidWorks为开发平台,应用VBA程序进行曲线曲面建模的方法。通过几个三维零件的建模,分析和讨论了SolidWorks软件的一些特点,并针对关于VBA创建曲线曲面问题提出了相应的解决方法;旨在训练建模思路,提高应用 SolidWorks软件设计能力的目的。

关键词:SolidWorks建模 建模分析 曲线曲面 VBA程序

中图分类号:TP391.72 文献标识码:A 文章编号:1674-098X(2014)04(b)-0035-02

随着信息技术在各个领域的迅速渗透,CAD/CAM/CAE技术已经得到了广泛的应用,从根本上改变了传统的设计,生产,组织模式,对推动现有企业的技术改造,带动整个产业结构的变革,发展新兴技术,促进经济增长都具有十分重要的意义。

在现代机械设计中,应用了大量三维造型软件,如UG、/E、Solidworks、Master、CAXA等。这些软件在零件建模、装配检验、工程分析、动画演示、自动编程等方面,显示出突出的优点,越来越受到工业企业的重视和应用。

在机械零件加工中,企业广泛采用数控机床,并电脑接口。工程师首先应用造型软件;零件建模,然后调用软件中的加工模块,设置加工工艺方法和加工参数,最后将这些数据转换成加工程序(G代码)。即自动编程。最后将程序通过电脑接口传输给数控机床,进行自动加工。真正实现信息化、参数化、无图化的加工制造[1]。

现代机械加工离不开计算机和工程软件,即计算机辅助制造――CAM。在此,推荐一款易学易懂、功能较强、应用广泛的三维软件――SolidWorks,着重就软件建模,关于使用VBA创建零件曲线曲面设计进行讨论。

1 Solideworks简介

SolidWorks是美国SolidWorks公司开发的出色的三维参数化特征造型CAD软件,其技术内核基于先的Parasolid图形语言平台。solidworks自从1995年11月问世以来,已成为微机平台上的三维机械设计CAD软件的主流产品,在企业中得到了广泛的应用。

该文选用Slideworks本文选用SolidWorks作为系统开发平台,主要是基于SolidWorks在以下几方面的突出优点[2]:

a)强大的参数化特征造型功能。SolidWorks的参数化和特征造型技术,能方便、快捷地创建几乎任何复杂形状的实体,可以满足绝大部分的工程设计的需要;SolidWorks采用统一的内部数据库,全数据相关,任何一个功能模块中对零件的修改都会自动反映到其他模块中;

b)界面友好,操作简便。SolidWorks采用典型的Windows软件风格,在所有的国外三维CAD软件中提供了最优秀的中文支持;

c)拥有开放的体系结构。SolidWorks拥有丰富的第三方支持软件,提供了开放的数据结构和方便的二次开发环境,为企业今后广泛的工程应用提供了良好的基础平台;

d)优异的性能价格比。SolidWorks 是一款中端CAD系统,企业使用SolidWorks可以花较小的投入满足设计的要求,因此SolidWorks特别适合于中小企业的产品设计。

2 写solidworks的VBA程序

2.1 VBA程序的录制

由于solidworks具有录制操作,自动生成代码的功能,所以用“录制宏”的方法录制操作过程,再进行,即可生成VBA程序[3]。

为了提高编程效率,单击“工具”,“选项”,“系统选项”,“常规”,勾选系统选项中的“录制后直接编辑宏”。

现在来录制一个最简单的VBA程序:在上视基准面上画一个半径为500mm的圆。操作步骤如下:

单击“新建”图标,新建一零件文件,单击菜单“视图”,“工具栏”,“宏”,单击“录制/暂停宏”图标按钮,开始录制。

在solidworks界面上单击特征树上的图标,再单击原点,移动鼠标,画圆。单击“退出草图”图标按钮,单击“左右二等角轴测”图标单击“停止宏”图标,出现“执行宏”对话框。

选择目录,输入文件名,单击“保存”按钮,结束宏的录制。这是,VBA编辑器将自动打开,进入编辑状态。在VBA界面中单击“视图Solidworks”图标按钮,回到SlidWorks界面中,单击”新建按钮,新建一零件文件,试宏的播放环境和录制的环境一样,单击“运行宏”图标按钮,运行程序,画出一个圆。

再运行程序,显示出错,可见,通过宏的录制所产生的代码是经常有问题的,必须对代码进行编辑,才能正确运行。

下面分析录制代码(每行代码前的数字是为了说明问题而加上的)。

01 `**********************************************************

02 `D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\swx1108\Macor1.swb-macro recorded on 14/27/03 by Administratro

03 `**********************************************************

04 Dim swApp As Object

05 Dim Part As Object

06 Dim boolstatus As Boolean

07 Dim longstatus As Long,longwarnings As Long

08 Dim FeatureData As Object

09 Dim Feature As Object

10 Dim Component As Object

11 Sub main()

12 Set swApp=Application.SldWorks

13 Set Part=swApp.ActiveDoc

14 boolstatus=Part.Extension.SelectByID2(“上视基准面”,“PLANE”,0,0,0,False,0,Nothing,0)

15 Part.ClearSelection2 True

16 Part.CreateCircle 0,0,0,0.1005179862306,-0.003901807228916,0

17 Part.ClearSelection2 True

18 Part.InsertSketch2 Ture

19 Part.ShowNamedView2“*等轴测”,7

20 End Sub

程序的前3三行是注释,说明是谁于何年何月录制的宏,第4行到第10行是变量声明,程序第14行是选择是“选择上视基准面”,第16行是“画圆”,由于程序没有录下“新建草图”的操作,因此程序运行到16行时,因Solidworks默认基准面是“前视基准面”,所以就在“前视基准面”上自动开始绘制草图,从而使程序运行出错。

所以可以将代码编辑一下,修改第16行代码中的数字,删除一些不需要的代码,调整后,如下:

01 Dim swApp As Object

02 Dim Part As Object

03 Dim boolstatus As Boolean

04 Sub main()

05 Set swApp=Application.SldWorks

06 Set Part=swApp.ActiveDoc

07 boolstatus=Part.Extension.SelectByID2(“上视基准面”,“PLANE”,0,0,0,False,0,Nothing,0)

08 Part.InsertSKetch2 True 这一行“新建草图”的操作没录制下来!

09 Part.CreateCircle 0,0,0,0.1,0,0

10 Part.InsertSketch2 Ture

11 Part.ShowNamedView2“*等轴测”,7

12 End Sub

保存后运行,运行成功。

分析:第5,6两行是赋值语句,变量swApp和Part被分别复制为Solidworks应用程序和Solidworks的当前文档,第七行是选择“上视基准面”,第八行是“开始绘制草图”,第11行是将视图设为“等轴测”。

2.2 通过XYZ点的曲线

圆形螺旋弹簧的建模,关键在于路径曲线。这种“通过XYZ点的曲线”,可用vba创建

(1)单击宏工具拦上的“新建”图标,选择文件路径,输入文件名,单击保存,自动打开VBA编辑器。

(2)单击工程资源管理器窗口中的名称Macrol,在属性窗口中将项目名称改为“圆形螺旋弹簧”:用同样方法将模块Macrol1名称改为“圆形螺旋弹簧1”。在VBA编辑器中,选择“插入”“用户窗体”菜单项,向程序添加一个窗体,将Caption属性设置为“圆形螺旋弹簧”,名称改为frmMain。

(3)添加一个图像框,调整大小和窗体相匹配,其picture图片文件在配套光盘中。添加4个标签分别调整其Caption属性为“匝数”,“路径圆半径”,“螺旋线半径”,“界面半径”。添加4个文字框,分别调整其Text属性为“30”,“600”,“100”,“15”。

(4)添加两个命令控件,分别调整其Caption属性为“确定”和“取消”;名称为“cmdDraw”和“cmdExit”。在工程资源管理器中双击模块“圆形螺旋弹簧1”,删除VBA自动生成代码,输入以下代码:

Sub main ()

frmMain.Show

End Sub

(5)在窗体中双击“确定”命令按钮,进入代码窗口,在该按钮的Click事件中添加下面代码:

Option Explicit

Dim swApp As Sldworks.SldWorks

Dim part As Sldworks.ModelDoc2

Dimboolstatus As Boolean

Const pi = 3.1415926535897

Private Sub cmdDraw click()

(6)在对话框中双击“取消”命令按钮,进入代码窗口,在该按钮的Click事件中添加下面代码:

Private Sub cmdExit click()

Unload Me

End Sub

(7)在VBA编辑器中按“F5”键,单击“运行宏”图标,运行VBA程序,可完成圆形螺旋弹簧的建模。

3 结语

程序中,字符串变量MacroName得到带有路径的宏文件名,通过InStrRev函数得到MacroNam最右边的斜杠“\”的位置,由Left$函数得到宏文件的路径,因此,只要将图像框的图片文件和宏文件放在同一文件夹中,就可以通过Image1.Picture=LoadPicture这样的语句正确地加载图片,而不会出现错误。

程序中各公式曲线的数学公式如下:

心型线参数方程:

x=a*(cost)^3,

y=a*(sint)^3 (t为参数)

心脏线的参数方程:

x(t)=a(2cost-cos2t)

y(t)=a(2sint-sin2t)

阿基米德螺旋线

r=aθ

圆的渐开线的参数方程

x=r(cos φ+φsin φ)

y=r(sin φ-φcos φ)

摆线的参数方程

y=r*(1-cost)

x=r*(t-sint)

曳物线的参数方程:

x=acosθ;

y=aln[tan^2(θ+π4)]-asinθ

参考文献

[1] 刘长征.精通SolidWorks2003[M].北京:清华大学出版社,2004.

[2] 江洪.SolidWorks2003二次开发基础与实例[M].北京:电子工业出版社,2004.

[3] 江洪.SolidWorks2003高级曲线曲面实例解析[M].北京:机械工业出版社,2007.