Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.
sandeep_vaal
502 Views, 4 Replies

Get bodies in Inventor pattern

Hello Autodesk,

We want to read bodies in inventor pattern feature (rectangular, Circular, etc)

We tried to read bodies in Pattern feature but it seems it whole pattern bodies as single body.

We tried following code

PartComponentDefinition partComponentDefinition = this.ivPartDocument.ComponentDefinition;

RectangularPatternFeatures rectPatternFeatures = partComponentDefinition.Features.RectangularPatternFeatures;
foreach (RectangularPatternFeature patternFeat in rectPatternFeatures)
{
int patternBodiesCount = patternFeat.SurfaceBodies.Count; // Getting 1 body always though pattern contains many instances of a body
RectangularPatternFeatureDefinition patterndefinition = patternFeat.Definition;

foreach (SurfaceBody surfaceBody in patternFeat.SurfaceBodies)
{
int patternBodyFacesCount = patternFeat.SurfaceBodies.Faces.Count; // Faces count is total of faces all pattern body instances
}
}


I have attached sample part

sandeep_vaal_0-1631863961343.png

 

We tried differrent API's from RectangularPatternFeature but couldn't get disting bodies from pattern features.

sandeep_vaal_1-1631864164171.png


We tried many things but couldn't get each body data seperately from PatternFeature

PartFeaturesEnumerator partFeatureEnum = surfaceBody.AffectedByFeatures;
foreach (PartFeature feature in surfaceBody.AffectedByFeatures) // surfaceBody.AffectedByFeatures.Count = 2 but still body is same for each AffectedFeature.
{
   SurfaceBody body = feature.SurfaceBody; // This body
}

Please suggest correct way if possible to achieve this. Looking for fastest resolution.