Get Transform for Each Circular Pattern Instance Example (VB.NET)
This example shows how to get the transform for each instance in a circular
pattern feature.
'-----------------------------------------------
' Preconditions: Specified file to open exists.
'
' Postconditions: None
'-----------------------------------------------
Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst
Imports System
Imports System.Diagnostics
Partial Class SolidWorksMacro
Public
Sub main()
Dim
swModel As ModelDoc2
Dim
swModelDocExtension As ModelDocExtension
Dim
swSelectionMgr As SelectionMgr
Dim
swFeature As Feature
Dim
swCircularPatternFeatureData As CircularPatternFeatureData
Dim
swMathTransform As MathTransform
Dim
boolstatus As Boolean
Dim
nErrors As Long
Dim
nWarnings As Long
Dim
NbrInstances As Long
Dim
i As Long
swModel
= swApp.OpenDoc6("c:\Program
Files\SolidWorks Corp\SolidWorks\samples\tutorial\introtosw\pressure_plate.sldprt",
swDocumentTypes_e.swDocPART, swOpenDocOptions_e.swOpenDocOptions_Silent,
"", nErrors, nWarnings)
swModelDocExtension
= swModel.Extension
'
Select the circular-pattern feature
boolstatus
= swModelDocExtension.SelectByID2("CirPattern1",
"BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
swSelectionMgr
= swModel.SelectionManager
swFeature
= swSelectionMgr.GetSelectedObject6(1,
-1)
swCircularPatternFeatureData
= swFeature.GetDefinition
'
Get the number of instances in the circular-pattern feature
NbrInstances
= swCircularPatternFeatureData.TotalInstances
Debug.Print("Number
of instances: " & NbrInstances)
'
Get the transform for each instance
'
in the circular-pattern feature
For
i = 0 To (NbrInstances - 1)
Debug.Print("
Processing
instance... " & (i + 1))
swMathTransform
= swCircularPatternFeatureData.GetTransform(i)
'
TODO: Include code to do something with the transform
Next
End
Sub
'''
<summary>
'''
The SldWorks swApp variable is pre-assigned for you.
'''
</summary>
Public
swApp As SldWorks
End Class