我正在尝试更新 Solidworks VBA 脚本以在放置视图后调整视图的属性,但不确定如何实际执行此操作。在 GUI 中,一旦选择视图,我就可以通过属性管理器和工程图视图选项卡编辑这些属性(例如显示状态、比例、尺寸类型)。如果我尝试创建一个可以用作基线的宏,我只能从 SelectByID2 中选择绘图视图。
boolstatus = Part.Extension.SelectByID2("Drawing View1", "DRAWINGVIEW", x, y, z, False, 0, Nothing, 0)
Part.ClearSelection2 True
一旦放置了绘图视图,有没有办法实际修改这些属性?
DrawingView 放置后可以更改。
您可以在
IView Interface Members
此处找到文档
下面的代码将所选视图比例加倍。代码来自这里
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swSelMgr As SldWorks.SelectionMgr
Dim swView As SldWorks.View
Dim vScaleRatio As Variant
Dim bRet As Boolean
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
Set swSelMgr = swModel.SelectionManager
Set swView = swSelMgr.GetSelectedObject6(1, -1)
vScaleRatio = swView.ScaleRatio
Debug.Print "File = " & swModel.GetPathName
Debug.Print " View = " & swView.Name
Debug.Print " Use sheet scale = " & CBool(swView.UseSheetScale)
Debug.Print " Original scale ratio = " & vScaleRatio(0) & ":" & vScaleRatio(1)
Debug.Print " Original decimal scale value = " & swView.ScaleDecimal
' Increase scale values
' Changing scale sets IView::UseSheetScale to false
vScaleRatio = swView.ScaleRatio
swView.ScaleDecimal = swView.ScaleDecimal * 2#
vScaleRatio = swView.ScaleRatio
Debug.Print ""
Debug.Print " Use sheet scale = " & CBool(swView.UseSheetScale)
Debug.Print " New scale ratio = " & vScaleRatio(0) & ":" & vScaleRatio(1)
Debug.Print " New decimal scale value = " & swView.ScaleDecimal
' Rebuild to see the scaled drawing view
bRet = swModel.EditRebuild3: Debug.Assert bRet
End Sub
在这里您可以找到有关
IView Interface
的文档以及更多示例链接。