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.

frm_tree.png

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 

No mode

kA3DFRMEnumValue_ModeType_Cut 

Cut mode

kA3DFRMEnumValue_ModeType_CutOut 

CutOut mode

kA3DFRMEnumValue_ModeType_Surface 

Surface mode

kA3DFRMEnumValue_ModeType_SurfaceCappedEnds 

Surface with capped ends mode

kA3DFRMEnumValue_ModeType_PatternGeometry 

Pattern geometry mode

kA3DFRMEnumValue_ModeType_Symbolic 

Symbolic mode

Function Documentation

◆ A3DFRMFeatureTreeGet()

A3DStatus A3DFRMFeatureTreeGet ( const A3DFRMFeatureTree pTree,
A3DFRMFeatureTreeData pData 
)

Populates the A3DFRMFeatureTreeData structure.

Version
10.2
Returns
A3D_SUCCESS in case of success or an error code
Return values
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
[in]pTreeThe feature tree to query features from.
[in]eCADTypeCAD type of feature (Hole, Pattern, ...).
[out]piSizeThe number of feature founds. Corresponds to the size of pppFeatureNodes.
[out]pppFeatureNodesAn array of size piSize containing the found features (Hole, Pattern, ...).
Returns
A3D_SUCCESS in case of success or an error code
Return values
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
puiSizenumber of feature trees contained
pppFeatureTreesfeature tree array
Returns
A3D_SUCCESS in case of success or an error code
Return values
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_DATA_STRUCT_NULL
A3D_ERROR
A3D_INVALID_LICENSE
A3D_SUCCESS