'-------------------------------------
'
' Preconditions: SolidWorks document is open to which custom properties have been assigned.
'
' Postconditions: None
'-------------------------------------
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim vConfigNameArr As Variant
Dim vConfigName As Variant
Dim vCustInfoNameArr As Variant
Dim vCustInfoName As Variant
Dim bRet As Boolean
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Debug.Print "File = " & swModel.GetPathName
vConfigNameArr = swModel.GetConfigurationNames
' Is empty if a drawing becasue configurations not supported on drawings
If IsEmpty(vConfigNameArr) Then
ReDim vConfigNameArr(0)
vConfigNameArr(0) = ""
Else
' Add a blank string for the nonconfiguration-specific custom properties
ReDim Preserve vConfigNameArr(UBound(vConfigNameArr) + 1)
End If
For Each vConfigName In vConfigNameArr
Debug.Print " " & vConfigName
vCustInfoNameArr = swModel.GetCustomInfoNames2(vConfigName)
If Not IsEmpty(vCustInfoNameArr) Then
For Each vCustInfoName In vCustInfoNameArr
Debug.Print " " & vCustInfoName
Debug.Print " Type = " & swModel.GetCustomInfoType3(vConfigName, vCustInfoName)
Debug.Print " Value = " & swModel.GetCustomInfoValue(vConfigName, vCustInfoName)
Debug.Print " Text = " & swModel.CustomInfo2(vConfigName, vCustInfoName)
Next
End If
Debug.Print " ---------------------------"
Next
End Sub
Debug.print Result
File = F:\\BE(J)S\\SwHG20592\\WNRF.SldPrt
默认
---------------------------
材料
Type = 30
Value = 16MnII
Text = "SW-Material@WNRF.SLDPRT"
质量
Type = 30
Value = 11.33
Text = "SW-Mass@WNRF.SLDPRT"
名称
Type = 30
Value = 法兰 WN250-25(B) RF
Text = 法兰 WN250-25(B) RF
标准号
Type = 30
Value = HG/T20592-2009
Text = HG/T20592-2009
---------------------------
SolidworksApi macros