SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7893|回复: 23
打印 上一主题 下一主题

自动建模与装配程式码分享(VB.NET)

  [复制链接]

7

主题

48

帖子

41

金币

天使

Rank: 2Rank: 2

积分
136
QQ
跳转到指定楼层
楼主
发表于 2018-5-23 17:32:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

   经典图书
以机械加工乙级作为主题的自动建模与装配程式码分享



18500-106201.zip (370.16 KB, 下载次数: 55)
18500-106201.txt (41.78 KB, 下载次数: 147)
18500-106201.rar (14.08 KB, 下载次数: 136)



Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst

Public Class Form1
  'SolidWorks物件
  Dim SwApp As SldWorks
  '尺寸
  Dim myDimension As Object
  '资料夹名称
  Dim PartFolder As String = "\18500-1060201"
  '桌面路径
  Dim DesktopPath As String = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop)
  '警告讯息列举
  Dim Warnings As Integer
  '零件档路径
  Dim PartPath() As String = {DesktopPath & PartFolder & "\支柱.SLDPRT",
  DesktopPath & PartFolder & "\立柱.SLDPRT", DesktopPath & PartFolder & "\底座.SLDPRT",
  DesktopPath & PartFolder & "\摇臂.SLDPRT", DesktopPath & PartFolder & "\偏心转轴.SLDPRT"}

  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  Try
    If System.IO.Directory.Exists(DesktopPath & PartFolder) Then
      System.IO.Directory.Delete(DesktopPath & PartFolder, True)
    End If
  Catch ex As Exception
    MsgBox("无法建立" & PartFolder & "资料夹")
    Exit Sub
  End Try

  '建立资料夹
  System.IO.Directory.CreateDirectory(DesktopPath & PartFolder)

  SwApp = New SldWorks

  '显示应用程式
  SwApp.Visible = True

  '抑制尺寸修改对话框
  SwApp.SetUserPreferenceToggle(10, False)

  '建立零件
  CreatePart1()
  CreatePart2()
  CreatePart3()
  CreatePart4()
  CreatePart5()

  '组装零件
  Assembly()

  '开启尺寸修改对话框
  SwApp.SetUserPreferenceToggle(10, True)
  End Sub

  Sub CreatePart1()
  Dim Part As ModelDoc2 = SwApp.NewPart
  Part = SwApp.ActiveDoc

  '填料-伸长1
  Part.Extension.SelectByID2("上基准面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
  Part.SketchManager.InsertSketch(True)
  Part.ClearSelection2(True)
  Part.SketchManager.CreateCenterRectangle(0, 0, 0, 0.014, 0.014, 0)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line3", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.AddDimension2(0, 0, -0.03)
  Part.ClearSelection2(True)
  Part.SketchManager.InsertSketch(True)
  Part.ShowNamedView2("*等角视", 7)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("草图1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.FeatureManager.FeatureExtrusion2(True, False, False, 6, 0, 0.07, 0.01, False,
                False, False, False, 0, 0, False, False,
                False, False, True, True, True, 0, 0, False)
  Part.ClearSelection2(True)

  '?16.0mm定位孔1
  Part.Extension.SelectByID2("", "FACE", 0, 0.015, 0.011, False, 0, Nothing, 0)
  Part.FeatureManager.HoleWizard5(swWzdGeneralHoleTypes_e.swWzdHole, swWzdHoleStandards_e.swStandardISO,
             swWzdHoleStandardFastenerTypes_e.swStandardISODowelHole, "?16.0",
             swEndConditions_e.swEndCondThroughAll, 0.016, 0, 1,
             0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, "", False,
             True, True, True, True, False)
  Part.Extension.SelectByID2("草图3", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.EditSketch()
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Point1", "SKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("", "EDGE", 0, -0.035, 0.014, True, 0, Nothing, 0)
  Part.AddDimension2(0.03, 0, 0.011)
  Part.ClearSelection2(True)
  myDimension = Part.Parameter("D1@草图3")
  myDimension.SystemValue = 0.052
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Point1", "SKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Point1@原点", "EXTSKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0)
  Part.SketchAddConstraints("sgVERTICALPOINTS2D")
  Part.ClearSelection2(True)
  Part.SketchManager.InsertSketch(True)

  'M6螺纹孔1
  Part.Extension.SelectByID2("", "FACE", 0, -0.025, 0, False, 0, Nothing, 0)
  Part.FeatureManager.HoleWizard5(swWzdGeneralHoleTypes_e.swWzdTap, swWzdHoleStandards_e.swStandardISO,
            swWzdHoleStandardFastenerTypes_e.swStandardISOTappedHoleBottoming,
            "M6", swEndConditions_e.swEndCondBlind, 0.005, 0.012,
              0, 0.01, 0, 0, 0, 0, 118 * Math.PI / 180, 1, 0, 0,
              -1, -1, -1, "", False, True, True, True, True, False)
  Part.Extension.SelectByID2("草图5", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.EditSketch()
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Point1", "SKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Point1@原点", "EXTSKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0)
  Part.SketchAddConstraints("sgCOINCIDENT")
  Part.SketchManager.InsertSketch(True)

  '?6.0mm定位孔1
  Part.Extension.SelectByID2("", "FACE", -0.006, -0.025, -0.006, False, 0, Nothing, 0)
  Part.FeatureManager.HoleWizard5(swWzdGeneralHoleTypes_e.swWzdHole, swWzdHoleStandards_e.swStandardISO,
             swWzdHoleStandardFastenerTypes_e.swStandardISODowelHole, "?6.0",
             swEndConditions_e.swEndCondBlind, 0.006, 0.012, 0, 0,
             118 * Math.PI / 180, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
             "", False, True, True, True, True, False)
  Part.Extension.SelectByID2("草图7", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.EditSketch()
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Point1", "SKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
  Part.EditDelete()
  Part.SketchManager.CreateCornerRectangle(0.009, -0.009, 0, -0.009, 0.009, 0)
  Part.SketchManager.CreatePoint(0.009, 0.009, 0)
  Part.SketchManager.CreatePoint(-0.009, -0.009, 0)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.SelectMidpoint()
  Part.Extension.SelectByID2("Point1@原点", "EXTSKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0)
  Part.SketchAddConstraints("sgVERTICALPOINTS2D")
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line4", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.SelectMidpoint()
  Part.Extension.SelectByID2("Point1@原点", "EXTSKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0)
  Part.SketchAddConstraints("sgHORIZONTALPOINTS2D")
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line4", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.AddDimension2(0.02, -0.035, 0)
  Part.ClearSelection2(True)
  Part.SketchManager.InsertSketch(True)

  Part.SaveAs3(PartPath(0), 0, 2)
  SwApp.CloseDoc(Part.GetTitle)
  Part = Nothing
  End Sub

  Sub CreatePart2()
  Dim Part As ModelDoc2 = SwApp.NewPart
  Part = SwApp.ActiveDoc

  '填料-伸长1
  Part.Extension.SelectByID2("上基准面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
  Part.SketchManager.InsertSketch(True)
  Part.ClearSelection2(True)
  Part.SketchManager.CreateCenterRectangle(0, 0, 0, 0.014, 0.014, 0)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line3", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.AddDimension2(0, 0, -0.03)
  Part.ClearSelection2(True)
  Part.SketchManager.InsertSketch(True)
  Part.ShowNamedView2("*等角视", 7)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("草图1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.FeatureManager.FeatureExtrusion2(True, False, False, 6, 0, 0.032, 0.01,
                False, False, False, False, 0, 0, False,
                False, False, False, True, True, True, 0, 0, False)
  Part.ClearSelection2(True)

  '除料-伸长1
  Part.Extension.SelectByID2("", "FACE", 0.014, 0, 0, False, 0, Nothing, 0)
  Part.SketchManager.InsertSketch(True)
  Part.ClearSelection2(True)
  Part.SketchManager.CreateCornerRectangle(0.007, -0.001, 0, -0.007, 0.016, 0)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line4", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("", "EDGE", 0.014, 0, 0.014, True, 0, Nothing, 0)
  Part.AddDimension2(0.014, 0.02, 0.01)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line3", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.AddDimension2(0.014, 0.02, 0)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("", "EDGE", 0.014, -0.016, 0, True, 0, Nothing, 0)
  Part.AddDimension2(0.014, -0.008, -0.02)
  Part.ClearSelection2(True)
  myDimension = Part.Parameter("D3@草图2")
  myDimension.SystemValue = 0.015
  Part.SketchManager.InsertSketch(True)
  Part.Extension.SelectByID2("草图2", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.FeatureManager.FeatureCut3(True, False, False, swEndConditions_e.swEndCondThroughAll,
              swEndConditions_e.swEndCondThroughAll, 0.01, 0.01, False,
              False, False, False, 0, 0, False, False, False, False,
              False, True, True, True, True, False, 0, 0, False)
  Part.ClearSelection2(True)

  '?6.0mm定位孔1
  Part.Extension.SelectByID2("", "FACE", 0, 0.008, 0.016, False, 0, Nothing, 0)
  Part.FeatureManager.HoleWizard5(swWzdGeneralHoleTypes_e.swWzdHole, swWzdHoleStandards_e.swStandardISO,
             swWzdHoleStandardFastenerTypes_e.swStandardISODowelHole, "?6.0",
             swEndConditions_e.swEndCondThroughAll, 0.006, 0, 1, 0,
             0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, "", False, True,
             True, True, True, False)
  Part.Extension.SelectByID2("草图4", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.EditSketch()
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Point1", "SKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
  Part.EditDelete()
  Part.SketchManager.CreatePoint(0, 0.008, 0)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Point1@原点", "EXTSKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Point2", "SKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0)
  Part.SketchAddConstraints("sgVERTICALPOINTS2D")
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Point2", "SKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("", "EDGE", 0, -0.016, 0.014, True, 0, Nothing, 0)
  Part.AddDimension2(0.02, -0.004, 0.014)
  Part.ClearSelection2(True)
  Part.SketchManager.InsertSketch(True)

  'M6螺纹孔1
  Part.Extension.SelectByID2("", "FACE", 0, -0.016, 0, False, 0, Nothing, 0)
  Part.FeatureManager.HoleWizard5(swWzdGeneralHoleTypes_e.swWzdTap, swWzdHoleStandards_e.swStandardISO,
            swWzdHoleStandardFastenerTypes_e.swStandardISOTappedHoleBottoming,
            "M6", swEndConditions_e.swEndCondBlind, 0.005, 0.012,
              0, 0.01, 0, 0, 0, 0, 118 * Math.PI / 180, 1, 0, 0, -1,
              -1, -1, "", False, True, True, True, True, False)
  Part.Extension.SelectByID2("草图6", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.EditSketch()
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Point1", "SKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Point1@原点", "EXTSKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0)
  Part.SketchAddConstraints("sgCOINCIDENT")
  Part.SketchManager.InsertSketch(True)

  '?6.0mm定位孔1
  Part.Extension.SelectByID2("", "FACE", -0.006, -0.016, -0.006, False, 0, Nothing, 0)
  Part.FeatureManager.HoleWizard5(swWzdGeneralHoleTypes_e.swWzdHole, swWzdHoleStandards_e.swStandardISO,
             swWzdHoleStandardFastenerTypes_e.swStandardISODowelHole, "?6.0",
             swEndConditions_e.swEndCondBlind, 0.006, 0.012, 0, 0,
             118 * Math.PI / 180, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, "",
             False, True, True, True, True, False)
  Part.Extension.SelectByID2("草图8", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.EditSketch()
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Point1", "SKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
  Part.EditDelete()
  Part.SketchManager.CreateCornerRectangle(0.009, -0.009, 0, -0.009, 0.009, 0)
  Part.SketchManager.CreatePoint(0.009, 0.009, 0)
  Part.SketchManager.CreatePoint(-0.009, -0.009, 0)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.SelectMidpoint()
  Part.Extension.SelectByID2("Point1@原点", "EXTSKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0)
  Part.SketchAddConstraints("sgVERTICALPOINTS2D")
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line4", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.SelectMidpoint()
  Part.Extension.SelectByID2("Point1@原点", "EXTSKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0)
  Part.SketchAddConstraints("sgHORIZONTALPOINTS2D")
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line4", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.AddDimension2(0.02, -0.035, 0)
  Part.ClearSelection2(True)
  Part.SketchManager.InsertSketch(True)

  Part.SaveAs3(PartPath(1), 0, 2)
  SwApp.CloseDoc(Part.GetTitle)
  Part = Nothing
  End Sub

  Sub CreatePart3()
  Dim Part As ModelDoc2 = SwApp.NewPart
  Part = SwApp.ActiveDoc

  '填料-伸长1
  Part.Extension.SelectByID2("上基准面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
  Part.SketchManager.InsertSketch(True)
  Part.ClearSelection2(True)
  Part.SketchManager.CreateCenterRectangle(0, 0, 0, 0.036, 0.036, 0)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line3", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.AddDimension2(0, 0, -0.03)
  Part.ClearSelection2(True)
  Part.SketchManager.InsertSketch(True)
  Part.ShowNamedView2("*等角视", 7)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("草图1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.FeatureManager.FeatureExtrusion2(True, False, False, 6, 0, 0.014, 0.01, False,
                False, False, False, 0, 0, False, False, False,
                False, True, True, True, 0, 0, False)
  Part.ClearSelection2(True)

  '除料-伸长1
  Part.Extension.SelectByID2("", "FACE", 0, 0, 0.036, False, 0, Nothing, 0)
  Part.SketchManager.InsertSketch(True)
  Part.ClearSelection2(True)
  Part.SketchManager.CreateCornerRectangle(-0.014, -0.007, 0, 0.014, -0.005, 0)
  Part.Extension.SelectByID2("", "EDGE", -0.036, 0, 0.036, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Line2", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.AddDimension2(-0.025, -0.012, 0.036)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.AddDimension2(0, -0.012, 0.036)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line2", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.AddDimension2(-0.04, -0.005, 0.036)
  Part.ClearSelection2(True)
  Part.SketchManager.InsertSketch(True)
  Part.Extension.SelectByID2("草图2", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.FeatureManager.FeatureCut3(True, False, False, swEndConditions_e.swEndCondThroughAll,
              swEndConditions_e.swEndCondThroughAll, 0.01, 0.01, False, False,
              False, False, 0, 0, False, False, False, False, False,
              True, True, True, True, False, 0, 0, False)
  Part.ClearSelection2(True)

  'M6六角承窝头盖螺钉的柱孔1
  Part.Extension.SelectByID2("", "FACE", 0, -0.005, 0, False, 0, Nothing, 0)
  Part.FeatureManager.HoleWizard5(swWzdGeneralHoleTypes_e.swWzdCounterBore, swWzdHoleStandards_e.swStandardISO,
            swWzdHoleStandardFastenerTypes_e.swStandardISOSocketHeadCap, "M6",
            swEndConditions_e.swEndCondThroughAll, 0.0065, -1, -1, 0.011, 0.0065,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, "", False, False, False, False, False, False)
  Part.Extension.SelectByID2("草图4", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.EditSketch()
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Point1", "SKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
  Part.EditDelete()
  Part.SketchManager.CreatePoint(0, -0.014, 0)
  Part.SketchManager.CreatePoint(0, 0.014, 0)
  Part.Extension.SelectByID2("Point2", "SKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Point1@原点", "EXTSKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0)
  Part.Extension.SelectByID2("Point3", "SKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0)
  Part.SketchAddConstraints("sgVERTICALPOINTS2D")
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("", "EDGE", 0, 0.007, 0.036, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Point2", "SKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0)
  Part.AddDimension2(0.045, 0.007, 0.025)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Point2", "SKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Point3", "SKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0)
  Part.AddDimension2(0.045, 0.007, 0)
  Part.SketchManager.InsertSketch(True)

  '?6.0mm定位孔1
  Part.Extension.SelectByID2("", "FACE", 0, 0.007, 0, False, 0, Nothing, 0)
  Part.FeatureManager.HoleWizard5(swWzdGeneralHoleTypes_e.swWzdHole, swWzdHoleStandards_e.swStandardISO,
             swWzdHoleStandardFastenerTypes_e.swStandardISODowelHole, "?6.0",
             swEndConditions_e.swEndCondBlind, 0.006, 0.012, 0, 0,
             118 * Math.PI / 180, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
             "", False, True, True, True, True, False)
  Part.Extension.SelectByID2("草图6", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.EditSketch()
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Point1", "SKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
  Part.EditDelete()
  Part.SketchManager.CreateCornerRectangle(-0.009, -0.023, 0, 0.009, -0.005, 0)
  Part.SketchManager.CreateCornerRectangle(-0.009, 0.005, 0, 0.009, 0.023, 0)
  Part.SketchManager.CreatePoint(-0.009, 0.023, 0)
  Part.SketchManager.CreatePoint(0.009, 0.005, 0)
  Part.SketchManager.CreatePoint(-0.009, -0.005, 0)
  Part.SketchManager.CreatePoint(0.009, -0.023, 0)
  Part.Extension.SelectByID2("Line2", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Line6", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.SketchAddConstraints("sgCOLINEAR")
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Line5", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.SketchAddConstraints("sgSAMELENGTH")
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("", "EDGE", 0, 0.007, 0.036, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Line1", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.AddDimension2(-0.045, 0.007, 0.03)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("", "EDGE", 0, 0.007, 0.036, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Line5", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.AddDimension2(-0.05, 0.007, 0.015)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("", "EDGE", -0.036, 0.007, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Line2", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.AddDimension2(-0.022, 0.007, 0.05)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.AddDimension2(0, 0.007, 0.05)
  Part.ClearSelection2(True)
  Part.SketchManager.InsertSketch(True)

  '导角1
  Part.Extension.SelectByID2("", "EDGE", -0.036, 0.007, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("", "EDGE", 0.036, 0.007, 0, True, 0, Nothing, 0)
  Part.FeatureManager.InsertFeatureChamfer(4, 1, 0.002, 45 * Math.PI / 180, 0, 0, 0, 0)
  Part.ClearSelection2(True)

  Part.SaveAs3(PartPath(2), 0, 2)
  SwApp.CloseDoc(Part.GetTitle)
  Part = Nothing
  End Sub

  Sub CreatePart4()
  Dim Part As ModelDoc2 = SwApp.NewPart
  Part = SwApp.ActiveDoc

  '填料-伸长1
  Part.Extension.SelectByID2("前基准面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
  Part.SketchManager.InsertSketch(True)
  Part.ClearSelection2(True)

  Part.SketchManager.CreateSketchSlot(swSketchSlotCreationType_e.swSketchSlotCreationType_center_line,
              swSketchSlotLengthType_e.swSketchSlotLengthType_CenterCenter,
              0.016, 0, 0, 0, 0.028, 0, 0, 0, 0, 0, 1, False)
  Part.SketchManager.CreateSketchSlot(swSketchSlotCreationType_e.swSketchSlotCreationType_center_line,
              swSketchSlotLengthType_e.swSketchSlotLengthType_CenterCenter,
              0.01, 0, 0, 0, 0.005, 0, 0, 0, 0, 0, 1, False)
  Part.SketchManager.CreateCircle(-0.028, 0, 0, -0.028, 0.003, 0)
  Part.SketchManager.CreateCircle(0.028, 0, 0, 0.028, 0.003, 0)
  Part.Extension.SelectByID2("Arc3", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Arc4", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.AddDimension2(0, -0.02, 0)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Arc2", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.AddDimension2(0, -0.025, 0)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line5", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Line6", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.AddDimension2(0.02, 0.015, 0)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line3", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Line2", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.AddDimension2(0.045, 0, 0)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Arc5", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.AddDimension2(-0.048, 0, 0)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Arc5", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Arc6", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.SketchAddConstraints("sgSAMELENGTH")
  Part.SketchManager.InsertSketch(True)
  Part.ShowNamedView2("*等角视", 7)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("草图1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.FeatureManager.FeatureExtrusion2(True, False, False, 6, 0, 0.014, 0.01, False,
                False, False, False, 0, 0, False, False, False,
                False, True, True, True, 0, 0, False)
  Part.ClearSelection2(True)

  Part.SaveAs3(PartPath(3), 0, 2)
  SwApp.CloseDoc(Part.GetTitle)
  Part = Nothing
  End Sub

  Sub CreatePart5()
  Dim Part As ModelDoc2 = SwApp.NewPart
  Part = SwApp.ActiveDoc

  '旋转1
  Part.Extension.SelectByID2("前基准面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
  Part.SketchManager.InsertSketch(True)
  Part.ClearSelection2(True)
  Part.SketchManager.CreateLine(0, 0, 0, 0, 0.018, 0)
  Part.SketchManager.CreateLine(0, 0.018, 0, 0.015, 0.018, 0)
  Part.SketchManager.CreateLine(0.015, 0.018, 0, 0.015, 0.014, 0)
  Part.SketchManager.CreateLine(0.015, 0.014, 0, 0.027, 0.014, 0)
  Part.SketchManager.CreateLine(0.027, 0.014, 0, 0.027, 0.008, 0)
  Part.SketchManager.CreateLine(0.027, 0.008, 0, 0.061, 0.008, 0)
  Part.SketchManager.CreateLine(0.061, 0.008, 0, 0.061, 0, 0)
  Part.SketchManager.CreateLine(0.061, 0, 0, 0, 0, 0)
  Part.SketchManager.CreateCenterLine(0, 0, 0, 0.1, 0, 0)
  Part.Extension.SelectByID2("Line6", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.AddDimension2(0.045, -0.01, 0)
  Part.Extension.SelectByID2("Line4", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.AddDimension2(0.02, -0.01, 0)
  Part.Extension.SelectByID2("Line2", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.AddDimension2(0.007, -0.01, 0)
  Part.Extension.SelectByID2("Line6", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Line9", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.AddDimension2(0.11, 0, 0)
  Part.Extension.SelectByID2("Line4", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Line9", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.AddDimension2(0.12, 0, 0)
  Part.Extension.SelectByID2("Line2", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Line9", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.AddDimension2(0.13, 0, 0)
  Part.SketchManager.InsertSketch(True)
  Part.ShowNamedView2("*等角视", 7)
  Part.Extension.SelectByID2("草图1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Line9@草图1", "EXTSKETCHSEGMENT", 0, 0, 0, True, 16, Nothing, 0)
  Part.FeatureManager.FeatureRevolve2(True, True, False, False, False, False, 0, 0, 2 * Math.PI, 0, False, False, 0.01, 0.01, 0, 0, 0, True, True, True)
  Part.ClearSelection2(True)

  '旋转2
  Part.Extension.SelectByID2("前基准面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
  Part.SketchManager.InsertSketch(True)
  Part.ClearSelection2(True)
  Part.SketchManager.CreateCornerRectangle(0.061, 0.008, 0, 0.076, 0.003, 0)
  Part.ClearSelection2(True)
  Part.SketchManager.CreateCenterLine(0.061, 0.003, 0, 0.081, 0.003, 0)
  Part.Extension.SelectByID2("Line1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.AddDimension2(0.68, 0.15, 0)
  Part.ClearSelection2(True)
  Part.Extension.SelectByID2("Line1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Line5", "SKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
  Part.AddDimension2(0.85, 0.003, 0)
  Part.SketchManager.InsertSketch(True)
  Part.Extension.SelectByID2("草图2", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("Line5@草图2", "EXTSKETCHSEGMENT", 0, 0, 0, True, 16, Nothing, 0)
  Part.FeatureManager.FeatureRevolve2(True, True, False, False, False, False, 0, 0, 2 * Math.PI, 0, False, False, 0.01, 0.01, 0, 0, 0, True, True, True)
  Part.ViewZoomtofit2()

  '倒角1
  Part.Extension.SelectByID2("", "EDGE", 0.076, 0.008, 0, False, 0, Nothing, 0)
  Part.Extension.SelectByID2("", "EDGE", 0.015, 0.018, 0, True, 0, Nothing, 0)
  Part.Extension.SelectByID2("", "EDGE", 0, 0.018, 0, True, 0, Nothing, 0)
  Part.FeatureManager.InsertFeatureChamfer(4, 1, 0.001, 45 * Math.PI / 180, 0, 0, 0, 0)

  Part.SaveAs3(PartPath(4), 0, 2)
  SwApp.CloseDoc(Part.GetTitle)
  Part = Nothing
  End Sub

  Sub Assembly()
  '建立组合件环境(文档属性)
  Dim swModel As ModelDoc2 = SwApp.NewAssembly()
  '建立组合件环境
  Dim SwAssy As AssemblyDoc = swModel

  swModel.ShowNamedView2("*等角视", 7)
  'swModel.ViewZoomtofit2()

  '取得文件焦点
  swModel = SwApp.ActiveDoc

  '取得组件档Title
  Dim AssemblyName As String = swModel.GetTitle
  Dim TitleString() As String = Split(AssemblyName, ".")
  Dim AssemblyTitle = TitleString(0)

  '加入零件
  For Each Index As String In PartPath
    Dim Part As ModelDoc2 = SwApp.OpenDoc6(Index, swDocumentTypes_e.swDocPART, 0, "", 0, Warnings)
    Dim GetPartTitle As String = Part.GetTitle
    Dim GetTitleString = Split(GetPartTitle, ".")
    Dim PartTitle As String = GetTitleString(0)

    '将焦点放置于组合件环境
    swModel = SwApp.ActivateDoc2(AssemblyTitle, False, 0)
    swModel.ClearSelection2(True)

    '将零件插入至组合件
    SwAssy.AddComponent4(Index, "", 0, 0, 0)

    '焦点放至于被插入的零组件
    Part = SwApp.ActivateDoc2(Index, False, 0)
    '释放零件参考
    Part = Nothing
    '关闭零件
    SwApp.CloseDoc(PartTitle)
  Next

  '遍歷零件名称
  Dim SwConf As Configuration = swModel.GetActiveConfiguration
  Dim SwRootComp As Component2 = SwConf.GetRootComponent
  Dim SwComp As Component2 = SwRootComp
  Dim vChlidComp = SwComp.GetChildren
  Dim SwChildComp As Component2
  Dim SwCompConfig As Configuration = SwConf
  Dim ComponentNaem(UBound(vChlidComp)) As String
  'Dim CreferAs string(零组件模型组态)
  For i = 0 To UBound(vChlidComp)
    SwChildComp = vChlidComp(i)
    ComponentNaem(i) = SwChildComp.Name2
    'Crefer = SwChildComp.ReferencedConfiguration
  Next

  '移动零件位置
  For Each Index As String In ComponentNaem
    Select Case Index
      Case "支柱-1"
      '零件浮动
      swModel.Extension.SelectByID2(Index & "@" & AssemblyTitle, "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
      SwAssy.UnfixComponent()
      '移动零件位置
      DragDropComponent(swModel, Index & "@" & AssemblyTitle, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}, 0, 0.1, 0)
      Case "立柱-1"
      '移动零件位置
      DragDropComponent(swModel, Index & "@" & AssemblyTitle, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}, 0, 0.2, 0)
      Case "底座-1"
      '移动零件位置
      DragDropComponent(swModel, Index & "@" & AssemblyTitle, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}, 0, 0, 0)

      '零件固定
      swModel.Extension.SelectByID2(Index & "@" & AssemblyTitle, "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
      SwAssy.FixComponent()
      Case "摇臂-1"
      '移动零件位置
      DragDropComponent(swModel, Index & "@" & AssemblyTitle, {0, -1, 0}, {1, 0, 0}, {0, 0, 1}, 0, 0.3, 0)
      Case "偏心转轴-1"
      '移动零件位置
      DragDropComponent(swModel, Index & "@" & AssemblyTitle, {0, 0, 1}, {0, 1, 0}, {-1, 0, 0}, 0, 0.4, 0)
    End Select
  Next

  '调整可视范围
  swModel.ViewZoomtofit2()

  '定义结合条件
  Dim longstatus As Integer

  '_______________________________________支柱__________________________________________
  '同心
  swModel.Extension.SelectByID2("", "FACE", -0.009, 0, -0.0217, False, 0, Nothing, 0)
  swModel.Extension.SelectByID2("", "FACE", -0.009, 0.07, -0.006, True, 0, Nothing, 0)
  SwAssy.AddMate4(swMateType_e.swMateCONCENTRIC, swMateAlign_e.swAlignSAME,
            False, 0, 0, 0, 0, 0, 0, 0,
            0, False, False, longstatus)
  '同心
  swModel.Extension.SelectByID2("", "FACE", 0, 0.002, -0.01075, False, 0, Nothing, 0)
  swModel.Extension.SelectByID2("", "FACE", 0, 0.07, -0.01175, True, 0, Nothing, 0)
  SwAssy.AddMate4(swMateType_e.swMateCONCENTRIC, swMateAlign_e.swMateAlignALIGNED,
            False, 0, 0, 0, 0, 0, 0, 0,
            0, False, False, longstatus)
  '重合
  swModel.Extension.SelectByID2("", "FACE", 0.01, 0.065, -0.01, False, 0, Nothing, 0)
  swModel.Extension.SelectByID2("", "FACE", 0, 0.007, 0, True, 0, Nothing, 0)
  SwAssy.AddMate4(swMateType_e.swMateCOINCIDENT, swMateAlign_e.swAlignSAME,
            False, 0, 0, 0, 0, 0, 0, 0,
            0, False, False, longstatus)
  '___________________________________偏心转轴________________________________________
  '重合
  swModel.Extension.SelectByID2("", "FACE", 0, 0.042, -0.028, False, 0, Nothing, 0)
  swModel.Extension.SelectByID2("", "FACE", 0, 0.39, 0.027, True, 0, Nothing, 0)
  SwAssy.AddMate4(swMateType_e.swMateCOINCIDENT, swMateAlign_e.swAlignSAME,
           False, 0, 0, 0, 0, 0, 0, 0,
           0, False, False, longstatus)
  '同心
  swModel.Extension.SelectByID2("", "FACE", 0, 0.051, -0.014, False, 0, Nothing, 0)
  swModel.Extension.SelectByID2("", "FACE", 0, 0.4, -0.014, True, 0, Nothing, 0)
  SwAssy.AddMate4(swMateType_e.swMateCONCENTRIC, swMateAlign_e.swAlignSAME,
           False, 0, 0, 0, 0, 0, 0, 0,
           0, False, False, longstatus)
  '_______________________________________立柱__________________________________________
  '同心
  swModel.Extension.SelectByID2("", "FACE", 0, 0, 0.01075, False, 0, Nothing, 0)
  swModel.Extension.SelectByID2("", "FACE", 0, 0.185, 0.0025, True, 0, Nothing, 0)
  SwAssy.AddMate4(swMateType_e.swMateCONCENTRIC, swMateAlign_e.swMateAlignALIGNED,
           False, 0, 0, 0, 0, 0, 0, 0,
           0, False, False, longstatus)
  '同心
  swModel.Extension.SelectByID2("", "FACE", -0.009, 0, 0.002, False, 0, Nothing, 0)
  swModel.Extension.SelectByID2("", "FACE", -0.009, 0.185, 0.002, True, 0, Nothing, 0)
  SwAssy.AddMate4(swMateType_e.swMateCONCENTRIC, swMateAlign_e.swMateAlignANTI_ALIGNED,
            False, 0, 0, 0, 0, 0, 0, 0,
            0, False, False, longstatus)
  '重合
  swModel.Extension.SelectByID2("", "FACE", 0, 0.184, 0.002, False, 0, Nothing, 0)
  swModel.Extension.SelectByID2("", "FACE", 0, 0.007, 0.002, True, 0, Nothing, 0)
  SwAssy.AddMate4(swMateType_e.swMateCOINCIDENT, swMateAlign_e.swAlignSAME,
            False, 0, 0, 0, 0, 0, 0, 0,
            0, False, False, longstatus)
  '_______________________________________摇臂__________________________________________
  '同心
  swModel.Extension.SelectByID2("", "FACE", 0, 0.272, 0, False, 0, Nothing, 0)
  swModel.Extension.SelectByID2("", "FACE", 0, 0.028, 0.025, True, 0, Nothing, 0)
  SwAssy.AddMate4(swMateType_e.swMateCONCENTRIC, swMateAlign_e.swMateAlignANTI_ALIGNED,
            False, 0, 0, 0, 0, 0, 0, 0,
            0, False, False, longstatus)

  '重合
  swModel.Extension.SelectByID2("", "FACE", 0, 0.045, 0.007, False, 0, Nothing, 0)
  swModel.Extension.SelectByID2("", "FACE", 0, 0.025, 0.021, True, 0, Nothing, 0)
  SwAssy.AddMate4(swMateType_e.swMateCOINCIDENT, swMateAlign_e.swAlignSAME,
            False, 0, 0, 0, 0, 0, 0, 0,
            0, False, False, longstatus)
  SwAssy.AddMate4(swMateType_e.swMateCOINCIDENT, swMateAlign_e.swAlignSAME,
            False, 0, 0, 0, 0, 0, 0, 0,
            0, False, False, longstatus)
  '相切
  swModel.Extension.SelectByID2("", "FACE", 0, 0.057, 0.01, False, 0, Nothing, 0)
  swModel.Extension.SelectByID2("", "FACE", 0.005, 0.057, 0.01, True, 0, Nothing, 0)
  SwAssy.AddMate4(swMateType_e.swMateTANGENT, swMateAlign_e.swAlignSAME,
            False, 0, 0, 0, 0, 0, 0, 0,
            0, False, False, longstatus)

  '重新计算
  swModel.EditRebuild3()

  '零件浮动
  swModel.Extension.SelectByID2("底座-1" & "@" & AssemblyTitle, "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
  SwAssy.UnfixComponent()

  '移动零件位置
  DragDropComponent(swModel, "底座-1" & "@" & AssemblyTitle, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}, 0, 0, 0)

  '零件固定
  swModel.Extension.SelectByID2("底座-1" & "@" & AssemblyTitle, "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
  SwAssy.FixComponent()

  '取消选取
  swModel.ClearSelection2(True)

  '调整可视范围
  swModel.ViewZoomtofit2()

  '存档
  swModel.SaveAs3(DesktopPath & PartFolder & "\18500-106201.SLDASM", 0, 2)

  End Sub

  Sub DragDropComponent(ByVal Model As ModelDoc2, ByVal DragDropPart As String,
        ByVal i_Vector() As Double, ByVal j_Vector() As Double, ByVal k_Vector() As Double,
        ByVal X_Move As Double, ByVal Y_Move As Double, ByVal Z_Move As Double)
  Dim swModel As ModelDoc2 = Model
  Dim swAssy As AssemblyDoc = swModel
  Dim swDragOp As DragOperator = swAssy.GetDragOperator    '定义托放操作物件
  Dim swSelMgr As SelectionMgr = swModel.SelectionManager    '定义选取操作物件
  Dim swMathUtil As MathUtility = SwApp.GetMathUtility     '获取座标转换相关数学务件

  '定义拖曳点位置参数
  Dim swXform As MathTransform = swMathUtil.CreateTransform({i_Vector(0), i_Vector(1), i_Vector(2),
                        j_Vector(0), j_Vector(1), j_Vector(2),
                       k_Vector(0), k_Vector(1), k_Vector(2),
                       X_Move, Y_Move, Z_Move,
                       1, 0, 0, 0})
  '选取要移动的零件
  swModel.Extension.SelectByID2(DragDropPart, "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)

  '获取选定对象的数量
  Dim swComp As Component2 = swSelMgr.GetSelectedObjectsComponent2(1)
  'AtIndex
  '-1 = All selections regardless of marks          所有选择,无论标记
  ' 0 = only the selections without marks           只有没有标记的选择
  'Any other value = Value that was used to mark And select an object 用于标记和选择对象的值

  '将组件添加到要拖动的组件列表中(拖曳组件清单,是否连续选取)
  swDragOp.AddComponent(swComp, False)

  '获取或设置碰撞检测设置
  swDragOp.CollisionDetectionEnabled = False

  '获取或设置动态清除设置
  swDragOp.DynamicClearanceEnabled = False

  '获取或设置转换的类型
  swDragOp.TransformType = 1
  'Translation 0  Transform Is translation only
  'Axial Rotation   1  Transform Is rotation only
  'General   2  Transform can be translation Or rotation Or both

  '获取或设置此拖动操作的拖动模式
  swDragOp.DragMode = 2
  '0 = Maximum move (move geometries rigidly, if possible)
  '1 = Minimum move (move the smallest number of geometries)
  '2 = Relaxation (solve geometries using relaxation)
  '3 = No propagation (move geometries with minimal transform propagation)

  '启动拖动操作
  swDragOp.BeginDrag()

  '拖曳至指定位置
  swComp.Transform2 = swXform

  '重新计算
  swModel.EditRebuild3()

  '终止拖动操作
  swDragOp.EndDrag()
  End Sub

End Class



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

4

主题

50

帖子

24

金币

天使

Rank: 2Rank: 2

积分
97
QQ
沙发
发表于 2018-5-24 06:25:27 | 只看该作者
真神人,我光搞个图层开关及列印,就研究好几天了!这得下多少苦功!
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

2

主题

33

帖子

20

金币

天使

Rank: 2Rank: 2

积分
74
QQ
板凳
发表于 2018-6-8 16:00:02 | 只看该作者

   经典图书
你说图层问题是工程图环境吗?

我打算开始研究工程图,或许可以一起研究一下
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

38

帖子

5

金币

混混

Rank: 1

积分
21
QQ
地板
发表于 2018-6-15 16:34:08 | 只看该作者
是啊,毕竟画图会运用到巨集的地方并不多,但工程图就很需要了,因为工作常常一个月出个上百张,电子档要用电子章,还要印无电子章的纸本给主管用印,所以很多的东西都会用图层管理,但每次进图层视窗开关,然后再叫出列印视窗,还有像是将BOM输出成EXCEL表等,虽然不是什么复杂的动作,但是重复的工作,为何不让电脑自动完成呢?还好论坛里有很多先进愿意分享经验,再加上进API HELP慢慢的找答案,一点一滴慢慢累积,一开始完全不懂语法的我,也慢慢有点概念了,制作了一些巨集也能帮助到同事,让工作更有效率!只是自己做的东西拿不上枱面,但如果真有人遇到我能解决的,我也会非常乐意分享的!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

44

帖子

13

金币

天使

Rank: 2Rank: 2

积分
88
QQ
5#
发表于 2018-6-25 20:11:42 | 只看该作者

   经典案例图书
我是打算把有弄出结果的程式码全部放上来
这样以后有人要找东西就可以剪剪贴贴了
不然全部从零开始真是有够累的....
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

48

帖子

31

金币

天使

Rank: 2Rank: 2

积分
132
QQ
6#
发表于 2018-8-11 12:42:49 | 只看该作者
我目前学API只是单纯觉得好玩,还没遇到什么需要用程式解决的问题

你遇到的都是些什么问题啊?方便说明一下吗?
或许我可以朝这方面来学息

不然我这样走马看花好像也没什么意义...
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

50

帖子

29

金币

天使

Rank: 2Rank: 2

积分
117
QQ
7#
发表于 2018-8-15 21:52:02 | 只看该作者

   经典案例图书
其实就API部份来说,因为每个人的作业环境不同,所以自然写法就不尽相同,我在学习过程中,遇到最大的困难是,很多用法都看不太懂,例如在用application.filedialog时,当跳出对话框,选取完不管是资料夹、档案,或自己输入的档名,接下来不知该如何用,因为物件的用法很多,很多时候网路上只有简单的说明,并没有范例可参考,或是范例和自己遇的情况并不相符,所以常常一个个慢慢试,又像opendoc0、opendoc1、opendoc2、.......opendoc6,各代表什么意思,诸如此类,不过这个都可以找得到答案,只是要花不少时间,但我觉得这样学习的,反而会加深自己印象,用过的语法,就自然会了,时间久了,所累积的也愈来愈多!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

38

帖子

34

金币

天使

Rank: 2Rank: 2

积分
108
QQ
8#
发表于 2018-8-22 19:08:26 | 只看该作者
真的是一个问题卡越久,过关后印象越深刻,但是这样真的是很花时间
玩API真的很像从一堆拼图碎片中凑出自己想要的图
一开始每片都没摸过,要卡很久才能凑出一个像样的东西
但熟了之后就知道要捡什么东西来拼,快很多
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

44

帖子

72

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
250

最佳新人活跃会员宣传达人

9#
发表于 2021-12-24 11:24:30 | 只看该作者
感谢楼主分享,很不错!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

4

主题

83

帖子

115

金币

堂主

Rank: 4

积分
888

最佳新人活跃会员热心会员宣传达人

10#
发表于 2022-5-25 11:54:47 | 只看该作者

   经典图书
很不错,希望能共享模型,谢谢!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

28

主题

565

帖子

246

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2316

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

11#
发表于 2022-5-26 20:53:04 来自手机 | 只看该作者
楼主很专业,写得很好!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

28

主题

565

帖子

246

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2316

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

12#
发表于 2022-5-26 20:53:05 来自手机 | 只看该作者
楼主很专业,写得很好!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

154

帖子

95

金币

堂主

Rank: 4

积分
595

最佳新人活跃会员热心会员宣传达人灌水之王

13#
发表于 2023-7-24 19:59:05 | 只看该作者
楼主很专业,写得很好!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

266

帖子

271

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2429

最佳新人活跃会员热心会员宣传达人灌水之王

14#
发表于 2023-7-25 00:19:03 | 只看该作者
竟然如此丝滑,楼主牛人
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

1403

帖子

493

金币

传奇

Rank: 8Rank: 8

积分
5387

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

15#
发表于 2023-8-28 14:31:13 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

楼主辛苦了!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

156

帖子

114

金币

堂主

Rank: 4

积分
697

最佳新人活跃会员热心会员宣传达人灌水之王

16#
发表于 2023-8-29 16:32:38 | 只看该作者

   经典案例图书
感谢分享。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

156

帖子

114

金币

堂主

Rank: 4

积分
697

最佳新人活跃会员热心会员宣传达人灌水之王

17#
发表于 2023-8-29 16:37:42 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

有没有教程
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

127

帖子

243

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1288

最佳新人活跃会员热心会员宣传达人灌水之王

18#
发表于 2023-10-26 13:01:25 | 只看该作者

   经典案例图书
被标题吸引了
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

645

帖子

1587

金币

传奇

Rank: 8Rank: 8

积分
5153

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

19#
发表于 2023-10-26 15:50:11 | 只看该作者
好东西,努力学习学习!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

1403

帖子

493

金币

传奇

Rank: 8Rank: 8

积分
5387

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

20#
发表于 2023-10-26 16:14:35 | 只看该作者
好好学习,天天向上!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2025-6-3 01:02 , Processed in 0.304680 second(s), 24 queries , Memcache On.

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

快速回复 返回顶部 返回列表