Private Sub cmdCreate_Click()
Dim x As Variant, y As Variant, t As Double Const pi = 3.14
' 连接到CATIA,如果CATIA未启动,启动它 Dim CATIA As Object
On Error Resume Next
Set CATIA = GetObject(, \ If Err.Number <> 0 Then
Set CATIA = CreateObject(\ CATIA.Visible = True End If
On Error GoTo 0
Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Add(\
Set part1 = partDocument1.Part
Set bodies1 = part1.Bodies
Set body1 = bodies1.Item(\
Set body2 = bodies1.Add
Set product1 = partDocument1.GetItem(\
product1.PartNumber = \
part1.Update
':绘制一条直线作为旋转轴用和Z轴重合
Set hybridShapeFactory1 = part1.HybridShapeFactory
Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(0#, 0#, 0#)
Set hybridBodies1 = part1.HybridBodies
Set hybridBody1 = hybridBodies1.Item(\
hybridBody1.AppendHybridShape hybridShapePointCoord1
part1.InWorkObject = hybridShapePointCoord1
part1.Update
Set reference1 = part1.CreateReferenceFromObject(hybridShapePointCoord1)
Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirectionByCoord(0#, 0#, 1#)
Set hybridShapeLinePtDir1 = hybridShapeFactory1.AddNewLinePtDir(reference1, hybridShapeDirection1, 0#, 20#, False)
hybridBody1.AppendHybridShape hybridShapeLinePtDir1
part1.InWorkObject = hybridShapeLinePtDir1
part1.Update
':设置 f(x) 和 relations
Set parameters1 = part1.Parameters
Set Length1 = parameters1.CreateDimension(\
Length1.Rename \分度圆直径dp\
Set parameters2 = part1.Parameters
Set Length2 = parameters2.CreateDimension(\
Length2.Rename \齿顶高ha\
Set parameters3 = part1.Parameters
Set length3 = parameters3.CreateDimension(\
length3.Rename \齿根高hf\
Set parameters4 = part1.Parameters
Set length4 = parameters4.CreateDimension(\
length4.Rename \齿全高h\
Set parameters5 = part1.Parameters
Set length5 = parameters5.CreateDimension(\
length5.Rename \齿顶圆直径da\
Set parameters6 = part1.Parameters
Set length6 = parameters6.CreateDimension(\
length6.Rename \齿根圆直径df\
Set parameters7 = part1.Parameters
Set length7 = parameters7.CreateDimension(\
length7.Rename \基圆直径db\
Set parameters8 = part1.Parameters
Set length8 = parameters8.CreateDimension(\
length8.Rename \端面模数mt\
Set parameters9 = part1.Parameters
Set angle1 = parameters9.CreateDimension(\
angle1.Rename \端面压力角at\
Set parameters10 = part1.Parameters
Set realParam1 = parameters10.CreateReal(\
realParam1.Rename \端面齿顶高系数hat\
Set parameters11 = part1.Parameters
Set realParam2 = parameters11.CreateReal(\
realParam2.Rename \端面顶隙系数ct\
Set parameters12 = part1.Parameters
Set length9 = parameters12.CreateDimension(\
length9.Rename \法面模数mn\
length9.Value = Val(txtMod.Text)
Set parameters13 = part1.Parameters
Set angle2 = parameters13.CreateDimension(\
angle2.Rename \螺旋角β\
angle2.Value = Val(Text1.Text)
Set parameters14 = part1.Parameters
Set realParam3 = parameters14.CreateReal(\
realParam3.Rename \齿轮齿数z\
realParam3.Value = Val(txtCount.Text)
Set parameters15 = part1.Parameters
Set angle3 = parameters15.CreateDimension(\
angle3.Rename \法面压力角an\
angle3.Value = Val(txtAng.Text)
Set parameters16 = part1.Parameters
Set realParam4 = parameters16.CreateReal(\
realParam4.Rename \法面齿顶高系数han\
realParam4.Value = 1#
Set parameters17 = part1.Parameters
Set realParam5 = parameters17.CreateReal(\
realParam5.Rename \法面顶隙系数cn\
realParam5.Value = 0.25
Set parameters18 = part1.Parameters
Set length10 = parameters18.CreateDimension(\
length10.Rename \齿轮宽B\
length10.Value = Val(txtDis.Text)
Set parameters19 = part1.Parameters
Set parameters21 = part1.Parameters
Set parameters22 = part1.Parameters
Set length14 = parameters22.CreateDimension(\
length14.Rename \齿顶圆倒角n1\
Set parameters23 = part1.Parameters
Set length15 = parameters23.CreateDimension(\
length15.Rename \齿根圆角rf\