在VBA im Solidworks中选择特定视图
我有一个宏,它使用以下代码选择SolidWorks图形中的视图在VBA im Solidworks中选择特定视图,vba,solidworks,Vba,Solidworks,我有一个宏,它使用以下代码选择SolidWorks图形中的视图 Set swDraw = swApp.ActiveDoc Set swView = swDraw.GetFirstView Set swView = swView.GetNextView 如何更改此选项以选择名为“Drawing View1”的视图?假设您的swView对象的类型为iView,则可以使用GetName2方法获取名称。因此,您可以使用已经使用的GetNextView方法枚举图形中的每个视图,并检查名称是否
Set swDraw = swApp.ActiveDoc
Set swView = swDraw.GetFirstView
Set swView = swView.GetNextView
如何更改此选项以选择名为“
Drawing View1
”的视图?假设您的swView
对象的类型为iView
,则可以使用GetName2
方法获取名称。因此,您可以使用已经使用的GetNextView
方法枚举图形中的每个视图,并检查名称是否匹配
它并没有很好的文档记录,但值得一提的是,GetNextView
方法在枚举结束后返回一个空引用指针(例如vb中的nothing
)
Set swDraw = swApp.ActiveDoc
Set swView = swDraw.GetFirstView
Do While Not swView is Nothing
If swView.GetName2 = "Drawing View1" then Exit Do
Set swView = swView.GetNextView
Loop
Dim instance As IModelDocExtension
value = instance.SelectByID2(Name, Type, X, Y, Z, Append, Mark, Callout, SelectOption)
Set Part = swApp.OpenDoc6(drawpathandfile, 3, 0, "", longstatus, longwarnings)
Dim swDrawing As Object
Set swDrawing = Part
Set Part = swApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameLeft = 0
myModelView.FrameTop = 33
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
swApp.ActivateDoc2 "Drawing View1", False, longstatus
Set Part = swApp.ActiveDoc
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized