I'm trying to run a Solid-Works VBA macro, should be an easy fix, however I don't know what to change.
When I run the code the code error's with the
Run-time error '91'
Object variable or With block variable not set
When I click debug it shows me this line
Set Part = swApp.ActiveDoc
I truly do not know where to look, what to do, that might be causing, so any help is much appreciated. The essential parts of the code can be seen below (where the ... indicates missing code, which is the same structure as the other functions). The full code can be see here: Macro_Source_File
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc
Proc1
Proc2
Proc3
Proc4
Proc5
Proc6
Proc7
Proc8
Proc9
Proc10
Proc11
Proc12
Proc13
Proc14
Proc15
Proc16
Proc17
Proc18
Proc19
Proc20
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Curve1", "REFERENCECURVES", -0.00231262, -0.00182843, 0.020955, False, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve2", "REFERENCECURVES", -0.0021168, -0.00236411, 0.02720474, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve3", "REFERENCECURVES", -0.00223617, -0.0027144, 0.03345447, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve4", "REFERENCECURVES", -0.00249537, -0.00287881, 0.03970421, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve5", "REFERENCECURVES", -0.00282783, -0.00287835, 0.04595395, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve6", "REFERENCECURVES", -0.00351723, -0.00287119, 0.05220368, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve7", "REFERENCECURVES", -0.0055227, -0.0032572, 0.05845342, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve8", "REFERENCECURVES", -0.00756485, -0.0034921, 0.06470316, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve9", "REFERENCECURVES", -0.00948977, -0.00359409, 0.07095289, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve10", "REFERENCECURVES", -0.01123743, -0.00358632, 0.07720263, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve11", "REFERENCECURVES", -0.01275123, -0.00349398, 0.08345237, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve12", "REFERENCECURVES", -0.01289014, -0.00310294, 0.08970211, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve13", "REFERENCECURVES", -0.01208902, -0.00258381, 0.09595184, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve14", "REFERENCECURVES", -0.01103539, -0.00209482, 0.10220158, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve15", "REFERENCECURVES", -0.00978747, -0.00163788, 0.10845132, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve16", "REFERENCECURVES", -0.00828882, -0.00121351, 0.11470105, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve17", "REFERENCECURVES", -0.00686848, -0.00083556, 0.12095079, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve18", "REFERENCECURVES", -0.00678812, -0.00066149, 0.12720053, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve19", "REFERENCECURVES", -0.00585563, -0.00585251, 0.13245522, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Curve20", "REFERENCECURVES", -0.00522598, -0.01340759, 0.13263761, True, 1, Nothing, 0)
Part.FeatureManager.InsertProtrusionBlend False, True, False, 1, 6, 6, 1, 1, True, True, False, 0, 0, 0, True, True, True
End Sub
Sub Proc1()
Set Part = swApp.ActiveDoc
Part.InsertCurveFileBegin
boolstatus = Part.InsertCurveFilePoint(-0.00231262, -0.00182843, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00232201, -0.00179355, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.0023492, -0.00169261, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00193825, -0.00141403, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.001174, -0.00099736, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00022623, -0.00050828, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00087785, 0.00002491, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00210496, 0.00057278, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00341658, 0.00110609, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00477003, 0.00159708, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00612951, 0.00202043, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00745767, 0.00233337, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00869064, 0.00252003, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00977735, 0.0025858, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01067256, 0.00254594, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01134017, 0.00242162, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01175535, 0.00223452, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01190555, 0.00200133, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01190555, 0.00200133, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01178923, 0.00175006, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01141567, 0.00150298, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.01080407, 0.00126068, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00998055, 0.00102135, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00897647, 0.00077979, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00782706, 0.0005274, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00657067, 0.00025367, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00523448, -0.00004854, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00386212, -0.00035713, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.0025091, -0.00066457, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00122199, -0.00096449, 0.020955)
boolstatus = Part.InsertCurveFilePoint(0.00004512, -0.00124691, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00098083, -0.00149976, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00181994, -0.00171086, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00231106, -0.00183422, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00231224, -0.00182982, 0.020955)
boolstatus = Part.InsertCurveFilePoint(-0.00231262, -0.00182843, 0.020955)
boolstatus = Part.InsertCurveFileEnd()
boolstatus = Part.SelectedFeatureProperties(0, 0, 0, 0, 0, 0, 0, 1, 0, "Curve1")
End Sub
Sub Proc2()
Set Part = swApp.ActiveDoc
Part.InsertCurveFileBegin
boolstatus = Part.InsertCurveFilePoint(-0.0021168, -0.00236411, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00213034, -0.00232574, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00216954, -0.00221468, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00223031, -0.00204246, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00167844, -0.00160452, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00065574, -0.00097391, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00053875, -0.00028036, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00187018, 0.00044021, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00329779, 0.0011517, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00477601, 0.00181922, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00626681, 0.00241128, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00773188, 0.00287663, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00910086, 0.00319197, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.0103159, 0.00335898, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01132489, 0.00339094, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01208546, 0.00330851, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01256786, 0.00313392, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01275656, 0.00288487, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01275656, 0.00288487, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01264744, 0.00259265, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.012249, 0.00228309, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01158277, 0.00195851, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.01067824, 0.00161909, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00957108, 0.00126169, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.0083016, 0.00087967, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00691378, 0.00046452, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00543877, 0.00001052, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00392367, -0.00045373, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.0024302, -0.00091504, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(0.00101012, -0.00136224, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00028764, -0.00178035, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00141839, -0.00215231, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00211132, -0.00237963, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00211455, -0.00237048, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.00211626, -0.00236563, 0.02720474)
boolstatus = Part.InsertCurveFilePoint(-0.0021168, -0.00236411, 0.02720474)
boolstatus = Part.InsertCurveFileEnd()
boolstatus = Part.SelectedFeatureProperties(0, 0, 0, 0, 0, 0, 0, 1, 0, "Curve2")
End Sub
.
.
.
Sub Proc20()
Set Part = swApp.ActiveDoc
Part.InsertCurveFileBegin
boolstatus = Part.InsertCurveFilePoint(-0.00522598, -0.01340759, 0.13263761)
boolstatus = Part.InsertCurveFilePoint(-0.00522724, -0.01340759, 0.1326561)
boolstatus = Part.InsertCurveFilePoint(-0.00523089, -0.01340759, 0.13270962)
boolstatus = Part.InsertCurveFilePoint(-0.00523654, -0.01340759, 0.13279261)
boolstatus = Part.InsertCurveFilePoint(-0.00524364, -0.01340759, 0.13289681)
boolstatus = Part.InsertCurveFilePoint(-0.00525152, -0.01340759, 0.13301238)
boolstatus = Part.InsertCurveFilePoint(-0.00525946, -0.01340759, 0.13312893)
boolstatus = Part.InsertCurveFilePoint(-0.00465279, -0.01340759, 0.13327821)
boolstatus = Part.InsertCurveFilePoint(-0.00393952, -0.01340759, 0.13341622)
boolstatus = Part.InsertCurveFilePoint(-0.00320939, -0.01340759, 0.13352877)
boolstatus = Part.InsertCurveFilePoint(-0.00248296, -0.01340759, 0.13360667)
boolstatus = Part.InsertCurveFilePoint(-0.00178327, -0.01340759, 0.13363211)
boolstatus = Part.InsertCurveFilePoint(-0.00114406, -0.01340759, 0.13360345)
boolstatus = Part.InsertCurveFilePoint(-0.0005905, -0.01340759, 0.13352848)
boolstatus = Part.InsertCurveFilePoint(-0.00014384, -0.01340759, 0.13341938)
boolstatus = Part.InsertCurveFilePoint(0.00017986, -0.01340759, 0.1332904)
boolstatus = Part.InsertCurveFilePoint(0.00037024, -0.01340759, 0.13315493)
boolstatus = Part.InsertCurveFilePoint(0.00042266, -0.01340759, 0.13302262)
boolstatus = Part.InsertCurveFilePoint(0.00042266, -0.01340759, 0.13302262)
boolstatus = Part.InsertCurveFilePoint(0.00033912, -0.01340759, 0.1329077)
boolstatus = Part.InsertCurveFilePoint(0.0001265, -0.01340759, 0.13282048)
boolstatus = Part.InsertCurveFilePoint(-0.00020546, -0.01340759, 0.13275933)
boolstatus = Part.InsertCurveFilePoint(-0.0006438, -0.01340759, 0.13272076)
boolstatus = Part.InsertCurveFilePoint(-0.00117325, -0.01340759, 0.13269902)
boolstatus = Part.InsertCurveFilePoint(-0.00177694, -0.01340759, 0.13268629)
boolstatus = Part.InsertCurveFilePoint(-0.0024366, -0.01340759, 0.13267345)
boolstatus = Part.InsertCurveFilePoint(-0.00313926, -0.01340759, 0.13265421)
boolstatus = Part.InsertCurveFilePoint(-0.00386076, -0.01340759, 0.13263536)
boolstatus = Part.InsertCurveFilePoint(-0.00457242, -0.01340759, 0.13261517)
boolstatus = Part.InsertCurveFilePoint(-0.00522301, -0.01340759, 0.13259405)
boolstatus = Part.InsertCurveFilePoint(-0.00522417, -0.01340759, 0.13261114)
boolstatus = Part.InsertCurveFilePoint(-0.00522496, -0.01340759, 0.13262275)
boolstatus = Part.InsertCurveFilePoint(-0.00522547, -0.01340759, 0.13263013)
boolstatus = Part.InsertCurveFilePoint(-0.00522577, -0.01340759, 0.13263454)
boolstatus = Part.InsertCurveFilePoint(-0.00522593, -0.01340759, 0.13263688)
boolstatus = Part.InsertCurveFilePoint(-0.00522598, -0.01340759, 0.13263761)
boolstatus = Part.InsertCurveFileEnd()
boolstatus = Part.SelectedFeatureProperties(0, 0, 0, 0, 0, 0, 0, 1, 0, "Curve20")
End Sub
Thank you so much !