2

我有一个宏,它使用以下代码在 SolidWorks 工程图中选择视图。

Set swDraw = swApp.ActiveDoc  
Set swView = swDraw.GetFirstView  
Set swView = swView.GetNextView  

如何更改此选项以选择名为“ Drawing View1”的视图?

4

3 回答 3

2

假设您的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
于 2015-08-28T00:47:32.733 回答
1
  1. 使用此方法:
  2. 其中名称 =“绘图视图 1”
  3. 类型 = "绘图视图"
  4. X, Y, Z = 0 如果不知道
  5. 返回类型(值)是布尔值

IE

Dim instance As IModelDocExtension
value = instance.SelectByID2(Name, Type, X, Y, Z, Append, Mark, Callout, SelectOption)
于 2015-12-22T05:47:59.767 回答
0
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
于 2019-11-29T06:43:57.507 回答