SolidWorks 2019
У нас есть сборка, состоящая из 1) детали и 2) сборки, состоящей из 2 деталей.
Номер 2) сопряжен с номером 1) с 4 сопряжениями.Мы используем встроенную функцию «Копировать с сопряжениями» и меняем только 1 сопряжение (см. Изображение, мы меняем последнее сопряжение).Это очень хорошо работает.
Затем мы пытаемся записать задачу как макрос, но она не работает.Ниже записан макрос.Мы должны скопировать 70 раз, поэтому мы хотим написать его, если сможем ... Кажется, что макрос не записывает все команды, так как показывает только «SelectByID2»?
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
boolstatus = Part.Extension.SelectByID2("VG_35_mm_pair-1@B52_with_hub_Assembly_VG_Test_2_MacroTest", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("VG_35_mm_pair-1@B52_with_hub_Assembly_VG_Test_2_MacroTest", "COMPONENT", 0, 0, 0, True, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Spline1@Front_Curve@B52_with_hub_Part_VG_Test_1-1@B52_with_hub_Assembly_VG_Test_2_MacroTest", "EXTSKETCHSEGMENT", -6.26992150606958, 0.775894302170855, -15.7340472890057, True, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Spline1@Front_Curve@B52_with_hub_Part_VG_Test_1-1@B52_with_hub_Assembly_VG_Test_2_MacroTest", "EXTSKETCHSEGMENT", -6.26992150606958, 0.775894302170855, -15.7340472890057, True, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("", "FACE", 0.72965560792877, -2.76149537219488, -52.245, True, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("", "FACE", -0.163628357652359, -0.693217558762202, -1.5, True, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Spline1@Front_Curve@B52_with_hub_Part_VG_Test_1-1@B52_with_hub_Assembly_VG_Test_2_MacroTest", "EXTSKETCHSEGMENT", -6.26992150606958, 0.775894302170855, -15.7340472890057, True, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Spline1@Front_Curve@B52_with_hub_Part_VG_Test_1-1@B52_with_hub_Assembly_VG_Test_2_MacroTest", "EXTSKETCHSEGMENT", -6.26992150606958, 0.775894302170855, -15.7340472890057, True, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByRay(0.72965560792877, -2.76149537219488, -52.245, 0.884362037190013, -0.288902374358076, -0.366659522264726, 4.02652481088142E-03, 2, True, 0, 0)
boolstatus = Part.Extension.SelectByRay(-0.163628357652359, -0.693217558762202, -1.5, 0.884362037190013, -0.288902374358076, -0.366659522264726, 4.02652481088142E-03, 2, True, 0, 0)
Part.ClearSelection2 True
boolstatus = Part.EditRebuild3()
End Sub