Get Transform for Each Circular Pattern Instance (C#)
This example shows how to get the transform for each instance in
a circular pattern feature.
//-----------------------------------------------
// Preconditions: Specified file to open exists.
//
// Postconditions: None
//-----------------------------------------------
using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;
using System;
using System.Diagnostics;
namespace GetTransformCircularPatternFeatureDataCSharp.csproj
{
partial
class SolidWorksMacro
{
public
void Main()
{
ModelDoc2
swModel = default(ModelDoc2);
ModelDocExtension
swModelDocExtension = default(ModelDocExtension);
SelectionMgr
swSelectionMgr = default(SelectionMgr);
Feature
swFeature = default(Feature);
CircularPatternFeatureData
swCircularPatternFeatureData = default(CircularPatternFeatureData);
MathTransform
swMathTransform = default(MathTransform);
bool
boolstatus = false;
int
nErrors = 0;
int
nWarnings = 0;
int
NbrInstances = 0;
int
i = 0;
swModel
= (ModelDoc2)swApp.OpenDoc6("c:\\Program
Files\\SolidWorks Corp\\SolidWorks\\samples\\tutorial\\introtosw\\pressure_plate.sldprt",
(int)swDocumentTypes_e.swDocPART, (int)swOpenDocOptions_e.swOpenDocOptions_Silent,
"", ref nErrors, ref nWarnings);
swModelDocExtension
= (ModelDocExtension)swModel.Extension;
//
Select the circular-pattern feature
boolstatus
= swModelDocExtension.SelectByID2("CirPattern1",
"BODYFEATURE", 0, 0, 0, false, 0, null, 0);
swSelectionMgr
= (SelectionMgr)swModel.SelectionManager;
swFeature
= (Feature)swSelectionMgr.GetSelectedObject6(1,
-1);
swCircularPatternFeatureData
= (CircularPatternFeatureData)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; i < NbrInstances; i++)
{
Debug.Print("
Processing instance... " + (i + 1));
swMathTransform
= (MathTransform)swCircularPatternFeatureData.GetTransform(i);
//
TODO: Include code to do something with the transform
}
}
///
<summary>
///
The SldWorks swApp variable is pre-assigned for you.
///
</summary>
public
SldWorks swApp;
}
}