< Home

< Programming Guide

< Supported File Formats

REFERENCE MANUAL

Data Fields
A3DAsmProductOccurrenceData Struct Reference

A structure specifying product occurrence data. More...

Data Fields

A3DUns16 m_usStructSize
 
A3DUns32 m_uiPOccurrencesSize
 
A3DAsmProductOccurrence ** m_ppPOccurrences
 
A3DAsmPartDefinitionm_pPart
 
A3DAsmProductOccurrencem_pPrototype
 
A3DAsmProductOccurrencem_pExternalData
 
A3DUns8 m_ucBehaviour
 
A3DMiscTransformationm_pLocation
 
A3DUns32 m_uiEntityReferenceSize
 
A3DMiscEntityReference ** m_ppEntityReferences
 
A3DUns32 m_uiAnnotationsSize
 
A3DMkpAnnotationEntity ** m_ppAnnotations
 
A3DUns32 m_uiViewsSize
 
A3DMkpView ** m_ppViews
 
A3DAsmFilterm_pEntityFilter
 
A3DUns32 m_uiDisplayFilterSize
 
A3DAsmFilter ** m_ppDisplayFilters
 
A3DUns32 m_uiSceneDisplayParameterSize
 
A3DGraphSceneDisplayParametersDatam_psSceneDisplayParameters
 
A3DEProductLoadStatus m_eProductLoadStatus
 
A3DUns32 m_uiProductFlags
 
A3DBool m_bUnitFromCAD
 
A3DDouble m_dUnit
 
A3DEModellerType m_eModellerType
 
A3DBool m_bInactivateAnnotations
 

Detailed Description

A structure specifying product occurrence data.

Global concepts definitions:

A product occurrence can have the following data:

In addition to the data described in the A3DAsmProductOccurrenceData structure, an A3DAsmProductOccurrence entity can have attributes specified through the A3DRootBase and A3DMiscCascadedAttributes entities.

For version 2.1, new fields were added to the end of this structure. These new fields are identified with the tag "version 2.1."

Version
2.0
Sample code

The following pseudocode demonstrates how to get the external data of a product occurrence.

POccurrence* function GetExternalData(POccurrence* pocc)
{
If pocc->pExternalData is null and pocc->pPrototype is not null
Return GetExternalData(pocc->pPrototype)
Else
Return pocc->pExternalData
}

The following pseudocode demonstrates how to get the part definition of a product occurrence.

POccurrence* GetPart(POccurrence* pocc)
{
If pocc->pPart is not null
Return pocc->pPart
POccurrence* po = pocc->pPrototype
While po is not null
If po->pPart is not null
Return po->pPart
Else
po = po->pPrototype
If pocc->uiPOccurrencesSize = 0 and GetExternalData(pocc) is not null
Return GetExternalData(pocc)->pPart
Return null
}

The following pseudocode demonstrates how to get the location of a product occurrence.

CartesianTransfo* GetLocation(POccurrence* pocc)
{
If GetExternalData(pocc) is not null
If GetExternalData(pocc)->pLocation is not null
Return GetExternalData(pocc)->pLocation
If pocc->pLocation is null and pocc->pPrototype is not null
Return GetLocation(pocc->pPrototype)
Return pocc->pLocation
}
Note
In case of multi-units assemblies, the unit must be applied to the matrix of the transformations.

Field Documentation

A3DUns16 A3DAsmProductOccurrenceData::m_usStructSize

Reserved; must be initialized by A3D_INITIALIZE_DATA.

A3DUns32 A3DAsmProductOccurrenceData::m_uiPOccurrencesSize

Number of product occurrences in next array.

A3DAsmProductOccurrence** A3DAsmProductOccurrenceData::m_ppPOccurrences

Array of A3DAsmProductOccurrence references.

A3DAsmPartDefinition* A3DAsmProductOccurrenceData::m_pPart

Pointer to an A3DAsmPartDefinition entity. May be NULL.

A3DAsmProductOccurrence* A3DAsmProductOccurrenceData::m_pPrototype

Pointer to a product prototype. May be NULL.

A3DAsmProductOccurrence* A3DAsmProductOccurrenceData::m_pExternalData

Pointer to a external data product. May be NULL.

A3DUns8 A3DAsmProductOccurrenceData::m_ucBehaviour

Reserved for future use.

A3DMiscTransformation* A3DAsmProductOccurrenceData::m_pLocation

Pointer to an A3DMiscCartesianTransformation or A3DMiscGeneralTransformation entity. May be NULL.

A3DUns32 A3DAsmProductOccurrenceData::m_uiEntityReferenceSize

Size of next array.

A3DMiscEntityReference** A3DAsmProductOccurrenceData::m_ppEntityReferences

Entity references.

A3DUns32 A3DAsmProductOccurrenceData::m_uiAnnotationsSize

Size of next array.

A3DMkpAnnotationEntity** A3DAsmProductOccurrenceData::m_ppAnnotations

Annotation entities stored under the current product occurrence.

A3DUns32 A3DAsmProductOccurrenceData::m_uiViewsSize

Size of next array.

A3DMkpView** A3DAsmProductOccurrenceData::m_ppViews

Views stored under the current product occurrence.

A3DAsmFilter* A3DAsmProductOccurrenceData::m_pEntityFilter

Array of A3DAsmFilter references on entities that are kept by the occurrence.

A3DUns32 A3DAsmProductOccurrenceData::m_uiDisplayFilterSize

Size of next array.

A3DAsmFilter** A3DAsmProductOccurrenceData::m_ppDisplayFilters

Array of Filter references that specify the filters to use for display. Several filters can be specified but only one is active.

A3DUns32 A3DAsmProductOccurrenceData::m_uiSceneDisplayParameterSize

Size of next array.

A3DGraphSceneDisplayParametersData* A3DAsmProductOccurrenceData::m_psSceneDisplayParameters

Array of SceneDisplayParameters. Reserved for future use.

A3DEProductLoadStatus A3DAsmProductOccurrenceData::m_eProductLoadStatus

Current load status for the ProductOccurrence, where values are defined by the A3DEProductLoadStatus enum.

Version
2.1
A3DUns32 A3DAsmProductOccurrenceData::m_uiProductFlags

Refer to Bit field flag definitions for product occurrences for explanations

Version
2.1
A3DBool A3DAsmProductOccurrenceData::m_bUnitFromCAD

Indicates whether m_dUnit (below) was obtained from the native CAD file.

Version
2.1
A3DDouble A3DAsmProductOccurrenceData::m_dUnit

Unit.

Version
2.1
A3DEModellerType A3DAsmProductOccurrenceData::m_eModellerType

The Modeller used to create the Model. Used only in Get method.

A3DBool A3DAsmProductOccurrenceData::m_bInactivateAnnotations

If set to true, annotations are defined but inactivated in the product.

Version
7.0