+发表新主题
子夜蓝精灵 发布于2023-3-25 07:16 26 次浏览 3 位用户参与讨论
跳转到指定楼层
SolidWorks工程图的图幅能否被单独提取出来?比如我若要统计一套图中那些是A2/A3/A4,要怎样操作或者是否有相应的插件工具能实现?
回复

使用道具 举报

已有3人评论

vsjingji 发表于 2023-3-26 21:48:03
可以通过VBA实现,参考程序:
'获取图幅大小函数

'无输入参数
'返回图幅枚举代码,1-14

Public Function papersize()
    Dim swApp                   As SldWorks.SldWorks
    Dim swDraw                  As SldWorks.DrawingDoc
    Dim swSheet                 As SldWorks.Sheet
    Dim vSheetProps             As Variant
    Dim bFirstAng               As Boolean
    Dim bRet                    As Boolean

    Set swApp = Application.SldWorks
    Set swDraw = swApp.ActiveDoc
    Set swSheet = swDraw.GetCurrentSheet


    ' Get current sheet properties

    vSheetProps = swSheet.GetProperties

    ' Current sheet properties
'
'    Debug.Print "Name = " + swSheet.GetName
'    Debug.Print "  TemplateName              = " & swSheet.GetTemplateName
'    Debug.Print "  PaperSize                 = " & vSheetProps(0)
'    Debug.Print "  TemplateIn                = " & vSheetProps(1)
'    Debug.Print "  Scale1                    = " & vSheetProps(2)
'    Debug.Print "  scale2                    = " & vSheetProps(3)
'    Debug.Print "  FirstAngle                = " & vSheetProps(4)
'    Debug.Print "  Width                     = " & vSheetProps(5)
'    Debug.Print "  Height                    = " & vSheetProps(6)
'

    ' Switch projection property
    '切换第一视角 - true/第三视角 - false
    '注意:该视角切换不会更新已经定义的视角显示方式!!!!
'    bFirstAng = vSheetProps(4)
'    vSheetProps(4) = Not bFirstAng

    ' Apply updated sheet properties

    swSheet.SetProperties _
        vSheetProps(0), _
        vSheetProps(1), _
        vSheetProps(2), _
        vSheetProps(3), _
        vSheetProps(4), _
        vSheetProps(5), _
        vSheetProps(6)

    ' 当前项目属性集合
    'Debug.Print "  New FirstAngle setting    = " & vSheetProps(0)
   
    '函数返回值
    papersize = vSheetProps(0)
End Function
回复

使用道具 举报

李炳亮 发表于 2023-3-27 23:28:25
顶  顶顶顶顶顶顶顶顶顶
回复

使用道具 举报

wangzuyi1226 发表于 2023-3-29 15:33:13
vsjingji 发表于 2023-3-26 21:48
可以通过VBA实现,参考程序:
'获取图幅大小函数
...
非常感谢!虽然还不会使用,先学习一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ| Archiver|手机版|小黑屋| 碧波制图网 Published by Stonespider

Copyright © 2021-2023 Kangli Wu   All Rights Reserved.

Powered by Discuz! X3.5( 苏ICP备18011607号-1 )

快速
回复
返回
列表
返回
顶部