1、Dim vxE As DoubleDim vyE As DoubleDim axE As DoubleDim ayE As DoubleDim xF As Double 点F的坐标,速度,加速度Dim yF As DoubleDim vxF As DoubleDim vyF As DoubleDim axF As DoubleDim ayF As DoubleDim xG As Double 点G的坐标,速度,加速度Dim yG As DoubleDim vxG As DoubleDim vyG As DoubleDim axG As DoubleDim ayG As DoubleDim de
2、lt As Double 构件1的初始角位移Dim lab As Double 杆AB的长度Dim lbc As Double 杆BC的长度Dim lcd As Double 杆CD的长度Dim lad As Double 杆AD的长度Dim lbe As Double 杆BE的长度Dim lef As Double 杆EF的长度Dim lbf As Double BF两点间的距离Dim fab As Double 杆AB的角位移Dim fbc As Double 杆BC的角位移Dim fcd As Double 杆CD的角位移Dim fef As Double 杆EF的角位移Dim ffg
3、As Double 杆FG的角位移Dim febf As Double 角EBF的角度Dim fj1 As DoubleDim wab As Double 杆AB的角速度Dim wbc As Double 杆BC的角速度Dim wcd As Double 杆CD的角速度Dim wce As Double 杆CE的角速度Dim wef As Double 杆EF的角速度Dim wfg As Double 杆FG的角速度Dim eab As Double 杆AB的角加速度Dim ebc As Double 杆BC的角加速度Dim ecd As Double 杆CD的角加速度Dim ece As D
4、ouble 杆CE的角加速度Dim eef As Double 杆EF的角加速度Dim efg As Double 杆FG的角加速度Dim LBD As Double BD的长度Dim LGF As Double GF的长度Dim JCBD As Double 角CBD的角度Dim fbd As Double 杆BD的角位移Dim Ci As Double RRR杆组的中间变量Dim Cj As DoubleDim Si As DoubleDim Sj As DoubleDim G1 As DoubleDim G2 As DoubleDim G3 As DoubleDim val As Dou
5、ble 角CBD的余弦值Dim pi As Double 圆周率Dim pa As Double 角度与弧度转换的系数Dim i As Double 循环变量Private Sub Form_Load() 附值lab = 280lbc = 350lcd = 320lad = 160lbe = 175lef = 220wab = 10eab = 0delt = 0xA = 0yA = 0vxA = 0vyA = 0axA = 0ayA = 0xD = 0yD = 160vxD = 0vyD = 0axD = 0ayD = 0xG = -25yG = 80vxG = 0vyG = 0axG = 0
6、ayG = 0pi = 3.1415926pa = pi / 180fj1 = 0End SubPrivate Sub Command1_Click() 点F的轨迹Picture1.Scale (-200, 250)-(100, -50)Picture1.Line (-200, 0)-(100, 0) XPicture1.Line (0, 250)-(0, -50) Y For i = -180 To 120 Step 30 X轴坐标 Picture1.DrawStyle = 2 Picture1.Line (i, 250)-(i, -50) Picture1.CurrentX = i - 1
7、0: Picture1.CurrentY = 0 Picture1.Print i Next i For i = -60 To 240 Step 30 Y轴坐标 Picture1.Line (-200, i)-(100, i) Picture1.CurrentX = -10: Picture1.CurrentY = i Next iFor fj1 = 0 To 360 Step 0.01 fab = fj1 * pa Call RR1 Call RRR Call RR2Picture1.PSet (xF, yF) Next fj1(备注:通过改变输出值,可以画出点F的x坐标和y坐标随杆AB角位
8、移的变化图、点F的速度和点F的加速度在x和y方向的分量随杆AB的角位移的变化图、点F的绝对速度和绝对加速度图)Private Sub Command2_Click() 杆5的角位移Picture2.Scale (-10, 8)-(380, -2)Picture2.Line (-10, 0)-(380, 0) Picture2.Line (0, 8)-(0, -2) For i = -30 To 390 Step 30 Picture2.DrawStyle = 2 Picture2.Line (i, 8)-(i, -2) Picture2.CurrentX = i - 10: Picture2.
9、CurrentY = 0 Picture2.Print i For i = -2 To 8 Step 1 Picture2.Line (-10, i)-(380, i) Picture2.CurrentX = -10: Picture2.CurrentY = i For fj1 = 0 To 360 Step 0.01Call RR1Call RRRCall RR2Call RPRPicture2.PSet (fj1, ffg)Private Sub Command3_Click() 杆5的角速度Picture3.Scale (-20, 90)-(380, -10)Picture3.Line
10、(-20, 0)-(380, 0) Picture3.Line (0, 90)-(0, -10) For i = 0 To 360 Step 30 Picture3.DrawStyle = 2Picture3.Line (i, 90)-(i, -10)Picture3.CurrentX = i - 10: Picture3.CurrentY = 0Picture3.Print iFor i = -10 To 90 Step 5 Picture3.Line (0, i)-(380, i) Picture3.CurrentX = -20: Picture3.CurrentY = i Picture
11、3.Print iPicture3.PSet (fj1, wfg)Private Sub Command4_Click() 杆5的角加速度Picture4.Scale (-20, 800)-(380, -800)Picture4.Line (-20, 0)-(380, 0) Picture4.Line (0, 800)-(0, -800) Picture4.DrawStyle = 2 Picture4.Line (i, 800)-(i, -800) Picture4.CurrentX = i - 10: Picture4.CurrentY = 0 Picture4.Print i For i
12、= -800 To 800 Step 80 Picture4.Line (0, i)-(380, i) Picture4.CurrentX = -25: Picture4.CurrentY = i + 5 Call RPR Picture4.PSet (fj1, efg)Private Sub RR1() 级杆组RR1(原动件1)xB = xA + lab * Cos(fab + delt)yB = yA + lab * Sin(fab + delt)vxB = vxA - wab * lab * Sin(fab + delt)vyB = vyA + wab * lab * Cos(fab +
13、 delt)axB = axA - wab 2 * lab * Cos(fab + delt) - eab * lab * Sin(fab + delt)ayB = ayA - wab 2 * lab * Sin(fab + delt) + eab * lab * Sin(fab + delt)Private Sub RR2() 构件2上点F的运动分析lbf = Sqr(lbe 2 + lef 2)febf = Atn(lef / lbe)xF = xB + lbf * Cos(fbc + febf)yF = yB + lbf* Sin(fbc + febf)vxF = vxB - wbc *
14、 lbf * Sin(fbc + febf)vyF = vyB + wbc * lbf* Cos(fbc + febf)axF = axB - wbc 2 * lbf * Cos(fbc + febf) - ebc * lbf * Sin(fbc + febf)ayF = ayB - wbc 2 * lbf * Sin(fbc + febf) + ebc * lbf* Sin(fbc + febf)Private Sub RRR() 级杆组RRR(杆2、杆3)LBD = Sqr(xD - xB) 2 + (yD - yB) 2)val = (lbc 2 + LBD 2 - lcd 2) / (
15、2 * lbc * LBD)JCBD = Atn(-val / Sqr(-val * val + 1) + 2 * Atn(1)If xD xB And yD yB Then 第一象限fbd = Atn(yD - yB) / (xD - xB)fbc = fbd - JCBDElseEnd IfIf xD = yB Then 第二象限fbd = Atn(yD - yB) / (xD - xB) + pi xB And yD y轴正向fcd = 0.5 * piIf xB = xD And yD xD And yC = yD Then fcd = Atn(yC - yD) / (xC - xD)
16、If xC fcd = Atn(yC - yD) / (xC - xD) + pi xD And yC If xC = xD And yC xG And yF ffg = Atn(yF - yG) / (xF - xG)If xF ffg = Atn(yF - yG) / (xF - xG) + pi xG And yF yG Then ffg = 0.5 * piIf xF = xG And yF ffg = 1.5 * piwfg = (vyF * Cos(ffg) - vxF * Sin(ffg) / LGFefg = (ayF * Cos(ffg) - axF * Sin(ffg) -
17、 2 * (vxF * Cos(ffg) + vyF * Sin(ffg) * wfg) / LGF6、计算结果(总图)(点F的运动轨迹)(点F的x坐标随杆AB角位移的变化)(点F的y坐标随杆AB角位移的变化)(点F的速度在x方向的分量随杆AB的角位移的变化)(点F的速度在y方向的分量随杆AB的角位移的变化)(点F的绝对速度随杆AB的角位移的变化)(点F的加速度在x方向的分量随杆AB角位移的变化)(点F的加速度在y方向的分量随杆AB角位移的变化)( 点F的绝对加速度随杆AB角位移的变化)对结果的分析:1、 实线分别表示表示点F的在x方向上的坐标、速度、加速度随AB角位移的变化,虚线表示其在y方
18、向上的坐标、速度、加速度随AB角位移的变化。2、 可以看出点F的轨迹是一个封闭的类似于“8”字的图形。另外可以发现杆AB旋转一周,点F类似于转了两周。3、 点F的速度在x方向的分量和在y方向的分量在大小上变化规律基本一致,在AB杆角位移在50100是速度增加很快,其绝对速度增加也较快,从加速度的图像可以明显看出此时加速度增加迅速。杆5的分析(杆5随杆1的角位移)(杆5随杆1的角速度)(杆5随杆1的角加速度)结果分析:1、 构件5的角位移在图像上看起来并不连续,但考虑到其角位移的周期性,当角位移增加到2时即相当于变为0。2、 从图像可以看出AB杆转动一周,GF杆转动两周,而且其角速度变化较大,适合应用于要求杆件在不同阶段速度差异较大的场合。3、 杆件5的角速度在主动件角位移约为89时取得最大值,角加速度在主动件角位移约为78和101时分别取得正向和负向最大值。4、 其角加速度变化规律不明显且起伏较大,这对杆件的冲击较大,应注意杆件的强度。