版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、引言盘状凸轮(plate cam):具有变化半径盘状体,从动在垂直于凸轮的平面内作移动或摆动。楔形移动凸轮(wedge cam):将盘形凸轮一个扇形部分绕在圆锥上-锥形凸轮,即在圆锥体上开有曲线槽,从动件运动与圆柱凸轮相同。柱状凸轮(cylindrical cam):移动凸轮绕在圆柱体上圆柱凸轮。实际上是在圆柱体上开有曲线槽端面上做成曲面形状,从动件与在凸轮轴同一平面或平行平面内移动,摆动。尖底从动件(a knife edge follower): 点接触,易磨损,传力不大。2.滚子从动件(aroller follower):线接触:磨损小,传力大平底从动件 (a flat-face fo
2、llower):平面接触,接触处易形成油膜,高速。往复移动凸轮机构(reciprocating)摆动凸轮机构(oscillating)1.1.4 按锁合方法分类力封闭(弹簧 、重力) 形封闭(槽形、等宽矩形、等径、共轭)1.2 凸轮设计的现状凸轮机构是能使从动件按给定规律运动的高副机构,被广泛应用于各类机械中。然而,由于凸轮机构设计复杂,计算工作量大,凸轮轮廓的精度对输出响应影响大,凸轮加工较困难等原因,应用范围及应用水平受到限制。传统的盘形凸轮设计主要有图解法和法,加工方法有手工线加工和数控铣削加工,大批量生产亦可采用仿形铣。图解法直观简单,但是手工作图选取的等分数有限、精度差。1.1.3
3、按从动件的运动形式分类1.1.2 按从动件与凸轮的接触形式分类在各种机械中,特别是自械和自动控制装置中,广泛地应用各种形式的凸轮机构。凸轮的分类凸轮按形状分类以此为基础工画线加工的精度和加工表面精度都比较低。目前大多数凸轮的设计仍采用手工方法,以尖顶对心直动从动件的凸轮轮廓设计为例(本所解决)。从动件的运动规律如图二,要求生成对应的凸轮轮廓,常用的方法是描点和拟合。对图中水平线从动件没有升降运动的,可以在凸轮坐标系中直接根据圆心,半径,转角画出圆弧;对斜线段,可用适当的几个绕圆心均匀分布,半径线性增加的节电连成曲线;对曲线段,可以求出尽可能多的结点连接成轮廓。手工从事这部分工作既麻烦又难保证精
4、度,因此,对于从动件运动规律复杂,精度要求高的凸轮,手工操作难以胜任。上述部分工作虽然可以借助专门的凸轮设计,但大多数一般用户并不拥有这些。于是本人尝试在法的基础上用 vb 对从动件运动规律编程,实现凸轮的参数化设计,自动生成 NC 代码,供数控机床加工凸轮零件。2、凸轮的设计原理本的设计就是根据工作要求选定合适的凸轮结构的形式、推杆的运动规律和有关的基本尺寸,然后根据选定的推杆运动规律设计出凸轮应有的轮廓曲线。其关键是根据工作要求选定推杆的运动规律,并运用数学对运动曲线进行处理,以生成 NC 代码,供数控机床使用。2.1 确定各段推杆运动曲线2.1.1 推杆的运动规律凸轮机构设计的主要步骤是
5、确定从动件的运动规律(见图 2-1、2-2)。从动件的运动规律主要由以下参数确定:从动件行程h、推程运动角u、远休止角s、回程运动角d和进休止角0对于盘型凸轮,凸轮转动一周完成一个循环,即有:u+s+d+0=360一般,各个角度由机构的使用要求决定,但通常可以进行调整,使其获得更优的性能。原则上,推程运动角u 越大越好,可以减小推程的压力角。回程运动角d 可以略小些,因为回程一般不是工作行程,压力角可以大些。图 2-1 凸轮机构的运动图 2-2 从动件的运动规律2.1.2 运动规律的类型运动规律可以用从动件的位移S、速度V、加速度a 以及跃度j (j=da/dt)来表示,如上图。常见运动规律的
6、公式如表一所示(h 为行程,x=/u,0 x1):表一 常见运动规律的公式名 称运动规律公式备注等速S=hx刚性冲击修正等速S=8hx2/3(0 x1/4)S=h(8x-1)/6(1/43/4)S=S=h1-8(1-x)2/3(3/4x1)柔性冲击等加速-等S=2hx2(0 x1/2)S=h1-2(1-x)2(1/2x1)柔性冲击梯形加速度S=64hx3/9(0 x1/8)S=h(8x2/3-x/3+1/72)(1/8x3/8)S=h(-64x3/9+32x2/3-10 x/3+7/18)(3/8x5/8)2.1.3 运动规律的特征参数各运动规律的性能表现在速度最大值vmax、加速度最大值 a
7、max 和跃度最大值 jmax 以及速度与加速度之积的最大值(va)max:vmax=Cvh/u2a =C h(/ )maxauj =C h(/ )3maxju2(va)max=Cvah(/u)S=h(-8x2/3+5x-97/72)(5/8x7/8)S=h(64x3/9-64x2/3+64x/3-55/9)(7/8x1)修正梯形加速度S=h2x-sin(4x)/2/(2+)(0 x1/8) S=h4x2-(-2)x+/16-1/2/(2+)(1/8x3/8) S=h2(+1)x-/2-sin(4x-)/2/(2+)(3/8x5/8) S=h(7+2)x-4x2-33/16+1/2/(2+)(
8、5/8x7/8)S=h2x+-sin(4x-2)/2/(2+)(7/8x1)余弦加速度S=h(1-cosx)/2柔性冲击正弦加速度S=hx-sin(2x)/2/2修正正弦加速度S=hx-sin(4x)/4/(4+)(0 x1/8)S=h2+x-9sin(/3+4x/3)/4/(4+)(1/8x3/8) S=h4+x-sin(4x)/4/(4+)(7/8x1)2-3 多项式S=h(3x2-2x3)柔性冲击3-4-5 多项式S=h(10 x3-15x4+6x5)4-5-6-7多项式S=h(35x4-84x5+70 x6-20 x7)系数Cv、Ca、Cj、Cva 称作特征系数(见表二)。Cv=存在刚
9、性冲击,Ca=存在柔性冲击。表二特征系数特征系数Cv、Ca、Cj、Cva 的可能的最小值见表三:特 征 系 数名 称适用场合CvCaCjCva等速1-低速轻载修正等速1.335.33/8.38/105.37.11/5.73低速重载等加速-等248中低速轻载梯形加速度25.3342.78.89高速轻载修正梯形加速度24.8961.48.09高速轻载余弦加速度1.574.933.88中低速中载正弦加速度26.2839.58.18中高速轻载修正正弦加速度1.765.5369.55.46高速重载2-3 多项式1.563.463-4-5 多项式1.885.77606.69高速中载4-5-6-7多项式2.
10、197.5152.510.75高速中载表三 特征系数可能最小值2.1.4 运动规律选择原则一般总希望速度、加速度和跃度的最大值尽可能小,即希望这些特征值尽可能小:a.降低特征系数 Cv 可减小压力角和机构的结构尺寸,降低从动件的运动最大惯量;b.降低特征系数 Ca 可降低从动件的惯性力,减小接触应力和振动。特别是在高速凸轮机构中,更应选择较小的Ca;c.降低特征系数 Cj 可以降低机构的振动。对高速凸轮机构,一般要求位移S 的三阶导数跃度j 连续。d.降低特征系数 Cva 可以减低凸轮轴上的转矩。凸轮轴上的转矩正比于速度与加速度之积。2.1.5 其他限制条件1) 压力角:一般要求 ,是许用压力
11、角u=30(直动从动件的推程);d=70(直动从动件的回程);u=35(摆动从动件的推程);d=70(摆动从动件的回程)。减小压力角的措施:增大推程运动角 u 或回程运动角 d;增大基圆半径 rb;改变运动规律;选择合适的偏置距e。但平底从动件压力角=90,没有这个问题特征系数可能最小值对应的运动规律备注(Cv)min1等速运动(Ca)min4等加运动(Cj)min32等跃度运动(Cva)min2.7对数运动最小值之间关系2)凸轮轮廓变尖或失真:凸轮轮廓变尖或失真长发生在滚子从动件或平底从动件的场合,尤其是平底从动件更易发生轮廓变尖或失真。解决方法:增大推程运动角 u 或回程运动角 d;增大基
12、圆半径 rb;减小滚子半径 rr;改变运动规律;等。2.2 常用的五种曲线根据实际选用了比较常用和容易实现的五种曲线(两大类)2.2.1 多项式运动规律图 2-3等速运动规律图 2-4 等加速等运动规律图 2-5余弦加速度运动规律图 2-6正弦加速度运动规律(2) 正弦加速度运动规律(摆线运动规律) ,如图 2-6 所示。从动件的加速度按正弦规律变化,其运动方程为:3、 曲线的数学处理3.1 曲线的数学处理方法知道数控系般都只有直线和圆弧插补功能,对于非圆曲线轮廓,只有用直线或圆弧去近它。以下是几种常用的近方法:1)等间距直线近法,2)等弦长直线近法,3)等误差直线近法,4)圆弧近法。鉴于等间
13、距直线近法比较简单、易懂,而其余三种方法非常复杂,故本人采用了等间距直线近法来作出曲线的形状。等间距直线近法简介如下:等间距直线近法是使每一个程序段中的某一个坐标的增量相等。图 3-1 表示加工一个凸轮时,x 坐标按等间距分段时结点的分布情况。将 x1x7 的值代入方程 y=f(x),可求得 y1y14 的值,从而得到结点 A1A14 的坐标值。把 A1A2、A2A3A14A1 用直线连起来,即到曲线图形。间距大小一般根据零件加工精度要求凭经验选取。求出结点坐标后再算近误差是否小于允许值。等间距法计算简单,但由于取定的间距应保证曲线曲率最大处的近误差小于允许值,所以程序可能过多。图 3-1 等
14、间距直线 近法考虑到数控机床的精度一般为 0.01,在本中,我采用的间距为 0.1mm,即 x 轴每隔0.1mm 取一个点。If Combotui.ListIndex = 0 Then选择推程曲线,等Low = 0速运动For i =0 To t1 Step 0.1Low= 0s =(h / Tagl) * iPicview2.PSet (i, s)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picview.PSet (Ptx(Low), Pty(Low), RGB(1000,
15、0, 0)Low = Low + 1Next i3.2 误差判断x 取值的大小取决于曲线的曲率和允许误差S。一般先取西x01 试算并校验。误差校验方法如图 218 中的右图所示,MN 为试算后的近线段,作MN平行于 MN 且两直线的距离为允。根据节点的坐标可求得MN 方程:ax 十by 十c0,则 MN的方程为( 3 - 1 )求解联立方程:( 3 - 2 )如果无解,即没有交点,表示近误差小于允;如果只有一个解,即等距线与轮廓线相切,表示近误差等于允;如果有两个或两个以上的解,表示近误差大于允,这时应缩小等间距坐标的增量值,重新计算节点和验算近误差,直至最大的近误差小于或等于允。等间距法计算
16、简单,但由于取定值上x 应保证曲线曲率最大处的近误差小于允许值,所以程序可能过多。3.3 NC 加工代码生成要生成 NC 代码,可以用 AutoCAD 内嵌的 Autolisp 进行转化成 DXF 文件,然后把此文件导入 MsterCAM 中生成 NC 代码。但这样太麻烦了!由于题目的凸轮加工也比较简单,所以我决定用 VB 直接编写 NC 代码,以便本更加人性化。当然了,编写出来的代码,不能像MasterCAM 生成的那样完善。不过,无论用哪种方法得到 NC 代码,其主体部分肯定相同的。所以,对于自行编写出的 NC 代码,稍加修改也一样可以达到目的。在上一步中,我用两个数组保留生成 NC 代码
17、的点的值,接着在 NC 代码的头尾编写与数控实际加工有关的参数,如坐标的选择,刀具半径,主轴转速等等。因为是采用等间距直线插补,所以代码的中间部分就直接取出上面的点的坐标就可以了,在 VB 中以循环的方法就可以很容易实现。代码如下:Low = 0For i = 0 To t1 Step 0.1 Low = 0s = (h / Tagl) * iPicview2.PSet (i, s) , RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180) Pty(Low) = (c1 + s) * Cos(i * (PI / 180)画曲线时的点Pi
18、cview.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next i编NC 代码时所取的点For i = 1 To 3599List1.AddItem N & LTrim(RTrim(j) & G01 & _ X & LTrim(RTrim(Format$(ptx(i), #.#) & _Y & LTrim(RTrim(Format$(pty(i), #.#)4、设计的思路及步骤基于上述观点,在输出 DXF 文件方面,我选择了第二种方法,就是直接编写 DXF 文件。而题目要求此要有一个友好的界面,故我选择了 Visual Basi
19、c 语言。实现的功能是接受用户输入,作出平面凸轮图形,输出 DXF 文件及 NC 代码。具体的步骤是4.1 设计用户界面在 Visual Basic 6.0 中,界面的设计是轻而易举的事情。在这就不加以介绍,而我这次设计的“平面凸轮计算机辅助设计”界面有两类,一是接受用户凸轮输入参数及从动件运动规律和凸轮图形显示,二是接受用户 NC 加工参数及 NC 代码显示窗口。用户介面如图 4-1所示。图 4-1 友好用户介面4.2接受用户输入并生成凸轮图形在中,我提供了凸轮设计中所用到的最基本的四条曲线方程给用户选择,曲线方程的重复无限次。,x=0 时,f(x)=0。然后把展开图的直角坐标系转换为平面图
20、的极坐标系即可得到凸轮真实的图形为了下一步输入 DXF 文件及 NC 代码,所以我定义了一个全局静态数组把作图时得到的点保存起来。4.3 生成 NC 加工代码有了上面留下来的点的数值,只要编写好接口程序,就可以得到 DXF 文件,NC 代码了。至于 DXF 文件的格式请参阅“凸轮的设计原理”部分。4.4、流程图流程图如图 4-2 所示。图 4-2 流程图5、主要模块程序说明5.1判断基本参数的输入Private Subd1_Click()Dim j As Double, i As Double q1 = Val(Text4.Text)推 q2 = Val(Text5.Text)远休q3 = V
21、al(Text6.Text) 回t1 = q1t2 = t1 + q2 t3 = t2 + q3 q4 = 360 - t3h = Val(Text3.Text)d1.Enabled = False d2.Enabled = TrueText1.Locked = True Text3.Locked = True Text4.Locked = True Text5.Locked = True Text6.Locked = True Combo1.Locked = TrueCombo2.Locked = TrueIf q1 0 And q2 0 And q3 0 And h 0 And Val(T
22、ext1.Text) And IsNumeric(Text1) AndIsNumeric(Text3) And IsNumeric(Text4) And _IsNumeric(Text5) And IsNumeric(Text6) Then5.2 坐标生成判断参数输入是否为数字c1 = Val(Text1.Text)c2 = Val(Text3.Text) c = 1.2 * (c1 + c2)Picture2.DrawStyle = 1Picture2.Scale (-c, c)-(c, -c)凸轮曲线坐标系的建立Picture2.Line (0, -1.2 * (c1 + c2)-(0,
23、1.2 * (c1 + c2), RGB(0, 128, 0)Picture2.Line (-1.2 * (c1 + c2), 0)-(1.2 * (c1 + c2), 0), RGB(0, 128, 0)For i = 1 To 10Picture2.Line (0 + i * (c1 + c2) / 10), 0)-(0 + i * (c1 + c2) / 10), c / 50), RGB(0, 128, 0) Picture2.Line (0 - i * (c1 + c2) / 10), 0)-(0 - i * (c1 + c2) / 10), c / 50), RGB(0, 128,
24、 0) Picture2.Line (0, 0 + i * (c1 + c2) / 10)-(c / 30, 0 + i * (c1 + c2) / 10), RGB(0, 128, 0) Picture2.Line (0, 0 - i * (c1 + c2) / 10)-(c / 30, 0 - i * (c1 + c2) / 10), RGB(0, 128, 0) Next iPicture2.Circle (0, 0), c1, vbBlack, 0, 0Picture2.Circle (0, 0), c1 + h, vbBlack, 0, 0 画基圆,顶圆Picture1.ScaleL
25、eft = -30 Picture1.ScaleTop = 1.4 * c2 Picture1.ScaleWidth = 400 Picture1.ScaleHeight = -1.5 * c2Picture1.Line (0, 0)-(360, 0), RGB(0, 128, 0)For i = 1 To 4推杆曲线坐标系的建立Picture1.Line (0, 0 + i * (c2 / 4)-(5, 0 + i * (c2 / 4), RGB(0, 128, 0) Next iPicture1.Line (0, 0)-(0, 1.4 * c2), RGB(0, 128, 0)For i
26、= 1 To 8Picture1.Line (0 + i * (360 / 8), 0)-(0 + i * (360 / 8), c2 / 24), RGB(0, 128, 0)Next i画基圆和顶圆5.3Picture2.Circle (0, 0), c1, vbBlack, 0, 0Picture2.Circle (0, 0), c1 + h, vbBlack, 0, 0 画基圆,顶圆5.4画曲线(等加速等运动)ElseIf Combo2.ListIndex = 1 Then Low = 10 * t2For i = t2 To (t2 + t3) / 2 Step 0.1s = h -
27、 2 * h * (i - t2) 2) / (q3 2) Picture1.PSet (i, s), RGB(1000, 0, 0) Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)等加速等运动Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iLow = 10 * (t2 + t3) / 2)For i = (t2 + t3) / 2 To t3 Step 0.1s = 2 * h * (q3
28、- (i - t2) 2) / (q3 2) Picture1.PSet (i, s), RGB(1000, 0, 0) Ptx(Low) = (c1 + s) * Sin(i * (PI / 180) Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0) Low = Low + 1Next i5.5 NC 代码显示j = 100If Option1.Value = True Then List1.AddItem %绝对坐标编程NC 代码的开始部分List1.AddI
29、tem N & LTrim(RTrim(j) & G00G17G40G49G80G90 j = j + 1List1.AddItem N & LTrim(RTrim(j) & T1M6 j = j + 1List1.AddItem N & LTrim(RTrim(j) & G00G90G54 & bch & _D01X & RTrim(LTrim(Format$(ptx(0), #.#) & _ Y & RTrim(LTrim(Format$(pty(0), #.#) & Z & _LTrim(RTrim(Val(Text6) & _S & LTrim(RTrim(Val(Text4) & M
30、3 j = j + 1List1.AddItem N & LTrim(RTrim(j) & Z2 & F & LTrim(RTrim(Text2) sd = Val(Text8)For M = 1 To Val(Text8) j = j + 1List1.AddItem N & LTrim(RTrim(j) & G01Z- & LTrim(RTrim(Val(Text7) & _F & LTrim(RTrim(Text1)j = j + 1For i = 1 To 3600主要走刀部分List1.AddItem N & LTrim(RTrim(j) & G01 & _ X & LTrim(RT
31、rim(Format$(ptx(i), #.#) & _Y & LTrim(RTrim(Format$(pty(i), #.#) j = j + 1Next i6功能介绍及使用说明在相关控件中输入基本参数和选定运动曲线规律后单击确定按钮,就可以很容易的生成凸轮轮廓曲线和推杆运动曲线。并运用相关原理对运动曲线进行处理,以生成NC代码,供数控机床使用,此为的大体功能。现在说一下其使用方法:.(1)输入凸轮基本参数(如图).(2)选择曲线运动规律(如图)(3)单击“确定”按钮,则可生成图形及参数显示(如图)凸轮轮廓推杆运动曲线参数显示(4)输入NC 加工参数(如图)(5)选择坐标系和刀具补偿方式(如
32、图)(6)单击确定,生成代码(如图)7、设计总结这次课程设计让我学会了很多东西,尽管我遇到很多,但是通过查找参考书和参照别人的经验,终于完成任务。我遇到的最大是 VB 基础不好,经常出错,所以做得很慢。不过通过这次的课程设计不仅让我对数控的加工有了深一步的认识,还提高自己的编程水平。另外,在设计过程中参考了师兄和一些同学的经验,在此向他们表示感谢!本人认为用 VB 做成的该界面清晰,方便,易操作,功能较为齐全,在曲线范围内还可以画其他形状的图像(如上面使用说明及测试中的心形)。但是还有很多,由于画凸轮的函数式有限,缺乏具体分析其函数式的组合情况,有时生成的凸轮曲线之间连接处并非圆滑过渡,会带来
33、很大的冲击力,不便于立即使用,要进行后处理。在判断输入参数是否合理,和一些出错处理上还不够完善,以期待以后完善。本人设想是否可以用已有的 NC 代码来反求其平面凸轮曲线图,或者把保存的凸轮平面图改变格式输入 AutoCAD 和其他作图中进行修改,以进行倒角以减少冲击等后处理。另外还可以增加数控加工仿真功能,生成的代码直接进行仿真,减少代码输出输入的麻烦。本设计中的显示选择便是基于此构想,但由于时间较紧,本人水平有限,未能如愿,只能作为一项显示的模式,以待以后完善。本界面友好,简单易用,可以完成比较简单的凸轮设计。但是存在很多的。首先,是从动件运动规律曲线较少,不能满足实际加工的需要。所幸这个问
34、题不难解决,添加就行:第二,是压力角的限制条件由于比较复杂,所以没有添加进程序,这将会限制本的应用;最后,由于采用了等间距直线近法,所以生成的代码较多,这是一个大缺陷。用MasterCAM 生成 NC 代码将会是更好的选择,但实施的难度很大,将会是努力的方向!在这次数控机床课程设计中我发现很多问题,例如对于编程的使用还未够熟悉和深入,有一些关键程序要请教的帮助才得以完成,这是我今后要努力克服的重点和难点。最后,感谢老师和的帮助!8、参考文献1机床设计手册第三分册2廖效果.数字控制机床.:华中理工大学.1992.93廖效果.数控技术.:科学技术.2000.74.数字控制机床.:机械工业5.机床电
35、气控制.重庆:重庆大学6.Basic 语言结构化程序设计.:中国科学技术.19907,. Visual Basic 编程高手.:.20008一组凸轮的计算机辅助设计.机械工程师 1998,(4): p58-599凸轮曲线的快速画法.机械工程师 1998,(6): p22-2310平面凸轮机构 CAD 系统的研究与开发.机械设计与制造 2000,(5):p12-1311圆柱非圆曲线槽凸轮的数控加工.制造技术与机床 2000,(8):p3412圆柱凸轮的参数化设计及数控加工.精密制造及自动化 2001,11: p2813参数化凸轮轮廓转换及 NC 代码自动生成.机床与2001,6, p2931附录
36、源程序:主窗体Dim r As DoubleDim h As DoubleDim s As DoubleDim q1 As Double, q2 As Double, q3 As Double, q4 As DoubleDim t1 As Double, t2 As Double, t3 As DoubleDim X As Double, Y As DoubleDim c As Double, c1 As Double, c2 As DoubleDim Low As Double数组下标Dim Ptx(3600) As Double曲线点数组Dim Pty(3600) As Double最终输
37、出的点Const PI As Double = 3.1415926Private Subd1_Click()Dim j As Double, i As Doubleq1 = Val(Text4.Text)推q2 = Val(Text5.Text)远休q3 = Val(Text6.Text) 回t1 = q1t2 = t1 + q2t3 = t2 + q3q4 = 360 - t3h = Val(Text3.Text)d1.Enabled = Falsed2.Enabled = TrueText1.Locked = TrueText3.Locked = TrueText4.Locked = Tr
38、ueText5.Locked = TrueText6.Locked = TrueCombo1.Locked = TrueCombo2.Locked = TrueIf q1 0 And q2 0 And q3 0 And h 0 And Val(Text1.Text) And IsNumeric(Text1) And IsNumeric(Text3) AndIsNumeric(Text4) And _IsNumeric(Text5) And IsNumeric(Text6) Then判断参数输入是否为数字If q1 + q2 + q3 = 360 Then判断推远休回是否超出范围c1 = Val
39、(Text1.Text)c2 = Val(Text3.Text)c = 1.2 * (c1 + c2)Picture2.DrawStyle = 1Picture2.Scale (-c, c)-(c, -c)凸轮曲线坐标系的建立Picture2.Line (0, -1.2 * (c1 + c2)-(0, 1.2 * (c1 + c2), RGB(0, 128, 0)Picture2.Line (-1.2 * (c1 + c2), 0)-(1.2 * (c1 + c2), 0), RGB(0, 128, 0)For i = 1 To 10Picture2.Line (0 + i * (c1 + c
40、2) / 10), 0)-(0 + i * (c1 + c2) / 10), c / 50), RGB(0, 128, 0)Picture2.Line (0 - i * (c1 + c2) / 10), 0)-(0 - i * (c1 + c2) / 10), c / 50), RGB(0, 128, 0)Picture2.Line (0, 0 + i * (c1 + c2) / 10)-(c / 30, 0 + i * (c1 + c2) / 10), RGB(0, 128, 0)Picture2.Line (0, 0 - i * (c1 + c2) / 10)-(c / 30, 0 - i
41、 * (c1 + c2) / 10), RGB(0, 128, 0)Next iPicture2.Circle (0, 0), c1, vbBlack, 0, 0Picture2.Circle (0, 0), c1 + h, vbBlack, 0, 0 画基圆,顶圆Picture1.ScaleLeft = -30推杆曲线坐标系的建立Picture1.ScaleTop = 1.4 * c2Picture1.ScaleWidth = 400Picture1.ScaleHeight = -1.5 * c2Picture1.Line (0, 0)-(360, 0), RGB(0, 128, 0)For
42、 i = 1 To 4Picture1.Line (0, 0 + i * (c2 / 4)-(5, 0 + i * (c2 / 4), RGB(0, 128, 0)Next iPicture1.Line (0, 0)-(0, 1.4 * c2), RGB(0, 128, 0)For i = 1 To 8Picture1.Line (0 + i * (360 / 8), 0)-(0 + i * (360 / 8), c2 / 24), RGB(0, 128, 0)Next iIf Combo1.ListIndex = 0 Then推程:等速运动Low = 0For i = 0 To t1 Ste
43、p 0.1Low = 0s = (h / t1) * iPicture1.PSet (i, s), RGB(1000, 0, 0) 画 推杆运动规律曲线Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)画凸轮曲线Low = Low + 1Next iPicture3.Pr推程选择等速运动ElseIf Combo1.ListIndex = 1 Then等加速等运动Low = 0For i
44、= 0 To t1 / 2 Step 0.1s = 2 * h * (i 2) / (t1 2)Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iLow = 10 * (t1 / 2)For i = t1 / 2 To t1 Step 0.1s = h - 2 * h * (t
45、1 - i) 2) / (t1 2)Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iPicture3.Pr推程选择等加速等运动:ElseIf Combo1.ListIndex = 2 Then正弦加速度运动Low = 0For i = 0 To t1 Step 0.1s =
46、h * (i / t1 - Sin(2 * PI * i / t1) / (2 * 3.1415926)Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iPicture3.Pr推程选择正弦加速度运动:ElseIf Combo1.ListIndex = 3 Then余弦加速度运动
47、Low = 0For i = 0 To t1 Step 0.1s = h * (1 - Cos(PI * i / t1) / 2Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iPicture3.Pr推程选择余弦加速度运动:Picture3.Pr半径R=; c1; ;升程H=;
48、 c2Picture3.Pr推:; q1; ;远休止角:; q2Picture3.Pr回:; q3; ;近休止角:; q4End IfLow = 10 * t1For i = t1 To t2 Step 0.1远休程曲线的生成s = hPicture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0) 画凸轮曲线Low = Low
49、 + 1Next iIf Combo2.ListIndex = 0 Then回程:等速运动Low = 10 * t2For i = t2 To t3 Step 0.1s = h * (1 - (i - t2) / q3)Picture1.PSet (i, s), RGB(1000, 0, 0) 画 从动件运动规律曲线Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0) 画凸轮曲线Low =
50、 Low + 1Next iPicture3.Pr回程选择等速运动:Picture3.Pr半径R=; c1; ;升程H=; c2Picture3.Pr推:; q1; ;远休止角:; q2Picture3.Pr回:; q3; ;近休止角:; q4ElseIf Combo2.ListIndex = 1 Then等加速等运动Low = 10 * t2For i = t2 To (t2 + t3) / 2 Step 0.1s = h - 2 * h * (i - t2) 2) / (q3 2)Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s
51、) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iLow = 10 * (t2 + t3) / 2)For i = (t2 + t3) / 2 To t3 Step 0.1s = 2 * h * (q3 - (i - t2) 2) / (q3 2)Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI
52、 / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iPicture3.Pr回程选择等加速等运动Picture3.Pr半径R=; c1; ;升程H=; c2Picture3.Pr推:; q1; ;远休止角:; q2Picture3.Pr回:; q3; ;近休止角:; q4ElseIf Combo2.ListIndex = 2 Then正弦加速度运动Low = 10 * t2For i = t2 To t3 Step 0
53、.1s = h * (1 - (i - t2) / q3) + (Sin(2 * PI * (i - t2) / q3) / (2 * PI)Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i) * (PI / 180)Pty(Low) = (c1 + s) * Cos(-i) * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iPicture3.Pr回程选择正弦加速度运动:Picture3.Pr半径R=;
54、c1; ;升程H=; c2Picture3.Pr推:; q1; ;远休止角:; q2Picture3.Pr回:; q3; ;近休止角:; q4ElseIf Combo2.ListIndex = 3 Then余弦加速度运动Low = 10 * t2For i = t2 To t3 Step 0.1s = h * (1 + Cos(PI * (i - t2) / (t3 - t2) / 2Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i *
55、 (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iPicture3.Pr回程选择余弦加速度运动:Picture3.Pr半径R=; c1; ;升程H=; c2Picture3.Pr推:; q1; ;远休止角:; q2Picture3.Pr回:; q3; ;近休止角:; q4End IfLow = 10 * t3For i = t3 To 360 Step 0.1近休程曲线的生成s = 0Picture1.PSet (i, s), RGB(1000, 0, 0)Ptx(Low) = (c1
56、 + s) * Sin(i * (PI / 180)Pty(Low) = (c1 + s) * Cos(i * (PI / 180)Picture2.PSet (Ptx(Low), Pty(Low), RGB(1000, 0, 0)Low = Low + 1Next iElseMsgBox (超出范围,请重设参数), 16Text4.Text = Text5.Text = Text6.Text = Picture1.ClsPicture2.ClsEnd IfElseMsgBox (输入为空,或字符,请重新输入), 16End IfEnd SubPrivate Subd2_Click()Text
57、1.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = Picture1.ClsPicture2.ClsPicture3.Clsd1.Enabled = Trued2.Enabled = FalseText1.Locked = FalseText3.Locked = FalseText4.Locked = FalseText5.Locked = FalseText6.Locked = FalseCombo1.Locked = FalseCombo2.Locked = FalseEnd SubPrivate Subd3_Click
58、()X = Ptx(Low) = (c1 + s) * Sin(i * (PI / 180)Y = Pty(Low) = (c1 + s) * Cos(i * (PI / 180)List1.ClearDim j As Double, fName2 As StringIf IsNumeric(Text2) And IsNumeric(Text7) And IsNumeric(Text8) And IsNumeric(Text9) Thenj = 100If Option1.Value = True ThenIf Option5.Value = True ThenList1.AddItem %L
59、ist1.AddItem N & LTrim(RTrim(j) & G17j = j + 1List1.AddItem N & LTrim(RTrim(j) & M06 T01j = j + 1List1.AddItem N & LTrim(RTrim(j) & G00 G90 G54 & bch & _ D01 & X & RTrim(LTrim(Format$(Ptx(10), #.#) & _ Y & RTrim(LTrim(Format$(Pty(10), #.#) & _ S & LTrim(RTrim(Val(Text9) & M3j = j + 1List1.AddItem N
60、& LTrim(RTrim(j) & Z2 & F & LTrim(RTrim(Text8)List1.AddItem N & LTrim(RTrim(j) & G01 Z- & LTrim(RTrim(Val(Text7) & _F & LTrim(RTrim(Text2)j = j + 1For i = 1 To 3600List1.AddItem N & LTrim(RTrim(j) & G01 & _X & LTrim(RTrim(Format$(Ptx(i), #.#) & _Y & LTrim(RTrim(Format$(Pty(i), #.#)j = j + 1Next isd
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年恋爱专家里的测试题及答案
- 2026年最强脑力测试题及答案
- 2026年是否懂女人测试题及答案
- 2026年智力生与死测试题及答案
- 2026年绝境反击测试题及答案
- 2026年网络平台测试题及答案
- 2026年校园消杀测试题及答案
- 2026年杭州驾校测试题及答案
- 智研咨询报告:中国包装机械行业政策汇 总、市场运行态势及投资前景分析
- 2026年全国军队文职人员招聘之军队文职教育学考试重点试卷(详细参考解析)
- 2026年西双版纳州妇幼保健院医护人员招聘笔试备考题库及答案详解
- 2026年全国中级银行从业资格之中级银行业法律法规与综合能力考试能力提升卷附答案
- 2025年新疆初二地生会考考试真题及答案
- 2025-2026学年统编版九年级语文下册《出师表》知识点梳理
- 心血管-肾脏-代谢综合征患者的综合管理中国专家共识2025解读
- GB/T 7253-2019标称电压高于1 000 V的架空线路绝缘子交流系统用瓷或玻璃绝缘子元件盘形悬式绝缘子元件的特性
- GB/T 16839.1-2018热电偶第1部分:电动势规范和允差
- Unit-10-The-Sad-Young-Me教学讲解课件
- 《社会学概论新修(第五版)》课件第一章
- GB4962-2008氢气使用安全技术规程完整
- 浙江省台州市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
评论
0/150
提交评论