SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

好品数字
好品数字
查看: 2208|回复: 7
打印 上一主题 下一主题

获得图纸n个sheet名称

  [复制链接]

15

主题

247

帖子

31

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
278
跳转到指定楼层
楼主
发表于 2012-1-31 15:07:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
  
    'Get Sheet Numbers and Names Example (VB)
    'This example shows how to get the sheet numbers and names for multiple sheets in a drawing document.
    '---------------------------------------------
    '
    ' Preconditions: Drawing document is open and has multiple sheets.
    '
    ' Postconditions: None
    '
    '---------------------------------------------
    Option Explicit
    Sub main()
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swDraw As SldWorks.DrawingDoc
    Dim swSheet As SldWorks.Sheet
    Dim vSheetNames As Variant
    Dim bRet As Boolean
    Dim i As Long
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swDraw = swModel
    Set swSheet = swDraw.GetCurrentSheet
    Debug.Print "FileName = " + swModel.GetPathName
    Debug.Print " Current sheet = " & swSheet.GetName
    Debug.Print ""
    vSheetNames = swDraw.GetSheetNames
    For i = 0 To UBound(vSheetNames)
    Debug.Print " SheetName[" & i & "] = " & vSheetNames(i)
    Next i
    End Sub
    '---------------------------------------------

复制代码
在一个slddrw文件中,有n张图纸
此程序的运行结果
FileName = F:BE(J)SBES1800-2.5-1365-9/25-2I件号1管箱.SLDDRW
Current sheet = 件号1管箱
SheetName[0] = 件号1管箱
SheetName[1] = 件号1-1封头
SheetName[2] = 件号1-2筒节
SheetName[3] = 件号1-3法兰
SheetName[4] = 件号1-4接管
SheetName[5] = 件号1-5法兰
SheetName[6] = 件号1-6隔板
    'Get Sheet Numbers and Names Example (VB)
    'This example shows how to get the sheet numbers and names for multiple sheets in a drawing document.
    '---------------------------------------------
    '
    ' Preconditions: Drawing document is open and has multiple sheets.
    '
    ' Postconditions: None
    '
    '---------------------------------------------
    Option Explicit
    Sub main()
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swDraw As SldWorks.DrawingDoc
    Dim swSheet As SldWorks.Sheet
    Dim vSheetNames As Variant
    Dim bRet As Boolean
    Dim i As Long
    Dim oName
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swDraw = swModel
    With swDraw
    Set swSheet = .GetCurrentSheet
    Debug.Print .GetSheetCount
    'oName = swSheet.GetSheetFormatName
    End With
    Debug.Print "FileName = " + swModel.GetPathName
    Debug.Print " Current sheet = " & swSheet.GetName
    Debug.Print ""
    vSheetNames = swDraw.GetSheetNames
    For i = 0 To UBound(vSheetNames)
    Debug.Print " SheetName[" & i & "] = " & vSheetNames(i)
    Set swSheet = swDraw.GetCurrentSheet
    Debug.Print swSheet.GetSheetFormatName
    swDraw.SheetNext
    Next i
    End Sub
    '---------------------------------------------

复制代码
qq.zip (15.48 KB, 下载次数: 22)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 转播转播 分享教程|习题|模型|技巧 点赞点赞4085 拍砖拍砖4795
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

10

主题

233

帖子

24

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
284
QQ
沙发
发表于 2012-1-31 15:12:46 | 只看该作者
  
    'Get Sheet Numbers and Names Example (VB)
    'This example shows how to get the sheet numbers and names for multiple sheets in a drawing document.
    '---------------------------------------------
    '
    ' Preconditions: Drawing document is open and has multiple sheets.
    '
    ' Postconditions: None
    '
    '---------------------------------------------
    Option Explicit
    Sub main()
        Dim swApp                   As SldWorks.SldWorks
        Dim swModel                 As SldWorks.ModelDoc2
        Dim swDraw                  As SldWorks.DrawingDoc
        Dim swSheet                 As SldWorks.Sheet
        Dim vSheetNames             As Variant
        Dim bRet                    As Boolean
        Dim i                       As Long
        Dim oName
        Set swApp = Application.SldWorks
        Set swModel = swApp.ActiveDoc
        Set swDraw = swModel
        With swDraw
          Set swSheet = .GetCurrentSheet
          Debug.Print .GetSheetCount
          
          'oName = swSheet.GetSheetFormatName
        End With
        Debug.Print "FileName = " + swModel.GetPathName
        Debug.Print "  Current sheet = " & swSheet.GetName
        Debug.Print ""
        vSheetNames = swDraw.GetSheetNames
        For i = 0 To UBound(vSheetNames)
            
            Debug.Print "  SheetName[" & i & "] = " & vSheetNames(i)
           swDraw.SheetNext
           Set swSheet = swDraw.GetCurrentSheet
            Debug.Print swSheet.GetSheetFormatName
        Next i
    End Sub
    '---------------------------------------------

复制代码
Debug.print 运行结果
7
FileName = F:BE(J)SBES1800-2.5-1365-9/25-2I件号1管箱.SLDDRW
  Current sheet = 件号1管箱
  SheetName[0] = 件号1管箱
图纸格式3
  SheetName[1] = 件号1-1封头
图纸格式2
  SheetName[2] = 件号1-2筒节
图纸格式4
  SheetName[3] = 件号1-3法兰
图纸格式5
  SheetName[4] = 件号1-4接管
图纸格式6
  SheetName[5] = 件号1-5法兰
图纸格式7
  SheetName[6] = 件号1-6隔板
图纸格式7
*********************************
    Sub fdsfds()
      Dim SwApp
      Set SwApp = CreateObject("SldWorks.Application")
      Set SwDraw = SetSwPart
      PathFile = "E:MyWorkSummaryBE(J)SHG20592-2012SwBaseModel" & "Bl.SldPrt"
      ShtName = "ffff"
      xyArr = Array(Array(0.1, 0.2), Array(0.1, 0.3))
      temp = CreateDrawViewFromModelView(SwApp, SwDraw, PathFile, ShtName, xyArr)
    End Sub
    ''在工程图中,插入sldAsm和sldprt
    Function CreateDrawViewFromModelView(SwApp, SwDraw, PathFile, ShtName, xyArr)
      '用CreateDrawViewFromModelView指令,生成视图1和视图2。
      Dim myModelView As Object, SwPart As Object
      Set myModelView = SwDraw.ActiveView
      
      ''
      ''
      With myModelView
         .FrameState = 1
      End With
      
      Dim myView As Object
      With SwDraw
        reVal = .ActivateSheet(ShtName)   ''
        Set SwPart = SwOpenFile(SwApp, PathFile)
        Set myView = .CreateDrawViewFromModelView3(PathFile, "*前视", xyArr(0)(0), xyArr(0)(1), 0)
        'Annotations = .InsertModelAnnotations3(0, 32776, False, True, False, False)
        boolStatus = .ActivateView(myView.Name)
        Set myView = .CreateUnfoldedViewAt3(xyArr(1)(0), xyArr(1)(1), 0, False)
       
        SwApp.CloseDoc ShtName
        Set SwView = .GetFirstView    ''
      End With
      ''
      kk = 1
      While Not SwView Is Nothing
        If SwView.Name Like "*视图*" Then
           SwView.SetName2 (ShtName & kk)
           kk = kk + 1
        End If
        Set SwView = SwView.GetNextView
      Wend
      
    End Function

复制代码

    Sub ll()
      Dim Arr
      Arr = Array("a1", "a2")
      temp = WithArrayCreateSheetDot(Arr)
    End Sub
    ''
    Function WithArrayCreateSheetDot(Arr)
      ''生成Sheet
      Dim DotName, tepDotName, ShtNameArr
      DotName = ThisWorkbook.Path + "MatDrtTbtmyA3.slddrt"
      Dim SwApp, SwDraw As Object, SwArr
      Dim xyArr(1)
      xyArr(0) = Array(0.1, 0.2)
      xyArr(1) = Array(0.3, 0.2)   
      Set SwDraw = SetSwPart
      ''
      temp = CreateSwSheet(SwDraw, Arr, DotName)
    End Function

复制代码
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

11

主题

236

帖子

25

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
275
QQ
板凳
发表于 2012-1-31 15:16:15 | 只看该作者
感謝分享
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

10

主题

219

帖子

63

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
307
QQ
地板
发表于 2012-1-31 15:20:54 | 只看该作者
多谢分享。能说明一个有用的使用场合吗?案例?
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

428

帖子

827

金币

传奇

Rank: 8Rank: 8

积分
4526

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

5#
发表于 2017-8-12 15:35:36 | 只看该作者

   经典案例图书
附件损坏打不开
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

428

帖子

827

金币

传奇

Rank: 8Rank: 8

积分
4526

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

6#
发表于 2021-4-8 21:06:12 | 只看该作者
谢谢分享
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

44

帖子

72

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
250

最佳新人活跃会员宣传达人

7#
发表于 2021-12-24 11:46:43 | 只看该作者

   经典案例图书
很不错,顶一下!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

16

主题

1146

帖子

105

金币

传奇

Rank: 8Rank: 8

积分
5447

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

8#
发表于 2022-9-28 10:42:09 | 只看该作者
活到老学到老!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭 卷起
关闭 卷起

手机版|小黑屋| GMT+8, 2024-4-20 04:52 , Processed in 0.174910 second(s), 40 queries .

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

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