Data Structures

struct  A3DFRMFeatureTreeData
 Feature tree data Populates the A3DFRMFeatureTreeData structure. More...
 

Enumerations

enum  EA3DFRMEnumValue_ModeType {
  kA3DFRMEnumValue_ModeType_None = 0,
  kA3DFRMEnumValue_ModeType_Cut,
  kA3DFRMEnumValue_ModeType_CutOut,
  kA3DFRMEnumValue_ModeType_Surface,
  kA3DFRMEnumValue_ModeType_SurfaceCappedEnds,
  kA3DFRMEnumValue_ModeType_PatternGeometry,
  kA3DFRMEnumValue_ModeType_Symbolic
}
 Enumerate the possible types of mode type.
More...
 

Functions

A3DStatus A3DAsmPartDefinitionFeatureTreesGet (const A3DAsmPartDefinition *pPartDefinition, A3DUns32 *puiSize, A3DFRMFeatureTree ***pppFeatureTrees)
 Get all feature trees defined in the part definition. More...
 
A3DStatus A3DFRMFeatureTreeGet (const A3DFRMFeatureTree *pTree, A3DFRMFeatureTreeData *pData)
 Populates the A3DFRMFeatureTreeData structure. More...
 
A3DStatus A3DFRMGetSpecificNodes (const A3DFRMFeatureTree *pTree, EA3DFRMEnumValue_CadType eCADType, A3DUns32 *piSize, A3DFRMFeature ***pppFeatureNodes)
 Build a List of Features corresponding to a node with specific CAD type. More...
 

Detailed Description

CAD model are represented by a feature tree. A model tree is composed by nodes. Each of these nodes is a build step, whose definition parameters are stored in a feature. The following model is defined with construction entities, then a pad, and a hole.

The model trees are accessible through the product occurence by using the function A3DAsmProductOccurrenceGet, and the function A3DFRMFeatureTreeGet will populate the data structure. An array of feature trees is stored in A3DAsmProductOccurrenceData, usually there is only one feature tree by model.

In addition, the function A3DFRMGetSpecificNodes allows to directly get a list of features with a specific cad type. For instance, to get all features HOLE defined in the tree. In this case,

A3DUns32 iSize;
A3DFRMFeature** ppFeatureNodes;
A3DFRMGetSpecificNodes( pFRMFeatureTree, kA3DFRMEnumValue_CadType_Hole, &iSize, &ppFeatureNodes);
//...
A3DFRMGetSpecificNodes( NULL, kA3DFRMEnumValue_CadType_Hole, &iSize, &ppFeatureNodes);

Note that A3DFRMFeatureTree object is an abstraction of A3DRiSet, so it possible to directly call the function A3DFRMFeatureTreeGet on a set

A3DEEntityType eType=kA3DTypeUnknown;
A3DEntityGetType(pRepresentationItem,&eType);
if(eType == kA3DTypeRiSet)
{
if (A3DFRMFeatureTreeGet(pRepresentationItem, &sTreeData) == A3D_SUCCESS)
{
A3DFRMFeatureTreeGet(NULL, &sTreeData);
}
else
{
//regular RiSet
}
}

Enumeration Type Documentation

◆ EA3DFRMEnumValue_ModeType

Enumerate the possible types of mode type.

Version
10.2
Enumerator
kA3DFRMEnumValue_ModeType_None 
kA3DFRMEnumValue_ModeType_Cut 
kA3DFRMEnumValue_ModeType_CutOut 
kA3DFRMEnumValue_ModeType_Surface 
kA3DFRMEnumValue_ModeType_SurfaceCappedEnds 
kA3DFRMEnumValue_ModeType_PatternGeometry 
kA3DFRMEnumValue_ModeType_Symbolic 

Function Documentation

◆ A3DFRMFeatureTreeGet()

A3DStatus A3DFRMFeatureTreeGet ( const A3DFRMFeatureTree pTree,
A3DFRMFeatureTreeData pData 
)

Populates the A3DFRMFeatureTreeData structure.

\fnA3DFRMFeatureTreeGet

Version
10.2
Returns
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_DATA_STRUCT_NULL
A3D_INVALID_ENTITY_TYPE
A3D_ERROR
A3D_INVALID_LICENSE
A3D_SUCCESS.

◆ A3DFRMGetSpecificNodes()

A3DStatus A3DFRMGetSpecificNodes ( const A3DFRMFeatureTree pTree,
EA3DFRMEnumValue_CadType  eCADType,
A3DUns32 piSize,
A3DFRMFeature ***  pppFeatureNodes 
)

Build a List of Features corresponding to a node with specific CAD type.

Version
10.2
Parameters
eCADTypecad type of feature (Hole, Pattern, ...)
piSizenumber with the type specified
ppFeatureNodesfeatures found with the specific cad type (Hole, Pattern, ...)
Returns
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_DATA_STRUCT_NULL
A3D_ERROR
A3D_SUCCESS.

◆ A3DAsmPartDefinitionFeatureTreesGet()

A3DStatus A3DAsmPartDefinitionFeatureTreesGet ( const A3DAsmPartDefinition pPartDefinition,
A3DUns32 puiSize,
A3DFRMFeatureTree ***  pppFeatureTrees 
)

Get all feature trees defined in the part definition.

Deprecated:
This function is deprecated. Please use the A3DFRMFeatureTree who are in the A3DAsmProductOccurrenceData. version 12.
Version
10.2
Parameters
pPartDefinitionpart definition to query
piSizenumber of feature trees contained
pppFeatureTreesfeature tree array
Returns
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_DATA_STRUCT_NULL
A3D_ERROR
A3D_INVALID_LICENSE
A3D_SUCCESS.
A3DEEntityType
Enumerations for Entity Types This enumeration defines a unique type for each PRC entity defined in t...
Definition: A3DSDKTypes.h:153
A3DStatus A3DAsmProductOccurrenceGet(const A3DAsmProductOccurrence *pProductOccurrence, A3DAsmProductOccurrenceData *pData)
Populates the A3DAsmProductOccurrenceData structure.
#define A3D_INITIALIZE_DATA(MAC_TYPE, MAC_VALUE)
Definition: A3DSDKInitializeFunctions.h:31
A structure specifying product occurrence data.
Definition: A3DSDKStructure.h:387
@ kA3DTypeRiSet
Definition: A3DSDKTypes.h:204
@ kA3DFRMEnumValue_CadType_Hole
Definition: A3DSDKFeatureEnums.h:404
A3DStatus A3DEntityGetType(const A3DEntity *pEntity, A3DEEntityType *peEntityType)
Gets the actual type of the entity.
A3DUns32 m_uiFeatureBasedEntitiesSize
Definition: A3DSDKStructure.h:430
unsigned int A3DUns32
Definition: A3DSDKTypes.h:47
void A3DFRMFeature
Definition: A3DSDKTypes.h:827
Feature tree data Populates the A3DFRMFeatureTreeData structure.
Definition: A3DSDKFeature.h:412
A3DStatus A3DFRMFeatureTreeGet(const A3DFRMFeatureTree *pTree, A3DFRMFeatureTreeData *pData)
Populates the A3DFRMFeatureTreeData structure.
@ A3D_SUCCESS
Definition: A3DSDKErrorCodes.h:85
A3DStatus A3DFRMGetSpecificNodes(const A3DFRMFeatureTree *pTree, EA3DFRMEnumValue_CadType eCADType, A3DUns32 *piSize, A3DFRMFeature ***pppFeatureNodes)
Build a List of Features corresponding to a node with specific CAD type.
A3DFRMFeatureTree ** m_ppFeatureBasedEntities
Definition: A3DSDKStructure.h:431