蜗轮蜗杆三维参数化1_第1页
蜗轮蜗杆三维参数化1_第2页
蜗轮蜗杆三维参数化1_第3页
蜗轮蜗杆三维参数化1_第4页
蜗轮蜗杆三维参数化1_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于VB的蜗轮蜗杆参数化设计摘 要本设计以蜗轮蜗杆为研究对象,建立其数学模型,使用Visual Basic语言对SolidWorks2011进行二次开发。通过录制宏、编辑宏的方法,获得参数化设计的源程序,在Visual Basic 6.0编辑器中对其进行相应的代码替换和修改,最后制作成简单的程序,并添加控件和窗体来实现蜗轮蜗杆的参数化实体设计建模。通过对蜗轮蜗杆的参数化设计,详细说明了基于Visual Basic语言进行的SolidWorks二次开发方法,为初学者提供一个便利的参考,提高了编程效率,可以避免走一些不必要的弯路,也对类似的复杂曲面形状的零部件参数化设计提供了借鉴。蜗轮蜗杆参数化设计与SolidWorks造型软件的开发,不仅实现了蜗轮蜗杆的参数化设计与三维实体造型的结合,缩短了产品设计时间,有利于提高产品开发的效率和质量,同时所完成的三维实体零件模型为后续的进一步研究工作提供了必要的条件。关键词:蜗轮蜗杆,Visual Basic,SolidWorks 2012,参数化Parametric VB for Worm and Worm Gear Based on SolidWorksAbstractThis design takes the worm and worm gear as an object,establishes its mathematical model,introduces the theory and method of the Redevelopment approach or SolidWorks2011 with Visual Basic. Modifing and replacing the source program obtained by recording and editing macro in Visual Basic 6.0, finally makes into a simple program. And it helps us to achieve the worm and worm gear threedimensional parametric solid model by adding the controls and forms.By the Parametric 3D-Design for worm and worm Gear , it makes us understand the secondary development of SolidWorks and Provides a favorable reference for beginners to improve their programming efficiency and avoid detours. It also provides a reference for three-dimensional design of similar parts with complex surface shape . The development of worm and worm gear parametrical design and modeling software brings about the join of gear parametrical design and three- dimensional substance modeling ,shortens the time of design produce ,and benefits the improvement of produce quality and efficiency.It has realized the wormAnd worm gear three-dimensional parametric model, which has provided the essentional condition for the following further research work.Keywords:worm and worm gear , Visual Basic, SolidWorks 2012, parametric目录 第一章 绪 论11.1 蜗轮蜗杆传动特点11.2 SolidWorks二次开发的研究背景和意义1第二章 SolidWorks软件的简介12.1 SolidWorks软件的特点12.2 SolidWorks的二次开发功能22.3 Visual Basic对SolidWorks的简单开发过程22.3.1宏工具条22.3.2宏录制及其源代码的简单调试3第三章 蜗轮蜗杆的参数化描述53.1 蜗轮蜗杆传动的主要参数及选择53.2 蜗轮蜗杆的参数化计算7第四章 蜗轮蜗杆参数化建模的实现84.1 参数化建模中约束参数的提取94.2 数学模型94.2.1 蜗杆的数学模型94.2.2 蜗轮的数学模型104.3 蜗轮蜗杆参数化建模的基本步骤114.3.1 蜗杆的建模步骤124.3.2 运用程序创建蜗杆实体124.3.3 蜗轮的建模步骤184.3.4 运用程序创建蜗轮实体19第五章 结 论25参考文献26致谢27附录1 蜗杆程序28附录2 蜗轮程序35第一章 绪 论1.1 蜗轮蜗杆传动特点蜗轮蜗杆传动主要是在空间交错的两轴间传递运动和力的一种传动机构,常见的有圆柱蜗杆传动、环面蜗杆传动、和锥蜗杆传动。与其他传齿轮动相比,蜗轮蜗杆传动具有传动比大、冲击载荷小、传动平稳、噪声小、结构紧凑、可实现反向自锁等优点,所以被广泛运用到各类机械设备的传动系统中。1.2 SolidWorks的研究背景和意义由于现实中部分产品的结构比较复杂,特别是其外形曲面,一般的手工三维建模方法效率低下,而且绘图精度较低。如今的SolidWorks软件虽然具有相对比较强大的绘图建模功能,但是目前还不是十分成熟,对于非标准零件,特别是比较复杂的零件进行建模过程依旧显得比较繁琐。为了适合各行企业的不同需要,使 SolidWorks在我国的企业中有效地发挥重大作用,并使常用的或重复的任务自动化,提高效率,对其进行本地化和专业化的二次开发显得十分必要。本文以应用最广泛的阿基米德螺旋线圆柱蜗杆传动为例,利用Visual Basic编程语言来实现SolidWorks2011的二次开发,对蜗轮蜗杆进行参数化建模设计,提高产品的开发效率和质量,同时也为产品所要进一步进行的有限元分析、动力学分析和机构仿真等奠定一定基础。第二章 SolidWorks软件的简介2.1 SolidWorks软件的特点SolidWorks是一套智能型的高级CAD/CAE/CAM组合软件,自1995年问世以来,凭借其具有强大的零件设计、钣金设计、管理设计、绘制二维工程图、支持异地协同工作等功能,同时也拥有结构分析、运动分析、动态模拟仿真、高级渲染等专业功能,特别是它完全基于Windows的图形界面和特征的参数化、变量化设计技术,使其操作方便,易学易懂,赢得了广大用户的青睐。但是,此软件虽然是国际通用的三维机械设计软件,可是其中的一些功能并不符合我国国标,也不带有所有的标准件3D图库。因此,为了适合特定的需求,使SolidWorks能够更有效地发挥作用,并使特定的或复杂的任务自动化,提高效率,对其进行一定的二次开发在现实的应用中显得至关重要。2.2 SolidWorks的二次开发功能目前主流的CAD软件都为用户提供了一定的二次开发功能,通过CAD软件的二次开发工具,可以极大提高产品的设计研发效率,同时也促进CAD系统的用户化、本地化。SolidWorks为用户了提供强大的API(Application Programming Inter -face )应用编程接口,它是一个基于OLE Automation的编程接口,此接口为用户提供了自由、开放、功能完整的开发工具,其中包含了数以百计的功能函数,这些函数为人们提供了直接访问SolidWorks的能力。VB在二次开发中的参数化编程方式主要有两种:一种尺寸驱动法,通过修改CAD系统建模时自动生成的设计变量来驱动零件,所以程序的代码非常简捷。SolidWorks在零件建模时,将根据建模的过程自动创建设计变量,并给每个变量赋以相应的名称,尺寸驱动程序只需修改这些变量的值。另一种是程序驱动法,它是通过完全运用程序调用API函数对象来绘制图形,产生的代码量很大,而且每次生成零件时都需运行一次程序,运行速度相对较慢。但由于它可以处理非设计变量的参数,具备变型设计的能力,所以人们常常把它作为尺寸驱动法的一个辅助手段来使用。虽然这两种方法都具有各自优越性,但是对于初学者来说,不可能在很短的时间内熟练地掌握SolidWorks中所有API函数的调用命令。SolidWorks中整合了VB编辑器,这个编辑器可以进行宏与二次开发的制作,使用宏录制工具可以大大简化二次开发过程。用这种方法也可以快速得到SolidWorks的操作命令,这比检索全英文的API文档方便快捷,所以SolidWorks提供的宏命令对于初学者来说显得非常重要。2.3 Visual Basic对SolidWorks的简单开发过程2.3.1宏工具条SolidWorks软件中的宏工具条如图2-1所示,主要包括宏操作的命令按钮,同时也可以单击菜单栏中的工具来调用宏命令。我们可以通过移动鼠标到任一工具上,单击右键来将宏工具栏显示在SolidWorks的工具栏中。宏工具栏的按钮主要包括运行、停止、录制/暂停、编辑等按钮,对于初学者来说,应该熟悉了解各个按钮的基本用途。图2-1 宏工具条2.3.2宏录制及其源代码的简单调试(1)利用宏工具录制的圆柱体源代码如图2-2所示。图2-2 圆柱体源代码(2)在VB程序开发环境中建立标准EXE文件,引用SolidWorks类型库,单击菜单栏中“工程” “引用”命令,选择“SolidWorks 2012 Type Libray”、“SolidWorks 2012 Consant Type library”和“SolidWorks 2012 exposed Type Libraries For add-in Use”。(3)在Visual Basic中添加相关控件,程序界面如图2-3所示。图2-3 基本参数对话框(4) 调试后的程序如图2-4所示。 图2-4 调试后的程序在通用区写入下面的代码来定义变量:Dim swApp As ObjectDim part As ObjectDim boolstatus As Boolean Dim D As DoubleDim L As Double在Command1控件下写入下面的代码:Set swApp = CreateObject(SldWorks.Application)Set part = swApp.NewPart()swApp.Visible = True在Command2控件下写入主要代码如上图2-4中所示。(5)单击VB中的启动按钮,程序调试结果如下图2-5所示:图2-5圆柱体模型注:在SolidWorks的API函数中的单位是米,如Set skSegment = Part.CreateCircleByRadius2(0, 0, 0, D / 2000),API中的绘制圆的函数是以半径为参数,所以除以2000。第三章 蜗轮蜗杆的参数化描述3.1 蜗轮蜗杆传动的主要参数及选择本文中主要采用普通圆柱蜗杆传动如图,其主要参数有模数m、压力角、蜗杆头数z1、蜗轮齿数z2及蜗杆的分度圆直径d1、中心距a等。 (1)模数m和压力角 和齿轮传动一样,蜗杆传动的几何尺寸也以模数为主要计算参数,蜗杆模数系列见表 3-1。蜗杆和蜗轮啮合时,在中间平面上,蜗杆的轴面模数、压力角应与蜗轮的端面模数、压力角相等,即ma1 = ma2 = maa1 = at2 阿基米德蜗杆的轴向压力角a为标准值20,当蜗杆与蜗轮的轴线交错角为90时,还需保证蜗杆的导程角等于蜗轮的螺旋角,即1 = 2,且两者的螺旋线的旋向相同。表3-1 蜗杆模数值第一系列1, 1.25, 1.6, 22.5 , 3.15, 4, 5, 6.3, 8, 10, 12.5, 16, 20, 25, 31.5, 40第二系列1.5, 3, 3.5, 4.5, 5.5, 6, 7, 12, 14(2)蜗杆的分度圆直径d1 因为在用蜗轮滚刀切制蜗轮时,滚刀的分度圆直径必须与工作蜗杆的分度圆直径相同,为了限制蜗轮滚刀的数目,国家标准中规定将蜗杆的分度圆直径标准化,且与其模数相匹配,d1与m匹配的标准系列见表 3-2。表3-2 蜗杆分度圆直径与模数的匹配标准系列m11.251.622.5d1182022.4202822.435.52845m3.15456.38d135.556407150906311280140(3)齿数 蜗杆的齿数又叫做蜗杆的头数,用z1表示。一般可取z1 = 1 10,推荐选取z1 = 1、2、4、6。在传动比大或者反行程具有自锁性的传动中,常取z1 = 1,及单头蜗杆;当要求传动效率较高时,z1应取大值。蜗轮的齿数z2可以根据传动比计算得出。对于动力传动,一般推荐z2 = 29 70。(4)蜗杆传动的中心距a a = (d1 + d2)/ 2 = m *(q + z2) / 2 3.2 蜗轮蜗杆的参数化计算在蜗轮蜗杆的参数化设计过程中所用到的参数的计算公式见下表3-3表3-3 普通圆柱蜗杆传动的基本几何尺寸计算公式名称代号计算关系式说明蜗杆头数z1按规定选取蜗轮齿数z2按传动比确定齿形角aa =20或n =20按蜗杆类型确定模数mm=ma=mn/cos按规定选取传动比ii=n1/n2=z2/z1蜗杆为主动,按规定选取中心距aa=(d1+d2+2x2m)/2按规定选取蜗杆直径系数qq=d1/m蜗杆轴向齿距pp = m蜗杆导程TT =mz1蜗杆分度圆直径d1d1=mq按规定选取蜗杆齿顶圆直径da1da1=d1+2ha1=d1+2ha*m蜗杆齿根圆直径df1df1=d1-2hf1=da-2(ha*m+c)蜗杆齿根高hf1hf1=(ha*+c*)m=1/2(d1-df1)蜗杆齿顶高ha1ha1=ha*m=1/2(da1-d1)齿顶高系数ha*ha* = 1顶隙系数c*c* = 0.2蜗杆导程角tan=mz1/d1=z1/q蜗轮分度圆直径d2d2=mz2=2a-d1-2x2m蜗轮齿顶高ha2ha2=1/2(da2-d2)=m(ha*+x2)蜗轮齿根高hf2hf2=1/2(d2-df2)=m(ha*-x2+c*)蜗轮齿顶圆直径df2df2=d2-2hf2蜗轮分度圆直径d2d2=mz2=2a-d1-2x2m蜗轮齿宽b2由设计确定蜗轮齿厚st按蜗杆节圆处轴向齿槽宽ea确定第四章 蜗轮蜗杆参数化建模的实现本文以最常见的阿基米德圆柱蜗杆为研究对象来简述参数化建模过程的基本思路和其建模原理,包括建模约束参数的提取,蜗轮蜗杆的数学模型的简单介绍,蜗杆建模和蜗轮建模的基本步骤及其建模过程中SolidWorks二次开发功能的详细分析。4.1 参数化建模中约束参数的提取 分析约束参数的提取过程,该方法可以扩展到其它产品模型约束参数的提取中。根据人们的设计要求,结合蜗杆传动关键尺寸的约束,可以很容易的得出蜗轮蜗杆在参数化建模中所需要的主要参数:蜗杆头数z1、压力角、蜗轮齿数z2、模数m、蜗杆直径系数q、蜗杆分度圆直径d1、中心距a等。在蜗轮蜗杆的参数化建模过程中,只要约束了这些主要的参数变量,就能很容易的确定蜗轮蜗杆。4.2 数学模型在三维建模过程中,数学模型显得至关重要,它是我们进行图形绘制的关键,只有熟悉了解零件产品的数学模型,才能比较精确的绘制出我们所需要的零件图,才能进一步去分析零件其它方面的性能。4.2.1 蜗杆的数学模型对于阿基米德蜗杆来说,其螺旋面的形成与螺纹的生成类似,由一个等腰梯形齿廓截面绕阿基米德螺旋线扫描切除得到。如图4-1所示为蜗杆齿廓的数学模型。图4-1 蜗杆数学模型4.2.2 蜗轮的数学模型图4-2所示为蜗轮与阿基米德蜗杆啮合情况。过蜗杆的轴线作一平面垂直于蜗轮的轴线,该平面对于蜗杆是轴面,对于蜗轮是端面,这个平面称为蜗杆传动的中间平面。在此平面内蜗杆的齿廓相当于齿条,蜗轮的齿廓相当于一个齿轮,即在中间平面上两者相当于齿条与齿轮的啮合。图4-2 普通圆柱蜗杆的传动由于SolidWorks中没有绘制渐开线的功能,所以需要计算渐开线上若干点的坐标值,通过样条曲线拟合得到近似的渐开线。其数学模型如图4-3所示。渐开线参数方程如下: x1(rk) = rk sin( + k) y1(rk) = rk cos( + k) x2 = - x1(rk) y1 = r1 + r2 + y1 = /(2z2) tan + k = arccos (rb / rk) k = tank +k(其中,r1 、r2分别是蜗杆、蜗轮的分度圆半径,k是渐开线上K点的展角,rk为渐开线在任意点K的向径,且有rf rk ra)图4-3 蜗轮数学模型利用上述渐开线参数方程绘制出渐开线,再进一步修剪为齿廓后,使用扫描这一特征就可以得到一个齿槽(扫描时,以蜗杆的螺旋线为导线),最后再使用圆周阵列便可以得到一个完整的蜗轮。4.3 蜗轮蜗杆参数化建模的基本步骤首先熟悉蜗轮蜗杆的画法,再利用SolidWorks中的宏录制功能,得到绘制蜗轮蜗杆的源代码,然后在Visual Basic 6.0中对全部变量进行声明,计算结构尺寸,并输入相关参数(蜗杆蜗轮的参数变量如图4-4和图4-5所示),最后仿照第二章中2.3.2宏编辑及其源代码的简单调试来编辑和调试程序。 图4-4 蜗杆基本参数对话框 图4-5 蜗轮基本参数对话框4.3.1 蜗杆的建模步骤(1)以齿顶圆半径绘制草图,拉伸获得蜗杆坯体(拉伸的长度即为蜗杆的长度)。(2)在新建的基准面上建立螺旋线(螺旋线基圆为蜗杆分度圆,高度等于蜗杆的拉伸长度,螺距等于蜗杆的导程,起始角等于90)。(3)以图4-1所示的蜗杆数学模型建立蜗杆齿廓(本文中主要通过几何尺寸及其添加几何关系来获得齿廓)。(4)利用扫描切除特征获得蜗杆三维建模模型(以阿基米德螺旋线为扫面路径,齿廓为扫描轮廓)。(5)对于多头蜗杆,可以通过圆周阵列来得到(阵列对象为“扫描切除”特征,阵列轴为蜗杆中心轴,起始角度为2/ z1,阵列个数为z1,采用等距阵列)。4.3.2 运用程序创建蜗杆实体 下面主要以单头蜗杆为例来说明蜗杆实体生成的主要实现过程及其主要程序。(1)蜗杆坯体的创建boolstatus = Part.Extension.SelectByID2(前视基准面, PLANE, 0, 0, 0, False, 0, Nothing, 0)Part.SketchManager.InsertSketch TruePart.ClearSelection2 TrueDim skSegment As ObjectSet skSegment = Part.CreateCircleByRadius2(0, 0, 0, Da / 2000)以坐标原点为圆心,齿顶圆半径为半径绘制圆,其中Da为变量参数Part.ClearSelection2 TruePart.SketchManager.InsertSketch TruePart.ShowNamedView2 *上下二等角轴测, 8Part.ClearSelection2 Trueboolstatus = Part.Extension.SelectByID2(草图1, SKETCH, 0, 0, 0, False, 0, Nothing, 0)Dim myFeature As ObjectSet myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, L / 1000, 0.01, False, False, False, False, 0.01745329251994, 0.01745329251994, False, False, False, False, True, True, True, 0, 0, False)Part.SelectionManager.EnableContourSelection = False此为拉伸过程,L为变量参数(2)绘制螺旋线boolstatus = Part.Extension.SelectByID2(前视基准面, PLANE, 0, 0, 0, False, 0, Nothing, 0)Part.SketchManager.InsertSketch TruePart.ClearSelection2 TrueSet skSegment = Part.CreateCircleByRadius2(0, 0, 0, D / 2000)Df为螺旋线基圆半径,即蜗杆分度圆半径Part.ClearSelection2 TruePart.SketchManager.InsertSketch TruePart.InsertHelix False, False, False, False, 2, G / 1000, p / 1000, 15.91549430919, 0, 1.570796326795 G为螺旋线高度,p为螺距(上述程序所生成的蜗杆螺旋线如下图4-6所示,生成螺旋线时以蜗杆分度圆半径作为螺旋线基圆的半径,选用“螺旋线高度”和“螺距”这两个参数来获得所需的螺旋线)图4-6 蜗杆建模中螺旋线的生成(3)绘制蜗杆齿廓 首先绘制任意齿廓,然后按照蜗杆齿廓数学模型,计算各个变量,并进行相应的参数变量的声明和一定的修改,下面是齿廓修改后的部分程序。boolstatus = Part.Extension.SelectByID2(右视基准面, PLANE, 0, 0, 0, False, 0, Nothing, 0)boolstatus = Part.EditDimensionProperties2(0, 0, 0, , , False, 7, 2, True, 12, 12, , , True, , , False)boolstatus = Part.EditDimensionProperties2(0, 0, 0, , , False, 7, 2, True, 12, 12, , , True, , , False)Part.Parameter(D1草图3).SystemValue = Part.ClearSelection2 Trueboolstatus = Part.Extension.SelectByID2(Line4, SKETCHSEGMENT, 3.909293814548E-08, 0.06431711666873, -0.0460911112736, False, 0, Nothing, 0)boolstatus = Part.Extension.SelectByID2(Line6, SKETCHSEGMENT, 3.909293820773E-08, 0.05540169895969, -0.04439293647188, True, 0, Nothing, 0)Set myDisplayDim = Part.AddDimension2(0, 0.05794896116227, -0.01425033374129)Part.ClearSelection2 Trueboolstatus = Part.EditDimensionProperties2(0, 0, 0, , , False, 7, 2, True, 12, 12, , , True, , , False)boolstatus = Part.EditDimensionProperties2(0, 0, 0, , , False, 7, 2, True, 12, 12, , , True, , , False)Part.Parameter(D2草图3).SystemValue = Ha / 1000Part.ClearSelection2 Trueboolstatus = Part.Extension.SelectByID2(Line6, SKETCHSEGMENT, 3.909293818402E-08, 0.05879804856313, -0.068167383696, False, 0, Nothing, 0)boolstatus = Part.Extension.SelectByID2(Line5, SKETCHSEGMENT, 3.909293840339E-08, 0.02738181473126, -0.05967650968739, True, 0, Nothing, 0)Set myDisplayDim = Part.AddDimension2(0, 0.03332542653729, -0.02061848924776)Part.ClearSelection2 Trueboolstatus = Part.EditDimensionProperties2(0, 0, 0, , , False, 7, 2, True, 12, 12, , , True, , , False)boolstatus = Part.EditDimensionProperties2(0, 0, 0, , , False, 7, 2, True, 12, 12, , , True, , , False)Part.Parameter(D3草图3).SystemValue = Hf / 1000Part.ClearSelection2 Trueboolstatus = Part.Extension.SelectByID2(Line6, SKETCHSEGMENT, 3.909293817809E-08, 0.05964713596399, -0.04481748017231, False, 0, Nothing, 0)Set myDisplayDim = Part.AddDimension2(0, 0.07705342768166, -0.04142113056886)Part.ClearSelection2 Trueboolstatus = Part.EditDimensionProperties2(0, 0, 0, , , False, 7, 2, True, 12, 12, , , True, , , False)boolstatus = Part.EditDimensionProperties2(0, 0, 0, , , False, 7, 2, True, 12, 12, , , True, , , False)Part.Parameter(D4草图3).SystemValue = s / 1000Part.ClearSelection2 Trueboolstatus = Part.Extension.SelectByID2(Line5, SKETCHSEGMENT, 3.909293841747E-08, 0.05323068004644, -0.03057561649989, False, 0, Nothing, 0)boolstatus = Part.Extension.SelectByID2(Line7, SKETCHSEGMENT, 3.909293879039E-08, -1.740050979668E-04, -0.02547789655428, True, 0, Nothing, 0)Set myDisplayDim = Part.AddDimension2(0, 0.02555734319888, -0.05703521050325)Part.ClearSelection2 Trueboolstatus = Part.EditDimensionProperties2(0, 0, 0, , , False, 7, 2, True, 12, 12, , , True, , , False)boolstatus = Part.EditDimensionProperties2(0, 0, 0, , , False, 7, 2, True, 12, 12, , , True, , , False)Part.Parameter(D5草图3).SystemValue = Df / 2000Part.ClearSelection2 True以上是齿廓尺寸修改后,得到的齿廓截面boolstatus = Part.Extension.SelectByID2(Line1, SKETCHSEGMENT, 3.909293866665E-08, 0.01754664042722, -0.03057561649989, True, 0, Nothing, 0)boolstatus = Part.Extension.SelectByID2(Line8, SKETCHSEGMENT, 3.909293838865E-08, 0.05735740571669, 2.534517425671E-04, True, 0, Nothing, 0)Part.SketchAddConstraints sgCOLINEAR以上是添加线线重合的几何关系Part.ClearSelection2 TruePart.SketchManager.InsertSketch True 图4-7 蜗杆的螺旋线和修正尺寸后的齿廓截面如上图4-7所示即为蜗杆齿廓截面的模型。(4)扫描切除boolstatus = Part.Extension.SelectByID2(螺旋线/涡状线1, REFERENCECURVES, 0.06190797436523, 0.03235430312635, 0.143717855926, True, 0, Nothing, 0)Part.ClearSelection2 Trueboolstatus = Part.Extension.SelectByID2(草图3, SKETCH, 0, 0, 0, False, 1, Nothing, 0)boolstatus = Part.Extension.SelectByID2(螺旋线/涡状线1, REFERENCECURVES, 0.06190797436523, 0.03235430312635, 0.143717855926, True, 4, Nothing, 0)Set myFeature = Part.FeatureManager.InsertCutSwept4(False, True, 0, False, False, 0, 0, False, 0, 0, 0, 0, True, True, 0, True, True, True, False)以上是通过扫描切除这一特征命令获得的如下图4-8所示的单头蜗杆最终建模模型,其中以螺旋线为扫描路径,以蜗杆的齿廓截面为扫描轮廓。图4-8 单头蜗杆建模造型其中,多头蜗杆(图4-9为双头蜗杆的建模造型)的关键程序如下:boolstatus =Part.SetUserPreferenceToggle(swUserPreferenceToggle_e.swDisplayTemporaryAxes, True)Part.ActivateSelectedFeatureboolstatus = Part.Extension.SelectByID2(, AXIS, 3.909293878361E-08, 0.000796989177386, 0.1395911302557, True, 0, Nothing, 0)Part.ClearSelection2 Trueboolstatus = Part.Extension.SelectByID2(切除-扫描1, BODYFEATURE, 0, 0, 0, False, 4, Nothing, 0)boolstatus = Part.Extension.SelectByID2(, AXIS, 3.909293878361E-08, 0.000796989177386, 0.1395911302557, True, 1, Nothing, 0)Set myFeature = Part.FeatureManager.FeatureCircularPattern2(Z, , False, NULL, False) 其中Z为蜗杆的头数, = 2/ Z图4-9 双头蜗杆建模造型4.3.3 蜗轮的建模步骤 (1)绘制蜗轮齿顶圆的草图,并拉伸获得基体,拉伸长度等于齿宽。 (2)首先绘制齿顶圆和齿根圆草图,再通过蜗轮齿廓的渐开线参数方程,运用SolidWorks2011中“方程式驱动的曲线”这一功能,得到样条曲线拟合后的同一个齿槽中一侧的渐开线,再利用“镜像”功能获得另外一条渐开线,最后通过修剪得到蜗轮齿廓。 (3)在新的基准面上建立阿基米德螺旋线(螺旋线的基圆是蜗杆的分度圆,蜗轮的螺旋角等于蜗杆螺旋角,即 = = arctan((mz1)/d1),螺距p = (d2)/ tan,螺旋线圈数n = B / p)。 (4)使用扫描切除特征来生成单个齿廓的蜗轮基体(齿廓作为扫描切除轮廓,阿基米德螺旋线为扫描切除路径)。 (5)建立一个通过基体轴心的基准轴。 (6)通过圆周阵列来生成全齿。(7)最后再绘制轮毂,并通过倒角,键槽等功能,得到完整的蜗轮。4.3.4 运用程序创建蜗轮实体 下面是蜗轮实体生成的主要实现过程及其主要程序。 (1)蜗轮齿顶圆的及其基体的拉伸boolstatus = Part.Extension.SelectByID2(前视基准面, PLANE, 0, 0, 0, False, 0, Nothing, 0)Part.SketchManager.InsertSketch TruePart.ClearSelection2 TrueDim skSegment As ObjectSet skSegment = Part.CreateCircleByRadius2(0#, 0#, 0#, Ra / 1000)Part.ClearSelection2 TruePart.SketchManager.InsertSketch TruePart.ShowNamedView2 *上下二等角轴测, 8Part.ClearSelection2 Trueboolstatus = Part.Extension.SelectByID2(草图1, SKETCH, 0, 0, 0, False, 0, Nothing, 0)Dim myFeature As ObjectSet myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, B / 1000, 0.01, False, False, False, False, 0.01745329251994, 0.01745329251994, False, False, False, False, True, True, True, 0, 0, False)Part.SelectionManager.EnableContourSelection = False (2)蜗轮齿廓的生成boolstatus = Part.Extension.SelectByID2(前视基准面, PLANE, 0, 0, 0, False, 0, Nothing, 0)Part.SketchManager.InsertSketch TruePart.ClearSelection2 TrueSet skSegment = Part.CreateCircleByRadius2(0#, 0#, 0#, Rf / 1000)Part.ClearSelection2 TrueSet skSegment = Part.CreateCircleByRadius2(0#, 0#, 0#, Ra / 1000)Part.ClearSelection2 TrueFor N1 = 0 To N2t = Rf + f * N1 = ArcCos(Rb / t) = K / (2 * Z2) - Tan() + = Tan() - u = t * Sin( + )w = t * Cos( + )Part.SketchSpline N2 - N1, u / 1000, w / 1000, 0 样条曲线的生成Next N1Part.InsertSketch2 TruePart.ClearSelection2 Trueboolstatus = Part.Extension.SelectByID2(草图2, SKETCH, 0, 0, 0, False, 0, Nothing, 0)Part.EditSketchPart.ClearSelection2 TrueSet skSegment = Part.SketchManager.CreateCenterLine(0#, 0#, 0#, 0#, 0.037159, 0#)Part.SetPickModePart.ClearSelection2 Trueboolstatus = Part.Extension.SelectByID2(Spline1, SKETCHSEGMENT, 0.002210763482057, 0.06307480319502, 0.010725, True, 0, Nothing, 0)boolstatus = Part.Extension.SelectByID2(Line1, SKETCHSEGMENT, 0.000587693149383, 0.02197228389269, 0.010725, True, 0, Nothing, 0)Part.SketchMirrorPart.ClearSelection2 Trueboolstatus = Part.Extension.SelectByID2(圆弧2, SKETCHSEGMENT, 0, 0, 0, False, 0, Nothing, 0)boolstatus = Part.SketchManager.SketchTrim(0, -0.00806467926524, 0.06454926414702, 0)Part.SetPickModeboolstatus = Part.Extension.SelectByID2(圆弧1, SKETCHSEGMENT, 0, 0, 0, False, 0, Nothing, 0) 齿廓的修剪boolstatus = Part.SketchManager.SketchTrim(0, -0.00629999165294, 0.05909716958365, 0)Part.SketchManager.InsertSketch True 以上主要是根据蜗轮的渐开线参数方程,并通过样条曲线拟合的方法生成蜗轮齿廓渐开线,再通过相应的修剪,最后获得蜗轮的齿廓截面,如图4-10 所示。图4-10 蜗轮齿廓截面 (3)蜗轮建模中螺旋线的生成boolstatus = Part.Extension.SelectByID2(前视基准面, PLANE, 0, 0, 0, False, 0, Nothing, 0)Part.SketchManager.InsertSketch TruePa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论