安徽理工大学毕业设计
dimdpoint2(0) = zstp(0) + bb: dimdpoint2(1) = zstp(1) - da / 2: dimdpoint2(2) = 0
dimlocation1(0) = zstp(0) + bb / 2: dimlocation1(1) = zstp(1) - da / 2 - 10: dimlocation1(2) = 0 Set dimd = ThisDrawing.ModelSpace.AddDimAligned(dimdpoint1, dimdpoint2, dimlocation1) dimd.ArrowheadSize = 5 dimd.textheight = 5
dimdpoint1(0) = lgujcp(2): dimdpoint1(1) = lgujcp(3) + 2: dimdpoint1(2) = 0 dimdpoint2(0) = lgujcp(4): dimdpoint2(1) = lgujcp(5) + 2: dimdpoint2(2) = 0
dimlocation1(0) = lgujcp(4) + 10: dimlocation1(1) = lgujcp(3) + dd / 2 - 10: dimlocation1(2) = 0 Set dimd = ThisDrawing.ModelSpace.AddDimAligned(dimdpoint1, dimdpoint2, dimlocation1) dimd.ArrowheadSize = 5 dimd.textheight = 5
dimdpoint1(0) = lgujcp(4) + 2 - jcb / 2: dimdpoint1(1) = lgujcp(5): dimdpoint1(2) = 0
dimdpoint2(0) = lgujcp(6) + 2 - jcb / 2: dimdpoint2(1) = lgujcp(7) - dd / 2 - Sqr(dd ^ 2 / 4 - jcb ^ 2 / 4): dimdpoint2(2) = 0
dimlocation1(0) = lgujcp(4) + da / 2 + 10: dimlocation1(1) = lgujcp(4) + 10: dimlocation1(2) = 0 Set dimd = ThisDrawing.ModelSpace.AddDimAligned(dimdpoint1, dimdpoint2, dimlocation1) dimd.ArrowheadSize = 5 dimd.textheight = 5
Dim circp(2) As Double, cirfp(2) As Double Dim dimdiam As AcadDimDiametric
circp(0) = cenp(0) - df / 2 * Cos(pi / 4): circp(1) = cenp(1) + df / 2 * Sin(pi / 4): circp(2) = 0 cirfp(0) = cenp(0) + df / 2 * Cos(pi / 4): cirfp(1) = cenp(1) - df / 2 * Sin(pi / 4): cirfp(2) = 0 Set dimdiam = ThisDrawing.ModelSpace.AddDimDiametric(circp, cirfp, 30) dimdiam.ArrowheadSize = 5 dimdiam.textheight = 5
dimdiam.TextOutsideAlign = True
circp(0) = cenp(0) + dd / 2 * Cos(pi / 4): circp(1) = cenp(1) + dd / 2 * Sin(pi / 4): circp(2) = 0 cirfp(0) = cenp(0) - dd / 2 * Cos(pi / 4): cirfp(1) = cenp(1) - dd / 2 * Sin(pi / 4): cirfp(2) = 0 Set dimdiam = ThisDrawing.ModelSpace.AddDimDiametric(circp, cirfp, da / 2) dimdiam.ArrowheadSize = 5 dimdiam.textheight = 5
dimdiam.TextOutsideAlign = True ZoomAll End Sub
41
安徽理工大学毕业设计
齿轮gear2:
………………………………………… Dim ins(2) As Double
Dim cline1, cline2, cline3, cline4 As AcadLine
Dim circleda, circled2, circled0, circled0d, circled3, circled3d, circleko, circledz, dircledf As AcadCircle Dim layercen As AcadLayer, layergear As AcadLayer, layerpou As AcadLayer, layerdim As AcadLayer Dim nameg As String 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
If UserForm8.OptionButton2.Value = True Then nameg = \大齿轮\If UserForm8.OptionButton1.Value = True Then nameg = \小齿轮\Set layercen = ThisDrawing.Layers.Add(\Set layergear = ThisDrawing.Layers.Add(\Set layerpou = ThisDrawing.Layers.Add(\Set layerdim = ThisDrawing.Layers.Add(\layercen.color = acBlue layergear.color = acWhite layerpou.color = acGreen layerdim.color = acWhite layercen.Lineweight = acLnWt009 layerpou.Lineweight = acLnWt009 layergear.Lineweight = acLnWt020 layerdim.lingeweight = acLnWt013
ThisDrawing.Linetypes.Load \ThisDrawing.Linetypes.Load \layercen.Linetype = \layergear.Linetype = \layerpou.Linetype = \layerdim.Linetype = \
Dim cenp(2), uenp(2), denp(2), lenp(2), renp(2), llenp(2), rrenp(2), ddenp(2), uuenp(2) As Double Dim zstp(2) As Double
42
安徽理工大学毕业设计
cenp(0) = ins(0): cenp(1) = ins(1): cenp(2) = 0
uenp(0) = cenp(0): uenp(1) = cenp(1) + da / 2 + 20: uenp(2) = 0 denp(0) = cenp(0): denp(1) = cenp(1) - da / 2 - 20: denp(2) = 0 lenp(0) = cenp(0) - da / 2 - 20: lenp(1) = cenp(1): lenp(2) = 0 renp(0) = cenp(0) + da / 2 + 20: renp(1) = cenp(1): renp(2) = 0 llenp(0) = cenp(0) - da / 2 - 90 - bb: llenp(1) = cenp(1): llenp(2) = 0 rrenp(0) = cenp(0) - da / 2 - 50: rrenp(1) = cenp(1): rrenp(2) = 0
ddenp(0) = cenp(0) - da / 2 - 70 - bb / 2: ddenp(1) = denp(1): ddenp(2) = 0 uuenp(0) = ddenp(0): uuenp(1) = uenp(1): uuenp(2) = 0 zstp(0) = cenp(0) - da / 2 - bb - 70: zstp(1) = cenp(1): zstp(2) = 0 Set utilobj = ThisDrawing.Utility
utilobj.CreateTypedArray cp, vbDouble, cenp(0), cenp(1), 0 utilobj.CreateTypedArray ucp, vbDouble, uenp(0), uenp(1), 0 utilobj.CreateTypedArray dcp, vbDouble, denp(0), denp(1), 0 utilobj.CreateTypedArray lcp, vbDouble, lenp(0), lenp(1), 0 utilobj.CreateTypedArray rcp, vbDouble, renp(0), renp(1), 0 utilobj.CreateTypedArray llcp, vbDouble, llenp(0), llenp(1), 0 utilobj.CreateTypedArray rrcp, vbDouble, rrenp(0), rrenp(1), 0 utilobj.CreateTypedArray uucp, vbDouble, uuenp(0), uuenp(1), 0 utilobj.CreateTypedArray ddcp, vbDouble, ddenp(0), ddenp(1), 0 utilobj.CreateTypedArray zstcp, vbDouble, zstp(0), zstp(1), 0 ThisDrawing.ActiveLayer = layercen
Set cline1 = ThisDrawing.ModelSpace.AddLine(ucp, dcp) Set cline2 = ThisDrawing.ModelSpace.AddLine(lcp, rcp) Set cline3 = ThisDrawing.ModelSpace.AddLine(llcp, rrcp) Set cline4 = ThisDrawing.ModelSpace.AddLine(uucp, ddcp) Set circledz = ThisDrawing.ModelSpace.AddCircle(cp, dz / 2) cline1.LinetypeScale = 20 cline2.LinetypeScale = 20 cline3.LinetypeScale = 20 cline4.LinetypeScale = 20 circledz.LinetypeScale = 20
If UserForm8.OptionButton2.Value = True Then Set circled2 = ThisDrawing.ModelSpace.AddCircle(cp, d2 / 2)
43
安徽理工大学毕业设计
If UserForm8.OptionButton1.Value = True Then Set circled2 = ThisDrawing.ModelSpace.AddCircle(cp, d1 / 2)
circled2.LinetypeScale = 20
ThisDrawing.ActiveLayer = layergear
Set circleda = ThisDrawing.ModelSpace.AddCircle(cp, da / 2) Set circled0 = ThisDrawing.ModelSpace.AddCircle(cp, d0 / 2) Set circled0d = ThisDrawing.ModelSpace.AddCircle(cp, d0 / 2 + dj) Set circled3 = ThisDrawing.ModelSpace.AddCircle(cp, d3 / 2) Set circled3d = ThisDrawing.ModelSpace.AddCircle(cp, d3 / 2 - dj) Set circledf = ThisDrawing.ModelSpace.AddCircle(cp, df / 2) circled2.Linetype = \
lgujcp(0) = cenp(0) - jcb / 2: lgujcp(1) = cenp(1) + Sqr(dd * dd / 4 - jcb * jcb / 4): lgujcp(2) = lgujcp(0): lgujcp(3) = cenp(1) + dd / 2 + jct1
lgujcp(4) = cenp(0) + jcb / 2: lgujcp(5) = lgujcp(3): lgujcp(6) = lgujcp(4): lgujcp(7) = lgujcp(1) Set lgujc = ThisDrawing.ModelSpace.AddLightWeightPolyline(lgujcp) lgucenp(0) = cenp(0): lgucenp(1) = cenp(1): lgucenp(2) = 0 x1 = jcb / dd
arcsin = Atn(x1 / Sqr(-x1 * x1 + 1))
angle1(0) = -3 / 2 * pi + arcsin: angle1(1) = 1 / 2 * pi - arcsin x2 = Atn((jcb / 2) / (Sqr(dd * dd / 4 - jcb * jcb / 4) + dj)) angle2(0) = -3 / 2 * pi + Atn(x2): angle2(1) = 1 / 2 * pi - Atn(x2)
Set lguarc1 = ThisDrawing.ModelSpace.AddArc(lgucenp, dd / 2, angle1(0), angle1(1)) Set lguarc2 = ThisDrawing.ModelSpace.AddArc(lgucenp, dd / 2 + dj, angle2(0), angle2(1)) Dim cenkong(0 To 2), ax1kong(0 To 2), ax2kong(0 To 2), arrayangle As Double Dim arrayresult As Variant Dim arraynumber As Integer Dim axkong As AcadLine arrayangle = 2 * pi arraynumber = 7
cenkong(0) = cenp(0): cenkong(1) = cenp(1) + dz / 2: cenkong(2) = 0
ax1kong(0) = cenkong(0): ax1kong(1) = cenkong(1) + dk / 2 + 5: ax1kong(2) = 0 ax2kong(0) = cenkong(0): ax2kong(1) = cenkong(1) - dk / 2 - 5: ax2kong(2) = 0 utilobj.CreateTypedArray ckong, vbDouble, cenkong(0), cenkong(1), 0 utilobj.CreateTypedArray ax1k, vbDouble, ax1kong(0), ax1kong(1), 0
44
安徽理工大学毕业设计
utilobj.CreateTypedArray ax2k, vbDouble, ax2kong(0), ax2kong(1), 0 Set circleko = ThisDrawing.ModelSpace.AddCircle(ckong, dk / 2) ThisDrawing.ActiveLayer = layercen
Set axkong = ThisDrawing.ModelSpace.AddLine(ax1k, ax2k) axkong.LinetypeScale = 20
arrayresult = circleko.ArrayPolar(arraynumber, arrayangle, cp) arrayresult = axkong.ArrayPolar(arraynumber, arrayangle, cp) ThisDrawing.ActiveLayer = layergear Dim zstline1 As AcadLWPolyline Dim zstp1(15) As Double
zstp1(0) = zstp(0): zstp1(1) = zstp(1) + da / 2 - dj: zstp1(2) = zstp(0) + dj: zstp1(3) = zstp(1) + da / 2 zstp1(4) = zstp(0) + bb - dj: zstp1(5) = zstp1(3): zstp1(6) = zstp1(0) + bb: zstp1(7) = zstp1(1) zstp1(8) = zstp1(6): zstp1(9) = zstp(1) - da / 2 + dj: zstp1(10) = zstp1(4): zstp1(11) = zstp(1) - da / 2 zstp1(12) = zstp1(2): zstp1(13) = zstp1(11): zstp1(14) = zstp1(0): zstp1(15) = zstp1(9) Set zstline1 = ThisDrawing.ModelSpace.AddLightWeightPolyline(zstp1) zstline1.Closed = True
Dim wpline1, wpline2 As AcadLine Dim splineobj As AcadSpline Dim stanpoint(2) As Double Dim etanpoint(2) As Double Dim vetpoint(17) As Double
stanpoint(0) = zstp(0) - 3: stanpoint(1) = zstp(1) + dz / 2 - 3: stanpoint(2) = 0 etanpoint(0) = zstp(0) + bb: etanpoint(1) = stanpoint(1) - 4: etanpoint(2) = 0 vetpoint(0) = zstp(0): vetpoint(1) = zstp(1) + dz / 2 - 5: vetpoint(2) = 0 vetpoint(3) = zstp(0) + dj: vetpoint(4) = vetpoint(1) + 1: vetpoint(5) = 0
vetpoint(6) = zstp(0) + bb / 2 - ch / 2: vetpoint(7) = vetpoint(4) + 3: vetpoint(8) = 0 vetpoint(9) = vetpoint(6) + ch: vetpoint(10) = vetpoint(7) + 2: vetpoint(11) = 0 vetpoint(12) = zstp(0) + bb - dj: vetpoint(13) = vetpoint(10) - 2: vetpoint(14) = 0 vetpoint(15) = zstp(0) + bb: vetpoint(16) = vetpoint(13) + 1: vetpoint(17) = 0 Set splineobj = ThisDrawing.ModelSpace.AddSpline(vetpoint, stanpoint, etanpoint) utilobj.CreateTypedArray vetp1, vbDouble, vetpoint(3), vetpoint(4), 0 utilobj.CreateTypedArray vetp2, vbDouble, zstp1(2), zstp1(3), 0 utilobj.CreateTypedArray vetp3, vbDouble, vetpoint(12), vetpoint(13), 0 utilobj.CreateTypedArray vetp4, vbDouble, zstp1(4), zstp1(5), 0
45