分级变速主传动系统共13页
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验目的
1通过对分级变速主传动系统的设计来巩固课堂学习的相关知识;
2了解和掌握CAD的方法,初步学会应用VB来进行AutoCAD二次开发。
二、实验内容和步骤
实验题目:(参照教材138页)
设计一中型机床传动系统,电动机转速1440rpm,要求输出12级转速、最低转速31.5rpm、最高转速1400rpm。
根据题目要求,工作流程如下:
第一步:输入设计原始数据。主要包括电动机转速、要求输出的转速级数、输出最低转速、输出最高转速等。
第二步:参照教材45页的标准数列表,用写字板等编辑软件,编写标准数列表文件a.dat,并将其存放在程序指定的位置。
第三步:生成符合要求的输出转速序列,相应数据以文件outdata.dat 形式输出,并将其存放在程序指定的位置。
以上第一到第三步通过编写QBASIC程序来完成。
第四步:确定传动系统的结构式。
第五步:编程绘制转速图,通过VB编程完成。
第六步:完成配齿。
以上第四步、第六步由同学们参考教材在课后自己完成。
第七步:绘制传动系统图。由同学们独立完成,可以手绘,也可以在计算机上完成。
由以上介绍可以看出,实验课上完成的内容是除第四步和第六步外的全部内容,我们将这些内容分为三大部分。第一部分,包括第一到第三步的全部内容:即利用QBASIC编程,通过运算生成符合题目要求的转速数列
等数据,以outdata.dat文件形式输出。QBASIC源程序见下:DIM n(171), Nz(31)
OPEN "e:\a.dat" FOR INPUT AS #1
i = 1
DO WHILE NOT EOF(1)
INPUT #1, n(i)
i = i + 1
LOOP
CLOSE #1
INPUT "nmotor"; nmotor
INPUT "nmin"; Nmin
INPUT "nmax"; nmax
INPUT "z"; z
Nz = nmax / Nmin
ng = LOG(Nz)
nh = ng / (z - 1)
fai = EXP(nh)
x = INT(LOG(fai) / LOG(1.06) + .5)
FOR i = 1 TO 161
IF n(i) = Nmin THEN j = i ELSE
NEXT i
OPEN "e:\outdata.dat" FOR OUTPUT AS #2
WRITE #2, nmotor
WRITE #2, z
FOR k = 1 TO z
Nz(k) = n(j)
j = j + x
WRITE #2, Nz(k)
NEXT k
CLOSE #2
END
请注意程序中的一句,OPEN "e:\a.dat" FOR INPUT AS #1,这里说明:a.dat 文件是标准数列文件,所谓标准数列见教材45页表2.12。这个文件在程序运行前,要编辑好,并放在相应的地方,程序原句要求将a.dat文件放在E盘的根目录下。
程序正确运行后自动生成的outdata.dat文件内容见下。
1440
12
31.5
45
63
90
125
180
250
355
500
710
1000
1400
以上部分即第一部分用2学时完成。
第二部分编写VB程序,绘制转速图,就是第五步工作内容。
首先进入VB6.0中文系统,分别制作两个窗体,见图1和图2。
图 1 主控窗体
图 2 绘图参数输入窗体
在图 1 的窗体中,“输入转速图绘制所需参数”命令按钮的代码如下:Private Sub Cmd输入参数_Click()
Form1.Show
End Sub
“绘制转速图”命令按钮的代码如下:
'进入AutoCAD
Private Sub Cmd绘图_Click()
On Error Resume Next
Set acadapp = GetObject(, "autocad.application")
If Err Then
Err.Clear
Set acadapp = CreateObject("autocad.application")
If Err Then
MsgBox ("不能运行AutoCAD200#,请检查是否安装了AutoCAD")
Exit Sub
End If
End If
acadapp.Visible = True
acadapp.ActiveDocument.ActiveViewport.GridOn = True
'画表格
Dim lineobj As AcadLine
Dim startpoint1(0 To 2) As Double
Dim endpoint1(0 To 2) As Double
Dim z As Integer
z = 12
startpoint1(0) = 1#: startpoint1(1) = 1#: startpoint1(2) = 0# endpoint1(0) = 57#: endpoint1(1) = 1#: endpoint1(2) = 0#:
set line1obj= acadapp.ActiveDocument.ModelSpace.AddLine(startpoint1, endpoint1)
retval1 = line1obj.ArrayRectangular(z, 1, 1, 6, 0, 0)
Dim sp(0 To 2) As Double
Dim ep(0 To 2) As Double
sp(0) = 1#: sp(1) = 1#: sp(2) = 0#
ep(0) = 1#: ep(1) = 67#: ep(2) = 0#:
Set line2obj = acadapp.ActiveDocument.ModelSpace.AddLine(sp, ep) retval2 = line2obj.ArrayRectangular(1, 5, 1, 1, 14, 0)
'写图表标题
acadapp.ActiveDocument.ActiveTextStyle.fontFile=
"c:\winnt\fonts\simfang.ttf"
Dim textobj As AcadText
Dim textstring As String
Dim ip(0 To 2) As Double
Dim iip(0 To 2) As Double
Dim h, tx As Double
textstring = "分级变速主传动系统转速图"
h = 2