安徽理工大学毕业设计
参考文献
[1]李长勋.AutoCAD VBA程序开发技术.1版.北京:国防工业出版社,2004.
[2]张帆,郑立楷,王华杰.AutoCAD VBA开发精彩实例教程.1版.北京:清华大学出版社,2004.
[3]濮良贵,纪名刚.机械设计[M].8版.北京:高等教育出版社,2006. [4]孙恒,陈作模,葛文杰.机械原理[M].7版.北京:高等教育出版社,2006.
[5]王玉锟 任卫红 茅艳 王狂飞.CAD二次开发技术及其工程应用[M].北京:清华大学出版社,2008.3
[6]张帆 郑立楷 王华杰.AutoCAD VBA 开发精彩实例教程[M].北京:清华大学出版社,2004.1
[7]中国机械CAD论坛 http://www.jxcad.com.cn/
张晋西.Visual Basic与AutoCAD二次开发[M].北京:清华大学出版社,2002.1 [9]刘刚.Visual Basic程序设计与应用案例[M]. 北京:高等教育出版社,2003.9. [10]张蔚.基于VBA的AutoCAD绘图环境参数程序的开发[D].鄂州:鄂州大学建筑工程学院,2007.
31
安徽理工大学毕业设计
致谢
在此次毕业设计的过程中,本人得到了叶老师的精心指导,正是因为老师给提供了大量的资料和相关的知识,我才能完成此次设计。在老师的帮助下,我学会了从大量资料中选取所需要知识的能力,如果没有老师花费大量时间的指导,我不可能完成此次设计,在此特感谢老师的帮助。
32
安徽理工大学毕业设计
附录:
工况及齿轮布置:
Private Sub CommandButton1_Click() Unload Me UserForm2.Show End Sub
Private Sub CommandButton2_Click() ka = Val(TextBox8.Text) φd = Val(TextBox10.Text)
msg1$ = \齿宽系数不在规定范围之内,请重新输入!\Title1$ = \输入错误\If TextBox10 = \
MsgBox \请输入齿宽系数!\错误对话框\TextBox10.SetFocus
ElseIf OptionButton9.Value = True And (φd > 1.4 Or φd < 0.9) Then MsgBox msg1$, 32, Title1$ TextBox10.SetFocus
ElseIf OptionButton10.Value = True And (φd > 1.15 Or φd < 0.7) Then MsgBox msg1$, 32, Title1$ TextBox10.SetFocus
ElseIf OptionButton11.Value = True And (φd > 0.6 Or φd < 0.4) Then MsgBox msg1$, 32, Title1$ TextBox10.SetFocus Else
UserForm3.hide UserForm4.Show End If End Sub
……………………………………
齿轮材料及特性:
Private Sub ComboBox1_Click()
33
安徽理工大学毕业设计
If ComboBox1.Text = \ScrollBar1.Min = 170: ScrollBar1.Max = 241 σHlim1min = 312: σHlim1max = 397 σFE1min = 100: σFE1max = 133.8 e1 = 118000
…………………………………………
If ComboBox1.Text = \(调制后表面淬火)\(调制后表面淬火)\ComboBox1.Text = \(渗碳后淬火)\Or ComboBox1.Text = \(渗碳后淬火)\Or ComboBox1.Text = \(渗碳后淬火)\(渗碳后淬火)\Label13.Caption = \Else
Label13.Caption = \End If End Sub
…………………………………… Private Sub ScrollBar1_Change() TextBox5.Text = ScrollBar1.Value
σHlim1 = σHlim1min + (ScrollBar1.Value - ScrollBar1.Min) * (σHlim1max - σHlim1min) / (ScrollBar1.Max - ScrollBar1.Min)
σFE1 = σFE1min + (ScrollBar1.Value - ScrollBar1.Min) * (σFE1max - σFE1min) / (ScrollBar1.Max - ScrollBar1.Min)
TextBox1.Text = CInt(σHlim1) TextBox2.Text = CInt(σFE1) End Sub
模块里的程序: 齿轮gear1: Public Sub gear1()
If UserForm8.OptionButton1.Value = True Then da = da1 df = df1 bb = b1 End If
…………………………………………
34
安徽理工大学毕业设计
If (0.5 * mn) > (Int(0.5 * mn)) Then dj = Int(0.5 * mn) + 0.5 Else
dj = Int(0.5 * mn) End If
Dim r As Double r = 5
……………………………… Dim utilobj As Variant On Error Resume Next
ins(0) = inpt(0) + length * 10 / 17: ins(1) = inpt(1) + width * 6 / 10: ins(2) = 0 ThisDrawing.Preferences.LineWeightDisplay = True Set layercen = ThisDrawing.Layers.Add(\……………………………… layercen.color = acBlue ……………………………… layercen.Lineweight = acLnWt009 layerpou.Lineweight = acLnWt009 layergear.Lineweight = acLnWt020 layerdim.Lineweight = acLnWt013
ThisDrawing.Linetypes.Load \ThisDrawing.Linetypes.Load \layercen.Linetype = \layergear.Linetype = \layerpou.Linetype = \layerdim.Linetype = \
cenp(0) = ins(0): cenp(1) = ins(1): cenp(2) = 0
uenp(0) = cenp(0): uenp(1) = cenp(1) + da / 2 + 10: uenp(2) = 0 denp(0) = cenp(0): denp(1) = cenp(1) - da / 2 - 10: denp(2) = 0 lenp(0) = cenp(0) - da / 2 - 10: lenp(1) = cenp(1): lenp(2) = 0 renp(0) = cenp(0) + da / 2 + 10: renp(1) = cenp(1): renp(2) = 0 llenp(0) = cenp(0) - da / 2 - 50 - bb: llenp(1) = cenp(1): llenp(2) = 0 rrenp(0) = cenp(0) - da / 2 - 30: rrenp(1) = cenp(1): rrenp(2) = 0
ddenp(0) = cenp(0) - da / 2 - 40 - bb / 2: ddenp(1) = denp(1): ddenp(2) = 0
35