课程设计最终作业Word文档格式.docx
- 文档编号:8030253
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:26
- 大小:228.32KB
课程设计最终作业Word文档格式.docx
《课程设计最终作业Word文档格式.docx》由会员分享,可在线阅读,更多相关《课程设计最终作业Word文档格式.docx(26页珍藏版)》请在冰点文库上搜索。
txtAngle
-
主动连架杆AB的任意角位移
°
textScale
dblSxy
运动仿真的显示比例
-
optClockWise
OptionButton
intCW
杆AB顺时针转,intCW=-1
optNCW
杆AB逆时针转,intCW=1
optPosition
intM
B、C、D顺时针排列,intM=-1
optNPosition
B、C、D逆时针排列,intM=1
lblCurrent(0)
Lable
显示指定时刻杆CD的角位移
lblCurrent
(1)
显示指定时刻杆CD的角速度
rad/s
lblCurrent
(2)
显示指定时刻杆CD的角加速度
rad/s2
lblCurrent(3)
显示指定时刻点E对x轴角位移
lblCurrent(4)
显示指定时刻点E对x轴角速度
lblCurrent(5)
显示指定时刻点E对x轴角加速度
lblCurrent(6)
显示指定时刻点E对y轴角位移
lblCurrent(7)
显示指定时刻点E对y轴角速度
lblCurrent(8)
显示指定时刻点E对y轴角加速度
lblRealtimeAB
实时显示杆AB的角位移
lblRealtime(0)
实时显示杆CD的角位移
lblRealtime
(1)
实时显示杆CD的角速度
lblRealtime
(2)
实时显示杆CD的角加速度
lblRealtime(3)
实时显示点E对x轴角位移
lblRealtime(4)
实时显示点E对x轴角速度
lblRealtime(5)
实时显示点E对x轴角加速度
lblRealtime(6)
实时显示点E对y轴角位移
lblRealtime(7)
实时显示点E对y轴角速度
lblRealtime(8)
实时显示点E对y轴角加速度
cmdRun
CommandButton
运行程序
cmdList
显示计算结果
cmdDraw
绘制运动曲线
cmdPlay
进行运动仿真
Command1
暂停运动仿真
cmdExit
退出程序
tmrDraw
Timer
控制运动曲线的绘制速度
tmrPlay
控制运动仿真的速度
sstResult
SStab
提供一组选项卡显示程序运行结果
grdDataList
MSFlexGrid
显示分析结果
picFigure
PictureBox
显示机构示意图
picDraw(0)
显示杆CD的角位移曲线
picDraw
(1)
显示杆CD的角速度曲线
picDraw
(2)
显示杆CD的角加速度曲线
picDraw(3)
显示点E对x轴角位移曲线
picDraw(4)
显示点E对x轴角速度曲线
picDraw(5)
显示点E对x轴角加速度曲线
picDraw(6)
显示点E对y轴角位移曲线
picDraw(7)
显示点E对y轴角速度曲线
picDraw(8)
picPlay
显示运动仿真
hsbSpeed
HscrollBar
调节运动仿真速度
3.主要变量说明
含义
程序中
数学模型中
L1
L2
L3
L4
主动连架杆AB的转速
a
δ
杆BE与杆AB的夹角
杆AB顺时针转,intCW=-1,反之intC=1
B、C、D顺时针排列intM=-1,反之intM=1
dblF_AB
AB杆的角位移
dblF_BC
BC杆的角位移
dblF_CD
φ3
CD杆的角位移
dblW_BC
BC杆的角速度
dblW_CD
CD杆的角速度
dblE_BC
BC杆的角加速度
dblE_CD
CD杆的角加速度
X_E
点E对x轴位移
X1_E
点E对x轴速度
mm/s
X2_E
点E对x轴加速度
mm/s2
Y_E
点E对y轴位移
Y1_E
点E对y轴速度
Y2_E
点E对y轴加速度
(dblAx,dblAy)
铰链A的坐标
(dblBx,dblBy)
铰链B的坐标
(dblCx,dblCy)
铰链C的坐标
(dblDx,dblDy)
铰链D的坐标
(dblEx,dblEy)
铰链E的坐标
dblSx,dblSy
运动曲线的横向、纵向作图比例
dblWP、dblHP
PictureBox控件的宽度值、高度值
Twip
dblAngle_L
杆AB负角位移的最大绝对值
dblMax_f_CD
CD杆的最大角位移
dblMax_w_CD
CD杆的最大角速度
dblMax_e_CD
CD杆的最大角加速度
dblMax_X_E
点E对x轴最大位移
dblMax_X1_E
点E对x轴最大速度
dblMax_X2_E
点E对x轴最大加速度
dblMax_Y_E
点E对y轴最大位移
dblMax_Y1_E
点E对y轴最大速度
dblMax_Y2_E
点E对y轴最大加速度
dblL_max
最长杆杆长
dblL_min
最短杆杆长
dblL_sum
各杆杆长之和
intAngle_max
杆AB角位移的最大值
intAngle_min
杆AB角位移的最小值
intMarkBar
为0表示杆AB由intStartAngle位置转到intEndAngle为-1表示杆AB是摇杆,由intEndAngle位置返回intStartAngle
intMarkAngle
为1表示杆AB转过0度位置
为-1表示杆AB不转过0度位置
dblE21dblE22dblE23
中间变量
dblE31dblE32dblE33
dblAdblBdblCdblD
strStr1strStr2strStr3
4.程序源代码及运行结果
OptionExplicit
PrivateSubForm_Load()
cmdList.Enabled=False,cmdDraw.Enabled=False,cmdPlay.Enabled=False
DimstrStr1AsString,strStr2AsString,iAsInteger
strStr1="
f_AB"
&
Chr(9)&
"
f_CD"
w_CD"
e_CD"
strStr2="
X_E"
Vx_E"
Ax_E"
Y_E"
Vy_E"
Ay_E"
grdDataList.AddItem(strStr1&
strStr2)
grdDataList.ColWidth(0)=600
grdDataList.RowHeight(0)=300
Fori=1To9
grdDataList.ColWidth(i)=(grdDataList.Width-1000)/9
Nexti
EndSub
PrivateSubcmdRun_Click()
DimiAsInteger
DimdblL_maxAsDouble,dblL_minAsDouble,dblL_sumAsDouble
Fori=0To5
IfVal(txtLength(i).Text)<
=0Then
MsgBox"
请正确输入"
vbInformation+vbOKOnly,"
消息框"
txtLength(i).Text="
"
ExitSub
EndIf
Next
dblL_min=Val(txtLength(0).Text)
Fori=0To3
IfVal(txtLength(i).Text)<
dblL_minThendblL_min=Val(txtLength(i).Text)
IfVal(txtLength(i).Text)>
dblL_maxThendblL_max=Val(txtLength(i).Text)
dblL_sum=dblL_sum+Val(txtLength(i).Text)
IfdblL_max>
dblL_sum-dblL_maxThen
无法装配!
最长杆杆长应小于其余三杆杆长之和!
ExitSub
EndIf
ConstIP=3.1415936
dblL_AB=Val(txtLength(0).Text)
dblL_BC=Val(txtLength
(1).Text)
dblL_CD=Val(txtLength
(2).Text)
dblL_AD=Val(txtLength(3).Text)
dblN=Val(txtLength(4).Text)
dblL_BE=Val(txtLength(5).Text)
dblF_BE=Val(txtLength(6).Text)
dblW_AB=2*PI*dblN/60
dblE_AB=0
IfoptClockWise.Value=TrueThen
intCW=-1
Else
intCW=1
IfoptPosition.Value=TrueThenintM=1
intM=-1
CallModule2.Angle_AB
cmdList.Enabled=True,cmdDraw.Enabled=True,cmdPlay.Enabled=True
PrivateSubcmdExit_Click()
UnloadMe
PrivateSubcmdList_Click()
DimdblF_CD,dblW_CD,dblE_CD,X_E,X1_E,X2_E,Y_E,Y1_E,Y2_EAsDouble
DimiAsInteger,intTempAsInteger,strStr1AsString,strStr2AsString,strStr3AsString
Fori=0To9
grdDataList.ColAlignment(i)=flexAlignCenterCenter
Next
IfAbs(intEndAngle-intStartAngle)<
360Then
intTemp=1
Else
intTemp=30
Fori=intStartAngleTointEndAngleStepintCW*intTemp
CallModule1.YDFX(i,dblF_CD,dblW_CD,dblE_CD,X_E,X1_E,X2_E,Y_E,Y1_E,Y2_E)
strStr1=Format(Str(dblF_CD),"
0.00"
)&
Format(dblW_CD,"
Format(dblE_CD,"
)
strStr2=Format(Str(X_E),"
Format(X1_E,"
Format(X2_E,"
strStr3=Format(Str(Y_E),"
Format(Y1_E,"
Format(Y2_E,"
grdDataList.AddItem(Str(i)&
strStr1&
strStr2&
strStr3)
cmdList.Enabled=False
PrivateSubcmdDraw_Click()
DimdblWPAsDouble,dblHPAsDouble,iAsInteger
dblWP=Abs(picDraw(0).ScaleWidth)
dblHP=Abs(picDraw(0).ScaleHeight)
Fori=0To8
picDraw(i).Cls
picDraw(i).ScaleMode=1
picDraw(i).DrawStyle=0
picDraw(i).DrawWidth=1.5
picDraw(i).Scale(-120,dblHP/2)-(dblWP-120,-dblHP/2)
picDraw(i).Line(0,0)-(dblWP-160,0)
picDraw(i).Line(dblWP-160,0)-Step(-120,120)
picDraw(i).Line(dblWP-160,0)-Step(-120,-120)
picDraw(i).CurrentX=dblWP-700
picDraw(i).CurrentY=250
picDraw(i).Print"
picDraw(i).CurrentX=-120
picDraw(i).CurrentY=-10
0"
picDraw(i).Line(0,dblHP/2-60)-(0,-(dblHP/2-60))
picDraw(i).Line(0,dblHP/2-60)-Step(-120,-120)
picDraw(i).Line(0,dblHP/2-60)-Step(120,-120)
picDraw(i).CurrentX=160
picDraw(i).CurrentY=dblHP/2-60
SelectCasei
Case0
Case1
Case2
Case3
Case4
picDraw(i).Print"
Case5
picDraw(i).Print"
ax_E"
Case6
Case7
Case8
ay_E"
EndSelect
cmdDraw.Enabled=False
tmrDraw.Enabled=True
PrivateSubtmrDraw_Timer()
StaticjAsInteger
DimdblMax_f_CD,dblMax_w_CD,dblMax_e_CDAsDouble
Dimdblmax_X_EAsDouble,dblmax_X1_EAsDouble,dblmax_X2_EAsDouble
Dimdblmax_Y_EAsDouble,dblmax_Y1_EAsDouble,dblmax_Y2_EAsDouble
DimdblF_AB,dblF_BC,dblF_CD,dblW_BC,dblW_CD,dblE_BC,dblE_CDAsDouble
DimX_E,X1_E,X2_E,Y_E,Y1_E,Y2_EAsDouble
Fori=intStartAngleTointEndAngleStepintCW*1
IfAbs(dblF_CD)>
dblMax_f_CDThendblMax_f_CD=Abs(dblF_CD)
IfAbs(dblW_CD)>
dblMax_w_CDThendblMax_w_CD=Abs(dblW_CD)
IfAbs(dblE_CD)>
dblMax_e_CDThendblMax_e_CD=Abs(dblE_CD)
IfAbs(X_E)>
dblmax_X_EThendblmax_X_E=Abs(X_E)
IfAbs(X1_E)>
dblmax_X1_EThendblmax_X1_E=Abs(X1_E)
IfAbs(X2_E)>
dblmax_X2_EThendblmax_X2_E=Abs(X2_E)
IfAbs(Y_E)>
dblmax_Y_EThendblmax_Y_E=Abs(Y_E)
IfAbs(Y1_E)>
dblmax_Y1_EThendblmax_Y1_E=Abs(Y1_E)
IfAbs(Y2_E)>
dblmax_Y2_EThendblmax_Y2_E=Abs(Y2_E)
DimdblSxAsDouble,dblSyAsDouble
dblSx=(dblWP-240)/360
i=intStartAngle+j
lblRealtimeAB.Caption=Str(i)
dblSy=(dblHP/2-240)/dblMax_f_CD
picDraw(0).PSet(i*dblSx,dblF_CD*dblSy)
lblRealtime(0).Caption=Format(Str(dblF_CD*dblSy),"
dblSy=(dblHP/2-240)/dblMax_w_CD
picDraw
(1).PSet(i*dblSx,dblW_CD*dblSy)
lblRealtime
(1).Caption=Format(Str(dblW_CD*dblSy),"
dblSy=(dblHP/2-240)/dblMax_e_CD
picDraw
(2).PSet(i*dblSx,dblE_CD*dblSy)
lblRealtime
(2).Caption=Format(Str(dblE_CD*dblSy),"
dblSy=(dblHP/2-240)/dblmax_X_E
picDraw(3).PSet(i*dblSx,X_E*dblSy)
l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 最终 作业