基于SolidWorks的液压缸参数化设计 联系客服

发布时间 : 星期二 文章基于SolidWorks的液压缸参数化设计更新完毕开始阅读312c90116edb6f1aff001f24

安徽理工大学毕业设计

结论

目前,参数化设计已成为最热门的应用技术之一,能否实现参数化设计也成为评价产品优劣的重要技术指标,这是因为它更符合和贴近现代概念设计以及并行设计思想,工程设计人员设计开始阶段可快速草拟产品的零件图,通过对产品形状及大小的约束最后精确成图。同一系列产品的第二次设计可直接通过修改第一次设计来实现,设计参数不但可以驱动设计结果,而且影响产品的整个开发周期,设计参数可来自于其他系统。但国内目前处于研究阶段,本文就液压缸的参数化设计为例,介绍了SolidWorks的二次开发工具和参数化思想。在设计过程中重点了解液压缸的结构,这样才能在参数化建模过程中知道要将那些参数设为变量。本此设计的的重点是基于VBA的SolidWorks的二次开发,VBA语言的应用是整个参数化的主体。在此过程中用的工具就是SolidWorks自带的宏。通过宏的录制、编辑、运行,掌握了API中一些函数的功能。从而实现液压缸的各部件参数化,最终完成装配体。

在SolidWorks软件开发中,参数化设计方法的研究已成为研究和开发的热点,但目前的所有软件还没有一种完美地解决现今存在的一些问题。随着各种参数化技术的相互融合,各种新技术的不断发展,相信最终会出现能较完美实现参数化功能的技术。

29

安徽理工大学毕业设计

参考文献

[1]许贤良,王传礼.液压传动.北京:国防工业出版社,2006.9

[2]江红,郦祥林,李仲兴.SolidWorks2006基础教程.北京:机械工业出版社,2006.1 [3]中国机械工程学会,中国机械设计大典编委会.中国机械设计大典.南昌:江西科学技术出版社,2002.1

[4]纪丰伟,陈恳,张保根.二维参数化技术的发展趋势及现状.机械设计与制造工程.2006.7

[5]王宗彦,吴淑芳,秦慧斌,连清旺,张亚明.SolidWorks机械产品高级开发技术.北京:北京理工大学出版社,2005.10

[6]江红,李仲兴,刑启恩.SolidWork2003二次开发基础和实例教程.北京:电子工业出版社,2003.6

[7] 陈岳坪,陈敏,肖学勤.SolidWorks 的界面设计技术[J].广西工学院学报,2003 [8] Solidworks orporation.olidWorks 2001Plus API 帮助主题[CP/DK].2001 [9] 江洪,魏峥,王涛威.SolidWorks 二次开发实例解析[M].机械工业社,2004 [10]郭连水.基于特征参数设计方法[J].航空学报,1994.10

[11]Light R A,Grossard D C.Modifacation of Geomoteric Models Though Variational

Geomotery.Coputer Aided Design,1982,14(4):209-214

[12]Aldefeld.Variation of Geomotries Based on a Geomoteric Reasoning Method.Coputer

Aided Design ,1988,20(3):117-126

[13] Suzuki H,Hand A ,Kimura F.Geomoteric Constraints and Reasoning for Geomoteric

CAD System.Computer Graphics,1990,14(2):211-224

30

安徽理工大学毕业设计

附录A(一级缸的参数化代码)

Dim swApp As Object Dim part As Object Dim boolstatus As Boolean Dim longstatus As Long Dim feature As Object Sub main()

Set swApp = Application.SldWorks

Set part = swApp.NewDocument(\2008\\templates\\零件.prtdot\

Set part = swApp.ActivateDoc2(\零件1\Set part = swApp.ActiveDoc

boolstatus = part.Extension.SelectByID2(\前视基准面\0)

part.SketchManager.InsertSketch True Dim SkLine As Object

Set SkLine = part.SketchManager.CreateCenterLine(0, 0, 0, l / 1000, 0, 0) Set SkLine = part.SketchManager.CreateLine(0, (d1 - 44) / 2000, 0, 0, d2 / 2000, 0) Set SkLine = part.SketchManager.CreateLine(0, d2 / 2000, 0, 0.195, d2 / 2000, 0) Set SkLine = part.SketchManager.CreateLine(0.195, d2 / 2000, 0, 0.195, d1 / 2000, 0) Set SkLine = part.SketchManager.CreateLine(0.195, d1 / 2000, 0, l / 1000, d1 / 2000, 0) Set SkLine = part.SketchManager.CreateLine(l / 1000, d1 / 2000, 0, l / 1000, (d1 - 49) / 2000, 0)

Set SkLine = part.SketchManager.CreateLine(l / 1000, (d1 - 49) / 2000, 0, 0.195, (d1 - 49) / 2000, 0)

Set SkLine = part.SketchManager.CreateLine(0.195, (d1 - 49) / 2000, 0, 0.195, (d1 - 45) / 2000, 0)

Set SkLine = part.SketchManager.CreateLine(0.195, (d1 - 45) / 2000, 0, 0.08, (d1 - 45) / 2000, 0)

Set SkLine = part.SketchManager.CreateLine(0.08, (d1 - 45) / 2000, 0, 0.08, (d1 - 44) / 2000, 0)

Set SkLine = part.SketchManager.CreateLine(0.08, (d1 - 44) / 2000, 0, 0.05, (d1 - 44) / 2000, 0)

31

安徽理工大学毕业设计

Set SkLine = part.SketchManager.CreateLine(0.05, (d1 - 44) / 2000, 0, 0.05, (d1 - 42) / 2000, 0)

Set SkLine = part.SketchManager.CreateLine(0.05, (d1 - 42) / 2000, 0, 0.038, (d1 - 42) / 2000, 0)

Set SkLine = part.SketchManager.CreateLine(0.038, (d1 - 42) / 2000, 0, 0.038, (d1 - 44) / 2000, 0)

Set SkLine = part.SketchManager.CreateLine(0.038, (d1 - 44) / 2000, 0, 0, (d1 - 44) / 2000, 0) '画草图1

boolstatus = part.Extension.SelectByID2(\\0, 0, 0, False, 4, Nothing, 0)

boolstatus = part.Extension.SelectByID2(\草图1\part.InsertRevolvedRefSurface 6.28318530718, False, 3.14159265359, 0 '旋转

boolstatus = part.Extension.SelectByID2(\右视基准面\0)

part.CreatePlaneAtOffset3 0.195, False, True

boolstatus = part.Extension.SelectByID2(\基准面1\boolstatus = part.Extension.SelectByID2(\基准面1\'插入基准面 part.InsertSketch

Set SkLine = part.SketchManager.CreateLine(-0.03, (d1 + 104) / 2000, 0, 0.03, (d1 + 104) / 2000, 0)

Set SkLine = part.SketchManager.CreateLine(0.03, (d1 + 104) / 2000, 0, 0.03, (d1 - 6) / 2000, 0)

Set SkLine = part.SketchManager.CreateLine(-0.03, (d1 + 104) / 2000, 0, -0.03, (d1 - 6) / 2000, 0)

Set SkArc = part.SketchManager.CreateArc(0, 0, 0, -0.03, (d1 - 6) / 2000, 0, 0.03, (d1 - 6) / 2000, 0, -1)

boolstatus = part.Extension.SelectByID2(\True, 0, Nothing, 0)

boolstatus = part.Extension.SelectByID2(\\0, 0, 0, True, 0, Nothing, 0)

part.SketchAddConstraints \part.SketchAddConstraints \

32