通过VBA放置工程图后,有没有办法更改Solidworks属性

问题描述 投票:0回答:1

我正在尝试更新 Solidworks VBA 脚本以在放置视图后调整视图的属性,但不确定如何实际执行此操作。在 GUI 中,一旦选择视图,我就可以通过属性管理器和工程图视图选项卡编辑这些属性(例如显示状态、比例、尺寸类型)。如果我尝试创建一个可以用作基线的宏,我只能从 SelectByID2 中选择绘图视图。

boolstatus = Part.Extension.SelectByID2("Drawing View1", "DRAWINGVIEW", x, y, z, False, 0, Nothing, 0)
Part.ClearSelection2 True

一旦放置了绘图视图,有没有办法实际修改这些属性?

solidworks solidworksapi
1个回答
0
投票

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
的文档以及更多示例链接。

© www.soinside.com 2019 - 2024. All rights reserved.