Get Custom Properties for Configuration Example (VB.NET)
This example shows how to get the names, types, values, and resolved
values of the active configuration's custom properties. It also shows
how to add a custom property to the configuration.
'---------------------------------------------------------------------------
' Preconditions:
' 1. Open a part document.
' 2. Open the Immediate window.
'
' Postconditions:
' 1. Adds a date custom property to the part's configuration.
' 2. Deletes the custom property from the configuration.
' 3. Examine the Immediate window.
'---------------------------------------------------------------------------
Imports
SolidWorks.Interop.sldworks
Imports
SolidWorks.Interop.swconst
Imports
System.Runtime.InteropServices
Imports
System
Imports
System.Diagnostics
Partial
Class
SolidWorksMacro
Dim
swModel As
ModelDoc2
Dim
config As
Configuration
Dim
cusPropMgr As
CustomPropertyManager
Dim
lRetVal As
Integer
Dim
vPropNames As
Object
Dim
vPropTypes As
Object
Dim
vPropValues As
Object
Dim
ValOut As
String
Dim
ResolvedValOut As
String
Dim
wasResolved As
Boolean
Dim
resolved As
Object
Dim
nNbrProps As
Integer
Dim
j As
Integer
Dim
custPropType As
Integer
Sub
main()
swModel = swApp.ActiveDoc
config = swModel.GetActiveConfiguration
cusPropMgr = config.CustomPropertyManager
lRetVal = cusPropMgr.Add3("ADATE",
swCustomInfoType_e.swCustomInfoDate, "4-13-59",
swCustomPropertyAddOption_e.swCustomPropertyDeleteAndAdd)
lRetVal = cusPropMgr.Get5("ADATE",
False,
ValOut, ResolvedValOut, wasResolved)
lRetVal = cusPropMgr.Set2("ADATE",
"4-13-89")
' Get the number of custom
properties for this configuration
nNbrProps = cusPropMgr.Count
Debug.Print("Number of
properties for this configuration: "
& nNbrProps)
' Get the names of the custom
properties
lRetVal = cusPropMgr.GetAll2(vPropNames, vPropTypes,
vPropValues, resolved)
' For each custom property,
print its type, value, and resolved value
For
j = 0 To
nNbrProps - 1
custPropType = cusPropMgr.GetType2(vPropNames(j))
Debug.Print(" Name,
swCustomInfoType_e value, and resolved value: "
& vPropNames(j) & ", "
& custPropType & ", "
& ResolvedValOut)
Next
j
lRetVal = cusPropMgr.Delete2("ADATE")
' Get the number of custom
properties for this configuration
nNbrProps = cusPropMgr.Count
Debug.Print("Number of
properties for this configuration: "
& nNbrProps)
End
Sub
Public
swApp As
SldWorks
End
Class