Following macro is recorded in Solidworks 2013. It is supposed to opens up a assembly document and then opens a part document and create a disk of some radius and then add that part (disk) into a assembly.
Problem with this macro is that when macro is run, it opens a part document create a disk then after shows error "RUN TIME ERROR 438- OBJECT DOESNOT SUPPORT THIS PROPERTY OR METHOD". when macro is checked it shows error while adding part into assembly. Please go through this macro and let me know what could the problem and possible solution for it
Macro is as under.
' ******************************************************************************
' C:\Users\welcome\AppData\Local\Temp\swx5792\Macro1.swb - macro recorded on 08/23/15 by welcome
' ******************************************************************************
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.NewDocument("C:\ProgramData\SolidWorks\SolidWorks 2013\templates\Assembly.asmdot", 0, 0, 0)
swApp.ActivateDoc2 "Assem1", False, longstatus
Set Part = swApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
Set Part = swApp.NewDocument("C:\ProgramData\SolidWorks\SolidWorks 2013\templates\Part.prtdot", 0, 0, 0)
swApp.ActivateDoc2 "Part2", False, longstatus
Set Part = swApp.ActiveDoc
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
Part.SketchManager.InsertSketch True
boolstatus = Part.Extension.SelectByID2("Front Plane", "PLANE", -7.21379555082772E-02, 0.052300249193058, 2.53419852237989E-03, False, 0, Nothing, 0)
Part.ClearSelection2 True
Dim skSegment As Object
Set skSegment = Part.SketchManager.CreateCircle(0#, 0#, 0#, 0.027286, -0.061243, 0#)
Part.ShowNamedView2 "*Trimetric", 8
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
Dim myFeature As Object
Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.01, 0.01, False, False, False, False, 1.74532925199433E-02, 1.74532925199433E-02, False, False, False, False, True, True, True, 0, 0, False)
Part.SelectionManager.EnableContourSelection = False
Part.ClearSelection2 True
Part.ShowNamedView2 "*Isometric", 7
Part.ShowNamedView2 "*Isometric", 7
longstatus = Part.SaveAs3("C:\Users\welcome\Desktop\SW\New folder\Part10.SLDPRT", 0, 2)
Set Part = Nothing
swApp.CloseDoc "Part10.SLDPRT"
Set Part = swApp.ActiveDoc
Set myModelView = Part.ActiveView
myModelView.FrameLeft = 0
myModelView.FrameTop = 0
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
swApp.ActivateDoc2 "Assem1", False, longstatus
Set Part = swApp.ActiveDoc
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
boolstatus = Part.AddComponent("C:\Users\welcome\Desktop\SW\New folder\Part9.SLDPRT", 5.34727383916481E-02, 5.19025854256837E-02, 9.43109047020583E-02)
Part.ShowNamedView2 "*Isometric", 7
Part.ShowNamedView2 "*Isometric", 7
longstatus = Part.SaveAs3("C:\Users\welcome\Desktop\SW\New folder\Assem1.SLDASM", 0, 2)
End Sub
SolidworksApi macros