机械设计上机设计实验报告Word文件下载.docx
《机械设计上机设计实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《机械设计上机设计实验报告Word文件下载.docx(30页珍藏版)》请在冰豆网上搜索。
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
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
2)二元数表的存取
表1-2齿轮传动工作状况系数KA
原动机(代码M)
工作机(代码N)
平稳
中等冲击
较大冲击
工作平稳
1.25
1.75
轻度冲击
1.5
≥2.25
OptionExplicit
DimiiAsInteger
DimjjAsInteger
PublicappdirAsString
PrivateSubCheck1_Click()
IfCheck1.Value=1Then
Check2.Value=0
Check3.Value=0
ii=0
EndIf
PrivateSubCheck2_Click()
IfCheck2.Value=1Then
Check1.Value=0
ii=1
PrivateSubCheck3_Click()
IfCheck3.Value=1Then
ii=2
PrivateSubCheck4_Click()
IfCheck4.Value=1Then
Check5.Value=0
Check6.Value=0
jj=0
PrivateSubCheck5_Click()
IfCheck5.Value=1Then
Check4.Value=0
jj=1
PrivateSubCheck6_Click()
IfCheck6.Value=1Then
jj=2
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))
表1-3V工作状况系数KA
工作机载荷性质
一天工作时数(LH)
<
10
10~16
>
16
(代码N)
1.1
1.2
载荷变化小
1.3
载荷变化大
1.4
冲击载荷
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)
3)区间检索
表1-4平键尺寸
序号(代码i)
公称轴径d
键的公称尺寸b×
h
6<
d≤8
2×
8<
d≤10
3×
10<
d≤12
4×
12<
d≤17
5×
17<
d≤22
6×
22<
d≤30
8×
30<
d≤38
10×
8
38<
d≤44
12×
9
44<
d≤50
14×
50<
d≤58
16×
11
58<
d≤65
18×
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
Nexti
Txt_b.Text=Str(b(i))
Txt_h.Text=Str(h(i))
4)复杂表格程序化(含插值处理)
一元数表的线性插值
表1-5包角系数Kα
包角(af)
180
175
170
165
160
155
150
145
140
135
130
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
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)
Ift<
x(0)Then
i=0
ElseIft>
=x(12)Then
i=12
Else
Fori=1To12
=x(i)Then
i=i-1
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)
Txt_t.Text="
"
Txt_af.Text="
Txt_kf.Text="
二元数表的线性插值
表1-6轴的圆角处应力集中系数Kσ
序号
j
i
σB/N·
mm-2
r/d
≤500
600
700
800
900
≥1000
0.04
0.08
0.15
0.20
2.32
1.84
1.60
1.51
1.40
1.34
1.19
2.50
1.96
1.66
2.71
2.08
1.69
1.54
1.42
1.37
1.27
1.22
-
2.20
2.35
1.81
1.46
1.39
1.30
1.24
1.87
DimAppdirAsString
DimiAsInteger,jAsInteger
DimiiAsInteger,jjAsInteger
PrivateSubCmdstart_Click()
DimkiAsInteger,kjAsInteger
DimaxAsSingle,ayAsSingle,apAsSingle
DimbtAsSingle,fAsSingle
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
ki=8
Forj=1To6
Ifay<
=y(j+1)Then
kj=j
kj=6
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)
非线性插值
表1-7蜗轮齿形系数YF
Zv
24
26
28
30
32
35
37
YF
1.98
1.88
1.85
1.80
1.76
1.71
1.64
1.61
40
45
60
80
100
300
1.55
1.48
1.45
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
hi=14
Ifhi>
1Andz-x(hi)<
x(hi+1)-zThenhi=hi-1
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)
Txt_zv.Text="
Txt_yf.Text="
Txt_z.Text="
1.1.2数表解析法
表1-8圆弧齿锥齿轮几何系数
Z1
36
0.171
0.186
0.201
0.214
0.226
0.234
0.245
0.263
0.280
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))
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