机械设计上机设计实验报告.docx

上传人:b****6 文档编号:5390091 上传时间:2022-12-15 格式:DOCX 页数:30 大小:157.97KB
下载 相关 举报
机械设计上机设计实验报告.docx_第1页
第1页 / 共30页
机械设计上机设计实验报告.docx_第2页
第2页 / 共30页
机械设计上机设计实验报告.docx_第3页
第3页 / 共30页
机械设计上机设计实验报告.docx_第4页
第4页 / 共30页
机械设计上机设计实验报告.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

机械设计上机设计实验报告.docx

《机械设计上机设计实验报告.docx》由会员分享,可在线阅读,更多相关《机械设计上机设计实验报告.docx(30页珍藏版)》请在冰豆网上搜索。

机械设计上机设计实验报告.docx

机械设计上机设计实验报告

 

班级:

姓名:

学号:

 

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

6

2×2

2

8

3×3

3

10

4×4

4

12

5×5

5

17

6×6

6

22

8×7

7

30

10×8

8

38

12×8

9

44

14×9

10

50

16×10

11

58

18×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)

Ift

i=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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1