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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1070063|回复: 30
打印 上一主题 下一主题

烦请大侠指教两个SWDM-API使用中的代码问题

  [复制链接]

12

主题

73

帖子

75

金币

天使

Rank: 2Rank: 2

积分
192
QQ
跳转到指定楼层
楼主
发表于 2016-11-4 14:34:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

   经典图书


    Sub ReadModelPrpInSlddrw()
    Dim swModel As SwDMDocument10
    Dim dmSearchOpt As SwDMSearchOption
    Set objClassfac = CreateObject("SwDocumentMgr.SwDMClassFactory")
    SWDMLicenseKey = InputBox("輸入許可證密碼")
    If SWDMLicenseKey = "" Then Exit Sub
    Set swDM = objClassfac.GetApplication(SWDMLicenseKey) '啟動SWDM
    HeaderRoll = 2
    RollNumber = HeaderRoll + 1
    PathName = ActiveSheet.Cells(RollNumber, 1) '讀取第一個路徑的值
    While Not (PathName = "" Or PathName = 0 Or IsEmpty(PathName)) '直到讀完路徑欄
    Filename = ActiveSheet.Cells(RollNumber, 2)
    Set swDoc = swDM.GetDocument(PathName & Filename, 3, False, mOpenErrors) '開啟工程圖
    If Not swDoc Is Nothing Then
    RefModelNames = swDoc.GetAllExternalReferences(dmSearchOpt) '獲取參考檔案名稱
    If Not TypeName(RefModelNames) = "Empty" Then '過濾沒有參考檔案
    Cells(RollNumber, 2).Interior.ColorIndex = 8
    RefModelName = RefModelNames(0) '獲取第一個參考檔案的名稱
    If "SLDPRT" = UCase(Left(RefModelName, 6)) Then '分辨參考檔案的類型
    RefModelTYpe = 1 '這是零件
    Else
    RefModelTYpe = 2 '這是組合件
    End If
    Set swModel = swDM.GetDocument(RefModelName, RefModelTYpe, False, mOpenErrors) '開啟
    ColumnNumber = 3
    PropName = Cells(HeaderRoll, ColumnNumber)
    While Not (PropName = "" Or PropName = 0 Or IsEmpty(PropName)) '直到讀完表頭
    PropNames = swModel.GetCustomPropertyNames '獲取模型內所有屬性的名稱
    HasPropName = False
    If Not IsEmpty(PropNames) Then
    For i = 0 To UBound(PropNames) '核對書否存在表單上的屬性名稱
    If UCase(PropNames(i)) = UCase(PropName) Then HasPropName = True
    Next
    End If
    If HasPropName Then
    PropValue = swModel.GetCustomProperty(PropName, swDmCustomInfoText) '獲取參考檔案的屬性
    Cells(RollNumber, ColumnNumber) = PropValue '寫入屬性到表格
    Else
    Cells(RollNumber, ColumnNumber) = "-----" '寫入代表不存在屬性的字符
    End If
    ColumnNumber = ColumnNumber + 1 '下一欄
    PropName = ActiveSheet.Cells(HeaderRoll, ColumnNumber)
    Wend '回到>直到讀完表頭
    swModel.CloseDoc '關閉參考檔案
    Cells(RollNumber, ColumnNumber) = RefModelName '寫入參考檔案名稱到表格到行末
    End If
    swDoc.CloseDoc '關閉工程圖
    End If
    RollNumber = RollNumber + 1 '下一列
    PathName = ActiveSheet.Cells(RollNumber, 1)
    Wend '回到>直到讀完路徑欄
    End Sub

复制代码
大王我现在想做一个EXCEL版的SWDM-API文件,在参考使用、修改这些代码,在此过程中碰到两个问题,百度求助没找到能解决我的问题的资料,SWDM-API帮助中又没有VBA的实例,有个VB.NET的实例,但复制到VBA里想看看原理时一运行就出错,可能是代码兼容性问题。没办法只能向大王您求教了。问题的情况是:
一:在您51楼的读取工程图中参考的零部件的属性中,不知道怎样修改代码可以让获取得到的属性值是工程图中关联的零部件件的配置特定的属性而不是自定义属性选项卡上的属性?
二:SWDM-API打开工程图后,不知道用什么代码获取这个工程图的图纸格式的大小?不管获得的是类似A4 A3这样的结果还是类似于“297mm*210mm"这样的结果,当然最好是能输出A4 A3这种的,我需要输出的是这个值。(知识匮乏,不知道应该分别怎样称呼这两种格式,是否其一是“图纸格式”其一是“图幅”?)SW-API获取图页图幅属性的代码为 vsheetprops = swCurrentSheet.GetProperties
但是我不知道在SWDM-API中读取图页图幅属性的代码。
恳请大王指点,谢谢。
也请大能 小王等一众高人指点。谢谢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

9

主题

60

帖子

52

金币

天使

Rank: 2Rank: 2

积分
172
QQ
沙发
发表于 2016-11-4 16:56:24 | 只看该作者
我来帮你解答第一个问题吧
1.SWDM-API我不能获取到工程图模型配置,所以只写了获取活动配置
暂时不知道怎么获取工程图模型引用的配置,以下代码是获取活动配置的属性(一般情况下是"默认"配置)
由于不是专业写代码的,有不对的地方,还望指正
    Sub ReadModelPrpInSlddrw()
    Dim swModel As SwDMDocument12
    Dim dmSearchOpt As SwDMSearchOption
    Set objClassfac = CreateObject("SwDocumentMgr.SwDMClassFactory")
    SWDMLicenseKey = InputBox("輸入許可證密碼")
    If SWDMLicenseKey = "" Then Exit Sub
    Set swDM = objClassfac.GetApplication(SWDMLicenseKey) '啟動SWDM
    HeaderRoll = 2
    RollNumber = HeaderRoll + 1
    PathName = ActiveSheet.Cells(RollNumber, 1) '讀取第一個路徑的值
    While Not (PathName = "" Or PathName = 0 Or IsEmpty(PathName)) '直到讀完路徑欄
        FileName = ActiveSheet.Cells(RollNumber, 2)
        Set swDoc = swDM.GetDocument(PathName & FileName , 3, False, mOpenErrors) '開啟工程圖
        If Not swDoc Is Nothing Then
            RefModelNames = swDoc.GetAllExternalReferences(dmSearchOpt) '獲取參考檔案名稱
            If Not TypeName(RefModelNames) = "Empty" Then '過濾沒有參考檔案
                Cells(RollNumber, 2).Interior.ColorIndex = 8
                RefModelName = RefModelNames(0) '獲取第一個參考檔案的名稱
                If "SLDPRT" = UCase(Left(RefModelName, 6)) Then '分辨參考檔案的類型
                    RefModelTYpe = 1 '這是零件
                Else
                    RefModelTYpe = 2 '這是組合件
                End If
                Set swModel = swDM.GetDocument(RefModelName, RefModelTYpe, False, mOpenErrors) '開啟
                Set swCfgMgr = swModel.ConfigurationManager
                ColumnNumber = 3
                PropName = Cells(HeaderRoll, ColumnNumber)
                While Not (PropName = "" Or PropName = 0 Or IsEmpty(PropName)) '直到讀完表頭
                    swConfigName = swCfgMgr.GetActiveConfigurationName
                    Dim swCfg As SwDMConfiguration12
                    Set swCfg = swCfgMgr.GetConfigurationByName(swConfigName)
                    PropNames = swCfg.GetCustomPropertyNames '獲取模型內所有屬性的名稱
                    HasPropName = False
                    If Not IsEmpty(PropNames) Then
                        For I = 0 To UBound(PropNames) '核對書否存在表單上的屬性名稱
                            If UCase(PropNames(I)) = UCase(PropName) Then HasPropName = True
                        Next
                    End If
                    If HasPropName Then
                        PropValue = swCfg.GetCustomProperty(PropName, swDmCustomInfoText) '獲取參考檔案的屬性
                        Cells(RollNumber, ColumnNumber) = PropValue '寫入屬性到表格
                    Else
                        Cells(RollNumber, ColumnNumber) = "-----" '寫入代表不存在屬性的字符
                    End If
                    ColumnNumber = ColumnNumber + 1 '下一欄
                    PropName = ActiveSheet.Cells(HeaderRoll, ColumnNumber)
                Wend '回到>直到讀完表頭
                swModel.CloseDoc '關閉參考檔案
                Cells(RollNumber, ColumnNumber) = RefModelName '寫入參考檔案名稱到表格到行末
                End If
            swDoc.CloseDoc '關閉工程圖
        End If
        RollNumber = RollNumber + 1 '下一列
        PathName = ActiveSheet.Cells(RollNumber, 1)
    Wend '回到>直到讀完路徑欄
    End Sub

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

使用道具 举报

26

主题

80

帖子

167

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
375
QQ
板凳
发表于 2016-11-4 19:30:14 | 只看该作者

   经典图书
谢谢老兄,我晚上熬夜研究学习下。谢谢。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

15

主题

67

帖子

87

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
241
QQ
地板
发表于 2016-11-5 02:47:59 | 只看该作者
第二个问题,如果工程图中有多张图纸,那么读取哪一张工程图的图页属性呢?
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

14

主题

63

帖子

98

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
238
QQ
5#
发表于 2016-11-5 09:41:46 | 只看该作者

   经典案例图书
就读取第一张的就OK了。谢谢关注和帮助。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

12

主题

83

帖子

71

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
244
QQ
6#
发表于 2016-11-5 17:09:07 | 只看该作者
请测试
    Sub GetFormatProp()
    Dim swDoc As SwDMDocument14
    Dim dmSearchOpt As SwDMSearchOption
    Set objClassfac = CreateObject("SwDocumentMgr.SwDMClassFactory")
    SWDMLicenseKey = InputBox("輸入許可證密碼")
    If SWDMLicenseKey = "" Then Exit Sub
    Set swDM = objClassfac.GetApplication(SWDMLicenseKey) '啟動SWDM
    HeaderRoll = 2
    RollNumber = HeaderRoll + 1
    PathName = ActiveSheet.Cells(RollNumber, 1) '讀取第一個路徑的值
    RowCount = 1
    While Not (PathName = "" Or PathName = 0 Or IsEmpty(PathName)) '直到讀完路徑欄
        FileName = ActiveSheet.Cells(RollNumber, 2)
        Set swDoc = swDM.GetDocument(PathName & FileName, 3, False, mOpenErrors)  '開啟工程圖
        If Not swDoc Is Nothing Then
            Dim SheetNameVar As Variant
            Dim SheetCount As Long
            Dim SheetName As String
            Dim SheetNameCount As Integer
            Dim FormatName As String
            Dim Status1 As SwDocumentMgr.swSheetFormatPathResult
            Dim Status2 As SwDocumentMgr.swSheetPropertiesResult
            Dim FormatProp As Variant
            Dim para As Double
            SheetCount = swDoc.GetSheetCount
            SheetNameVar = swDoc.GetSheetNames
            SheetName = SheetNameVar(LBound(SheetNameVar))
            Status1 = swDoc.GetSheetFormatPath(SheetName, FormatName)
            Status2 = swDoc.GetSheetProperties(SheetName, FormatProp)
            ActiveSheet.Cells(RowCount + RollNumber - 1, 5) = SheetName
            ActiveSheet.Cells(RowCount + RollNumber - 1, 6) = FormatProp(1) * 1000 & "X" & FormatProp(2) * 1000
        End If
        swDoc.CloseDoc '關閉工程圖
        RollNumber = RollNumber + 1 '下一列
        PathName = ActiveSheet.Cells(RollNumber, 1)
    Wend '回到>直到讀完路徑欄
    End Sub

复制代码
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

16

主题

68

帖子

92

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
256
QQ
7#
发表于 2016-11-5 21:24:03 | 只看该作者

   经典案例图书
非常感谢。
其实这一步今天下午我在公司时已经解决得差不多了,是参考SW中自带的SWDM的帮助文件的实例做的,慢慢的修改,虽然最终也能达成我的需要了,但被我改得乱七八糟让人不忍直视了。谢谢您的大作,我还是放弃自己改的那些乱七八糟的代码,研究学习您这精简的代码吧。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

10

主题

69

帖子

82

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
214
QQ
8#
发表于 2016-11-5 23:28:54 | 只看该作者
刚才代码声明部分发现不对,有更改一点,还请重新复制测试
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

8

主题

74

帖子

45

金币

天使

Rank: 2Rank: 2

积分
158
QQ
9#
发表于 2016-11-6 07:01:55 | 只看该作者
重贴完整代码
Sub GetFormatProp()
Dim swDM As SwDMApplication
Dim objClassfac As SwDMClassFactory
Dim mOpenErrors As SwDmDocumentOpenError
Dim swDoc As SwDMDocument14
Dim dmSearchOpt As SwDMSearchOption
Set objClassfac = CreateObject("SwDocumentMgr.SwDMClassFactory")
SWDMLicenseKey = InputBox("輸入許可證密碼")
If SWDMLicenseKey = "" Then Exit Sub
Set swDM = objClassfac.GetApplication(SWDMLicenseKey) '啟動SWDM
HeaderRoll = 2
RollNumber = HeaderRoll + 1
PathName = ActiveSheet.Cells(RollNumber, 1) '讀取第一個路徑的值
RowCount = 1
While Not (PathName = "" Or PathName = 0 Or IsEmpty(PathName)) '直到讀完路徑欄
    FileName = ActiveSheet.Cells(RollNumber, 2)
    Set swDoc = swDM.GetDocument(PathName & FileName, 3, False, mOpenErrors)  '開啟工程圖
    If Not swDoc Is Nothing Then
        Dim SheetNameVar As Variant
        Dim SheetCount As Long
        Dim SheetName As String
        Dim SheetNameCount As Integer
        Dim FormatName As String
        Dim Status1 As SwDocumentMgr.swSheetFormatPathResult
        Dim Status2 As SwDocumentMgr.swSheetPropertiesResult
        Dim FormatProp As Variant
        Dim para As Double
        SheetCount = swDoc.GetSheetCount
        SheetNameVar = swDoc.GetSheetNames
        SheetName = SheetNameVar(LBound(SheetNameVar))
        Status1 = swDoc.GetSheetFormatPath(SheetName, FormatName)
        Status2 = swDoc.GetSheetProperties(SheetName, FormatProp)
        ActiveSheet.Cells(RowCount + RollNumber - 1, 5) = SheetName
        ActiveSheet.Cells(RowCount + RollNumber - 1, 6) = FormatProp(1) * 1000 & "X" & FormatProp(2) * 1000
    End If
    swDoc.CloseDoc '關閉工程圖
    RollNumber = RollNumber + 1 '下一列
    PathName = ActiveSheet.Cells(RollNumber, 1)
Wend '回到>直到讀完路徑欄
End Sub
复制代码
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

9

主题

65

帖子

75

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
204
QQ
10#
发表于 2016-11-6 08:23:11 | 只看该作者

   经典图书
好的。
刚才有点事在忙了会,才看到消息。
谢谢。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

15

主题

63

帖子

94

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
242
QQ
11#
发表于 2016-11-6 08:45:12 | 只看该作者
晕,我是不是点了“点评”按钮了?用点评功能可能看上去有点不尊重您了。抱歉了。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

10

主题

53

帖子

46

金币

天使

Rank: 2Rank: 2

积分
158
QQ
12#
发表于 2016-11-6 08:48:54 | 只看该作者
您好。
试用你的代码,现在试用的结果如下:
第一:代码中
  If "SLDPRT" = UCase(Left(RefModelName, 6)) Then '分辨參考檔案的類型
                RefModelTYpe = 1 '這是零件
            Else
                RefModelTYpe = 2 '這是組合件
复制代码
这一段应该改为If "SLDPRT" = UCase(Right(RefModelName, 6)) Then '分辨參考檔案的類型
                RefModelTYpe = 1 '這是零件
            Else
                RefModelTYpe = 2 '這是組合件
复制代码
修改后才能正确抓取后缀的几位字母以识别为零或者装配体
第二:您给的这段代码,获取的还是在“自定义”选项卡上的属性而非“配置特定选项卡”中的属性。
今天晚上我熬夜弄这个东西,看来要再另想办法找出正确的代码来了。
仍然感谢你。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

15

主题

77

帖子

91

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
248
QQ
13#
发表于 2016-11-6 13:15:10 | 只看该作者
1.这段代码确实错了,我是按照你提供的代码更改的,没注意到,但是很奇怪,我使用却并无异常
2.代码确实是读取的配置特定中的属性,确认是读取下图中的属性,无误

我重贴一下代码
Sub ReadModelPrpInSlddrw()
Dim swDM As SwDMApplication
Dim swDoc As SwDMDocument12
Dim swModel As SwDMDocument12
Dim dmSearchOpt As SwDMSearchOption
Dim objClassfac As SwDMClassFactory
Dim mOpenErrors As SwDmDocumentOpenError
Dim swCfgMgr As SwDMConfigurationMgr
Set objClassfac = CreateObject("SwDocumentMgr.SwDMClassFactory")
SWDMLicenseKey = InputBox("輸入許可證密碼")
If SWDMLicenseKey = "" Then Exit Sub
Set swDM = objClassfac.GetApplication(SWDMLicenseKey) '啟動SWDM
HeaderRoll = 2
RollNumber = HeaderRoll + 1
PathName = ActiveSheet.Cells(RollNumber, 1) '讀取第一個路徑的值
While Not (PathName = "" Or PathName = 0 Or IsEmpty(PathName)) '直到讀完路徑欄
    FileName = ActiveSheet.Cells(RollNumber, 2)
    Set swDoc = swDM.GetDocument(PathName & FileName, 3, False, mOpenErrors)  '開啟工程圖
    If Not swDoc Is Nothing Then
        RefModelNames = swDoc.GetAllExternalReferences(dmSearchOpt) '獲取參考檔案名稱
        If Not TypeName(RefModelNames) = "Empty" Then '過濾沒有參考檔案
            Cells(RollNumber, 2).Interior.ColorIndex = 8
            RefModelName = RefModelNames(0) '獲取第一個參考檔案的名稱
            If "SLDPRT" = UCase(Right(RefModelName, 6)) Then '分辨參考檔案的類型
                RefModelTYpe = 1 '這是零件
            Else
                RefModelTYpe = 2 '這是組合件
            End If
            Set swModel = swDM.GetDocument(RefModelName, RefModelTYpe, False, mOpenErrors) '開啟
            Set swCfgMgr = swModel.ConfigurationManager
            ColumnNumber = 3
            PropName = Cells(HeaderRoll, ColumnNumber)
            While Not (PropName = "" Or PropName = 0 Or IsEmpty(PropName)) '直到讀完表頭
                swConfigName = swCfgMgr.GetActiveConfigurationName
                Dim swCfg As SwDMConfiguration12
                Set swCfg = swCfgMgr.GetConfigurationByName(swConfigName)
                PropNames = swCfg.GetCustomPropertyNames '獲取模型內所有屬性的名稱
                HasPropName = False
                If Not IsEmpty(PropNames) Then
                    For i = 0 To UBound(PropNames) '核對書否存在表單上的屬性名稱
                        If UCase(PropNames(i)) = UCase(PropName) Then HasPropName = True
                    Next
                End If
                If HasPropName Then
                    PropValue = swCfg.GetCustomProperty(PropName, swDmCustomInfoText) '獲取參考檔案的屬性
                    Cells(RollNumber, ColumnNumber) = PropValue '寫入屬性到表格
                Else
                    Cells(RollNumber, ColumnNumber) = "-----" '寫入代表不存在屬性的字符
                End If
                ColumnNumber = ColumnNumber + 1 '下一欄
                PropName = ActiveSheet.Cells(HeaderRoll, ColumnNumber)
            Wend '回到>直到讀完表頭
            swModel.CloseDoc '關閉參考檔案
            Cells(RollNumber, ColumnNumber) = RefModelName '寫入參考檔案名稱到表格到行末
            End If
        swDoc.CloseDoc '關閉工程圖
    End If
    RollNumber = RollNumber + 1 '下一列
    PathName = ActiveSheet.Cells(RollNumber, 1)
Wend '回到>直到讀完路徑欄
End Sub
复制代码
你说的问题可否截图说明一下
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

13

主题

68

帖子

104

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
229
QQ
14#
发表于 2016-11-6 20:12:26 | 只看该作者
现在测试正常了。
请问大师,知不知道在swdm中,用什么语句读取到属性的评估值而不是读取到那一段代码?
谢谢
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

16

主题

107

帖子

118

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
385
QQ
15#
发表于 2016-11-7 02:09:34 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

获取评估值代码
    GetCustomPropertyValues

复制代码
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

8

主题

63

帖子

56

金币

天使

Rank: 2Rank: 2

积分
153
QQ
16#
发表于 2016-11-7 02:25:42 | 只看该作者

   经典案例图书
获取评估值完整代码(配置特定属性中)
    Sub ReadModelPrpInSlddrw()
    Dim swDM As SwDMApplication
    Dim swDoc As SwDMDocument12
    Dim swModel As SwDMDocument12

复制代码
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

11

主题

69

帖子

71

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
203
QQ
17#
发表于 2016-11-7 06:18:11 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

谢谢。我刚按大王的大法修改了一下,发现运行出错。原来是图片上的那个14只能改成12就可以了。不知道这个是不是因为版本的关系?
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

18

主题

75

帖子

112

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
292
QQ
18#
发表于 2016-11-7 06:49:08 | 只看该作者

   经典案例图书
真是太感谢您了。
接下来我就是要找到从工程图直接打开工程图所引用的零件的配置并读取这个配置的属性的代码了。
我是VBA小白,代码都只能慢慢的改慢慢的试。幸亏有你们这些大师不吝指点了。万分感谢了。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

10

主题

115

帖子

74

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
354
QQ
19#
发表于 2016-11-7 07:25:05 | 只看该作者
只要是5以上都能获取,具体数值根据自己的版本来
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

14

主题

74

帖子

85

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
252
QQ
20#
发表于 2016-11-7 11:43:57 | 只看该作者
学到了。
学疏才浅,不知道这些后缀数字到底有什么不同,所以前面硬搬大王的那个“14”进来,运行出错。乱改了一个小点的数字,改成“12”竟然就没报错了。
大师能不能指点一下,这些不同的数字到底有什么不同的含义和用法呢?看了很多,都有这种用不同的数字后缀的情况,搞晕头了都不知道为什么要用这些不同的数字。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭 卷起
关闭 卷起

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2024-9-28 06:16 , Processed in 0.269117 second(s), 25 queries , Memcache On.

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

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

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