机械设计上机设计实验报告.docx
《机械设计上机设计实验报告.docx》由会员分享,可在线阅读,更多相关《机械设计上机设计实验报告.docx(30页珍藏版)》请在冰豆网上搜索。
机械设计上机设计实验报告
机
械
设
计
上
机
设
计
班级:
姓名:
学号:
1.数表和线图的程序化处理1
1.1数表的程序化1
1.1.1查表检索法1
1.1.2数表解析法12
1.2线图的程序化15
1.3有关数据处理16
2.典型零部件的程序设计18
2.1V带传动的程序设计18
2.2齿轮传动的程序设计19
2.3滚动轴承的程序设计21
3.课后习题计算22
一、表和线图的程序化处理
1.1数表程序化
数表程序化有两种方法:
一是查表检索法;二是数表解析法
1.1.1查表检索法
1)一元数表的存取
表1-1普通V带型号及有关参数
程序变量
名称
参数名称
普通V带型号
Y
Z
A
B
C
D
E
s
带型代号
1
2
3
4
5
6
7
q1
q/kg·m-1
0.02
0.06
0.10
0.17
0.30
0.62
0.90
dm
dmin/mm
20
50
75
125
200
355
500
kb
Kb/10-3
0.02
0.17
1.03
2.65
7.50
26.6
49.8
运行界面:
程序代码:
PrivateSubCommand1_Click()
DimsAsInteger
Dimq1AsSingle,dmAsSingle,kbAsSingle
s=Val(Txt_s.Text)
SelectCases
Case0
q1=0.02:
dm=20:
kb=0.00006
Case1
q1=0.06:
dm=50:
kb=0.00039
Case2
q1=0.1:
dm=75:
kb=0.00103
Case4
q1=0.17:
dm=125:
kb=0.00265
Case5
q1=0.3:
dm=200:
kb=0.0075
Case6
q1=0.62:
dm=355:
kb=0.0266
Case7
q1=0.9:
dm=500:
kb=0.0498
EndSelect
Txt_q1.Text=Str(q1)
Txt_dmin.Text=Str(dm)
Txt_kb.Text=Str(kb)
EndSub
PrivateSubCommand2_Click()
End
EndSub
2)二元数表的存取
表1-2齿轮传动工作状况系数KA
原动机(代码M)
工作机(代码N)
1
2
3
平稳
中等冲击
较大冲击
1
工作平稳
1
1.25
1.75
2
轻度冲击
1.25
1.5
2
3
中等冲击
1.5
1.75
≥2.25
运行界面:
程序代码:
OptionExplicit
DimiiAsInteger
DimjjAsInteger
PublicappdirAsString
PrivateSubCheck1_Click()
IfCheck1.Value=1Then
Check2.Value=0
Check3.Value=0
ii=0
EndIf
EndSub
PrivateSubCheck2_Click()
IfCheck2.Value=1Then
Check1.Value=0
Check3.Value=0
ii=1
EndIf
EndSub
PrivateSubCheck3_Click()
IfCheck3.Value=1Then
Check1.Value=0
Check2.Value=0
ii=2
EndIf
EndSub
PrivateSubCheck4_Click()
IfCheck4.Value=1Then
Check5.Value=0
Check6.Value=0
jj=0
EndIf
EndSub
PrivateSubCheck5_Click()
IfCheck5.Value=1Then
Check4.Value=0
Check6.Value=0
jj=1
EndIf
EndSub
PrivateSubCheck6_Click()
IfCheck6.Value=1Then
Check4.Value=0
Check5.Value=0
jj=2
EndIf
EndSub
PrivateSubCommand1_Click()
DimiAsInteger,jAsInteger
Dimka(0To2,0To2)AsSingle
ka(0,0)=1
ka(0,1)=1.25
ka(0,2)=1.75
ka(1,0)=1.25
ka(1,1)=1.5
ka(1,2)=2
ka(2,0)=1.5
ka(2,1)=1.75
ka(2,2)=2.25
txt_ka.Text=Str(ka(ii,jj))
EndSub
PrivateSubCommand1_Click()
End
EndSub
表1-3V工作状况系数KA
工作机载荷性质
原动机(代码M)
一天工作时数(LH)
<10
10~16
>16
(代码N)
工作平稳
1
1.1
1.2
载荷变化小
1.1
1.2
1.3
载荷变化大
1.2
1.3
1.4
冲击载荷
1.3
1.4
1.5
运行界面:
程序代码:
PrivateSubCommand1_Click()
If(Combo1.Text=Combo1.List(0)AndOption1.Value)ThenText_ka.Text=1
If(Combo1.Text=Combo1.List(0)AndOption2.Value)ThenText_ka.Text=1.1
If(Combo1.Text=Combo1.List(0)AndOption3.Value)ThenText_ka.Text=1.2
If(Combo1.Text=Combo1.List
(1)AndOption1.Value)ThenText_ka.Text=1.1
If(Combo1.Text=Combo1.List
(1)AndOption2.Value)ThenText_ka.Text=1.2
If(Combo1.Text=Combo1.List
(1)AndOption3.Value)ThenText_ka.Text=1.3
If(Combo1.Text=Combo1.List
(2)AndOption1.Value)ThenText_ka.Text=1.2
If(Combo1.Text=Combo1.List
(2)AndOption2.Value)ThenText_ka.Text=1.3
If(Combo1.Text=Combo1.List
(2)AndOption3.Value)ThenText_ka.Text=1.4
If(Combo1.Text=Combo1.List(3)AndOption1.Value)ThenText_ka.Text=1.3
If(Combo1.Text=Combo1.List(3)AndOption2.Value)ThenText_ka.Text=1.4
If(Combo1.Text=Combo1.List(3)AndOption3.Value)ThenText_ka.Text=1.5
Text_pc.Text=Str(Text_ka)*Str(Text_p)
EndSub
PrivateSubCommand2_Click()
End
EndSub
3)区间检索
表1-4平键尺寸
序号(代码i)
公称轴径d
键的公称尺寸b×h
1
62×2
2
83×3
3
104×4
4
125×5
5
176×6
6
228×7
7
3010×8
8
3812×8
9
4414×9
10
5016×10
11
5818×11
运行界面:
程序代码:
PrivateSubCommand1_Click()
DimiAsInteger,dAsInteger
DimddAsVariant,bAsVariant,hAsVariant
dd=Array(0,6,8,10,12,17,22,30,38,44,50,58)
b=Array(0,2,3,4,5,6,8,10,12,14,16,18)
h=Array(0,2,3,4,5,6,7,8,8,9,10,11)
d=Val(Txt_d.Text)
Fori=0To10
Ifd<=dd(i+1)Then
ExitFor
EndIf
Nexti
Txt_b.Text=Str(b(i))
Txt_h.Text=Str(h(i))
EndSub
PrivateSubCommand2_Click()
End
EndSub
4)复杂表格程序化(含插值处理)
一元数表的线性插值
表1-5包角系数Kα
包角(af)
180
175
170
165
160
155
150
145
140
135
130
125
120
包角系数(kf)
1.0
0.99
0.98
0.96
0.95
0.93
0.92
0.91
0.89
0.88
0.86
0.84
0.82
序号(i)
12
11
10
9
8
7
6
5
4
3
2
1
0
运行界面:
程序代码:
PrivateSubCommand1_Click()
DimiAsInteger
DimtAsSingle,uAsSingle,fAsSingle
DimkfAsSingle,afAsSingle
DimxAsVariant,yAsVariant
x=Array(120,125,130,135,140,145,150,155,160,165,170,175,180,185)
y=Array(0.82,0.84,0.86,0.88,0.89,0.91,0.92,0.93,0.95,0.96,0.98,0.99,1,1)
t=Val(Txt_t.Text)
Ifti=0
ElseIft>=x(12)Then
i=12
Else
Fori=1To12
Ift<=x(i)Then
i=i-1
ExitFor
EndIf
Nexti
EndIf
u=(t-x(i))/(x(i+1)-x(i))
f=y(i)+u*(y(i+1)-y(i))
kf=f:
af=t
Txt_af.Text=Str(af)
Txt_kf.Text=Str(kf)
EndSub
PrivateSubCommand2_Click()
Txt_t.Text=""
Txt_af.Text=""
Txt_kf.Text=""
EndSub
二元数表的线性插值
表1-6轴的圆角处应力集中系数Kσ
序号
j
1
2
3
4
5
6
i
σB/N·mm-2
r/d
≤500
600
700
800
900
≥1000
1
2
3
4
5
6
7
8
0
0.02
0.04
0.06
0.08
0.10
0.15
0.20
2.32
1.84
1.60
1.51
1.40
1.34
1.25
1.19
2.50
1.96
1.66
1.51
1.40
1.34
1.25
1.19
2.71
2.08
1.69
1.54
1.42
1.37
1.27
1.22
-
2.20
1.75
1.54
1.42
1.37
1.27
1.22
-
2.35
1.81
1.60
1.46
1.39
1.30
1.24
-
2.50
1.87
1.60
1.46
1.39
1.30
1.24
运行界面:
程序代码:
DimAppdirAsString
DimiAsInteger,jAsInteger
DimiiAsInteger,jjAsInteger
PrivateSubCmdstart_Click()
DimkiAsInteger,kjAsInteger
DimaxAsSingle,ayAsSingle,apAsSingle
DimbtAsSingle,fAsSingle
DimxAsVariant,yAsVariant
Dimz(8,6)AsSingle
x=Array(0,0,0.02,0.04,0.06,0.08,0.1,0.15,0.2)
y=Array(0,500,600,700,800,900,1000)
z(1,1)=2.32
z(1,2)=2.5
z(1,3)=2.71
z(1,4)=0
z(1,5)=0
z(1,6)=0
z(2,1)=1.84
z(2,2)=1.96
z(2,3)=2.08
z(2,4)=2.2
z(2,5)=2.35
z(2,6)=2.5
z(3,1)=1.6
z(3,2)=1.66
z(3,3)=1.69
z(3,4)=1.75
z(3,5)=1.81
z(3,6)=1.87
z(4,1)=1.51
z(4,2)=1.51
z(4,3)=1.54
z(4,4)=1.54
z(4,5)=1.6
z(4,6)=1.6
z(5,1)=1.4
z(5,2)=1.4
z(5,3)=1.42
z(5,4)=1.42
z(5,5)=1.46
z(5,6)=1.46
z(6,1)=1.34
z(6,2)=1.34
z(6,3)=1.37
z(6,4)=1.37
z(6,5)=1.39
z(6,6)=1.39
z(7,1)=1.25
z(7,2)=1.25
z(7,3)=1.27
z(7,4)=1.27
z(7,5)=1.3
z(7,6)=1.3
z(8,1)=1.19
z(8,2)=1.19
z(8,3)=1.22
z(8,4)=1.22
z(8,5)=1.24
z(8,6)=1.24
ax=Val(txt_rd.Text)
ay=Val(txt_cb.Text)
Fori=1To8
Ifax<=x(i+1)Then
ki=i
ExitFor
Else
ki=8
EndIf
Nexti
Forj=1To6
Ifay<=y(j+1)Then
kj=j
ExitFor
Else
kj=6
EndIf
Nextj
ap=(ax-x(ki))/(x(ki+1)-x(ki))
bt=(ay-y(kj))/(y(kj+1)-y(kj))
f=(1-ap)*(1-bt)*z(ki,kj)+bt*(1-ap)*z(ki,kj+1)+ap*(1-bt)*z(ki+1,kj)+ap*bt*z(ki+1,kj+1)
txt_kc.Text=Str(f)
EndSub
PrivateSubCommand2_Click()
End
EndSub
非线性插值
表1-7蜗轮齿形系数YF
Zv
20
24
26
28
30
32
35
37
YF
1.98
1.88
1.85
1.80
1.76
1.71
1.64
1.61
Zv
40
45
50
60
80
100
150
300
YF
1.55
1.48
1.45
1.40
1.34
1.30
1.27
1.24
运行界面:
程序代码:
PrivateSubCommand1_Click()
DimiAsInteger,zAsInteger,hiAsInteger
Dimx1AsSingle,x2AsSingle,x3AsSingle
DimuAsSingle,vAsSingle,wAsSingle,yfAsSingle
DimxAsVariant,yAsVariant
x=Array(0,20,24,26,28,30,32,35,37,40,45,50,60,80,100,150,300)
y=Array(0,1.98,1.88,1.85,1.8,1.76,1.71,1.64,1.61,1.55,1.48,1.45,1.4,1.34,1.3,1.27,1.24)
z=Val(Txt_z.Text)
Fori=1To14
Ifz-x(i+1)<=0Then
hi=i
ExitFor
Else
hi=14
EndIf
Nexti
Ifhi>1Andz-x(hi)x1=x(hi):
x2=x(hi+1):
x3=x(hi+2)
u=(z-x2)*(z-x3)/((x1-x2)*(x1-x3))
v=(z-x1)*(z-x3)/((x2-x1)*(x2-x3))
w=(z-x1)*(z-x2)/((x3-x1)*(x3-x2))
yf=u*y(hi)+v*y(hi+1)+w*y(hi+2)
Txt_zv.Text=Str(z)
Txt_yf.Text=Str(yf)
EndSub
PrivateSubCommand2_Click()
Txt_zv.Text=""
Txt_yf.Text=""
Txt_z.Text=""
EndSub
1.1.2数表解析法
表1-8圆弧齿锥齿轮几何系数
Z1
16
20
24
28
32
36
40
45
50
j
0.171
0.186
0.201
0.214
0.226
0.234
0.245
0.263
0.280
运行界面:
程序代码:
PrivateSubCommand1_Click()
DimYYAsVariant
m=2:
n=9
X=Array(0,16,20,24,28,32,36,40,45,50)
Y=Array(0,0.171,0.186,0.201,0.214,0.226,0.234,0.245,0.263,0.28)
YY=Array(0,0.171,0.186,0.201,0.214,0.226,0.234,0.245,0.263,0.28)
Call最小二乘法程序
txt_a0=A(1,JJ)
txt_a1=A(2,JJ)
txt_a2=A(3,JJ)
Forj=1Ton
'将计算结果写入到表格中
MSHFlexGrid1.TextMatrix(j,0)=Str(j)
MSHFlexGrid1.TextMatrix(j,1)=Str(X(j))
MSHFlexGrid1.TextMatrix(j,2)=Str(YY(j))
MSHFlexGrid1.TextMatrix(j,3)=Str(Y(j))
Nextj
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubForm_Load()
'设置各行的宽度
MSHFlexGrid1.ColWidth(0)=500:
MSHFlexGrid1.ColWidth
(1)=600
MSHFlexGrid1.ColWidth
(2)=800:
MSHFlexGrid1.ColWidth(3)=1600
'设置表头
MSHFlexGrid1.TextMatrix(0,0)="组数"
MSHFlexGrid1.TextMatrix(0,1)="齿数Z1"
MSHFlexGrid1.TextMat