Home |
Search |
Today's Posts |
#17
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() I was wondering if you know what all the inputs in the Part.Extension.SelectByID2() and Part.FeatureManager.FeatureRevolve() functions mean or any source that has a description of them. Thanks XP "Maperalia" wrote: Peter; I got help from other source and the y told the following: Set Part = swApp.ActiveDoc line is returning Nothing, meaning the instance of SW that your program is hooking to has no open/active document. Change CreateObject() to GetObject() to hook to an active SW not create a new instance. I did ths however, I got the following error message that you may know what does is means: Run-time error '-2147221020(800401e4)': Automation error Invalid Syntax After I click "DEBUG" it is highlighting at the following statement: Set swApp = GetObject("SldWorks.Application") Could you please tell me what is the syntax error I have? "Peter T" wrote: If I follow the problem is here Run-tim error '91': Object variable or with block variable not set. Then when I click debug. It is highligthing at: boolstatus = Part.Extension.SelectByID2("Sketch1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0) Effectively earlier you had done Set Part = Application.SldWorks.ActiveDoc so presumably ' Part ' fully refers to ActiveDoc Trouble is I know nothing about "SldWorks" and "ActiveDoc" or even which application you are running this VBA. As a guess I'd look to see if "Extension" exists as a child object of Part (ie ActiveDoc) Dim obj as Object ' code Set Part = etc Set obj = Part.Extension msgbox Not obj Is Nothing I could be on the wrong track, maybe you need to do something else when user switches Optionbuttons and just before calling those macros. Regards, Peter T "Maperalia" wrote in message ... Peter' I plotted the wrong macro. Please discard the previous one. The macro1 is: '### START OF MACRO1 ######## Sub Revolve_Vertical_Centerline() Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim myFeature As Object Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc boolstatus = Part.Extension.SelectByID2("Sketch1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0) boolstatus = Part.Extension.SelectByID2("Line34@Sketch1", "EXTSKETCHSEGMENT", 0.08887711938888, -0.01670467080663, 0, True, 0, Nothing, 0) boolstatus = Part.Extension.SelectByID2("Sketch1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0) boolstatus = Part.Extension.SelectByID2("Line34@Sketch1", "EXTSKETCHSEGMENT", 0.08887711938888, -0.01670467080663, 0, True, 4, Nothing, 0) boolstatus = Part.Extension.SelectByID2("Sketch1<2", "SKETCH", 0, 0, 0, True, 0, Nothing, 0) Set myFeature = Part.FeatureManager.FeatureRevolve(1.570796326795, False, 0, 0, 0, True, True, True) Part.SelectionManager.EnableContourSelection = False Part.ClearSelection2 True Part.ShowNamedView2 "*Trimetric", 8 End Sub '### END OF MACRO1 ######## "Maperalia" wrote: Peter; Thanks for your quick response. I followed your advise and is fixed it. I added the following in the code you sent me: Private Sub OptionButton1_Change() gbCtrLineHoriz = OptionButton1.Value If gbCtrLineHoriz Then Call macro1 Else Call macro2 End If End Sub However, after I ran I got the following error message: Run-tim error '91': Object variable or with block variable not set. Then when I click debug. It is highligthing at: boolstatus = Part.Extension.SelectByID2("Sketch1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0) This statement is located in the macro1 which is: '###### START OF MACRO1 ############# Sub Revolve_Horizontal_Center() Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim myFeature As Object Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc boolstatus = Part.Extension.SelectByID2("Line33", "SKETCHSEGMENT", 0.003588671546553, -0.03123281095829, 0.02897111198368, True, 0, Nothing, 0) boolstatus = Part.Extension.SelectByID2("Line33", "SKETCHSEGMENT", 0.003588671546553, -0.03123281095829, 0.02897111198368, False, 4, Nothing, 0) boolstatus = Part.Extension.SelectByID2("Sketch1", "SKETCH", 0, 0, 0, True, 0, Nothing, 0) Set myFeature = Part.FeatureManager.FeatureRevolve(1.570796326795, False, 0, 0, 0, True, True, True) Part.SelectionManager.EnableContourSelection = False Part.ClearSelection2 True Part.ShowNamedView2 "*Trimetric", 8 End Sub '###### END OF MACRO1 ############# Could you please tell me how to fix it? Thanks Kind regards. Maperalia "Peter T" wrote: It probably means you do not have an Optionbutton named "OptionButton1" on the form. Regards, Peter T "Maperalia" wrote in message ... Peter; Thanks for the additional code. I added in my macro and after I ran I got the following error message: Run-time error '424': Object Required Then I click debug and it is highligthing at the following statement: gbCtrLineHoriz = OptionButton1.Value What does is mean? and how can I fix it please ?.. Kinr regards. Maperalia "Peter T" wrote: I'm glad the previous suggestion worked for you, based on what you had described it didn't need too much mind reading! But this time I have no idea what you are trying to say, all the code you quote does not mean anything to me. If, and this is just a guess, you want to do something when user changes an OptionButton - Private Sub OptionButton1_Change() gbCtrLineHoriz = OptionButton1.Value If gbCtrLineHoriz Then ' call routine to do horizontal stuff Else ' call routine to do vertical stuff End If End Sub Previously in the form's Initialize event I suggested you do Me.OptionButton1.Value = True but don't do that, instead do gbCtrLineHoriz = True and ensure OptionButton1 is selected (its Value property = True) at design time. Regards, Peter T "Maperalia" wrote in message ... Peter; OHHH!! My God you are amazing. You read my mind in this theme. This is exactly the form I was looking for. Thank you very much. I know now that I was completely lost. I ran it and I got the message I need without problem. However, I would like to know how to point the selection (horizontal or vertical) directly to the statement because when I choose horizontal in the form I got horizontal revolve and when I choose vertical in the form I got horizontal revolve too. These are the statements I have to revolve the sketch using the horizontal or vertical direction: '######## Select Horizontal Centerline and Sketch1 to Revolve it ############ 'Select Horizontal Centerline boolstatus = Part.Extension.SelectByID2("Line2", "SKETCHSEGMENT", -0.04111859620927, -0.1015753044947, 0, False, 4, Nothing, 0) = RevDistance ' CHANGED THIS TO MY VAR 'Select Sketch1 boolstatus = Part.Extension.SelectByID2("Sketch1", "SKETCH", 0, 0, 0, True, 0, Nothing, 0) 'Revolve it Dim myFeature As Object 'Part.FeatureManager.FeatureRevolve RevAngle, False, 0, 0, 0, 1, 1, 1 ' CHANGED THIS TO MY VAR Set myFeature = Part.FeatureManager.FeatureRevolve(1.570796326795, False, 0, 0, 0, True, True, True) Part.SelectionManager.EnableContourSelection = False '################################################# ###################### '######## Select Vertical Centerline and Sketch1 to Revolve it |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
MultiPage tab | Excel Programming | |||
MultiPage | Excel Programming | |||
vba - using multipage | Excel Programming | |||
MultiPage | Excel Programming | |||
Multipage | Excel Programming |