A structure specifying product occurrence data. More...
Detailed Description
A structure specifying product occurrence data.
Global concepts definitions:
- ModelFile: this is the top level of the assembly tree
- ProductOccurrences: these are the intermediate nodes of the assembly tree. Each ProductOccurrence can hold a PartDefinition (see below), several ProductOccurrences as sons, a Prototype (see below) or an ExternalData (see below). Each one can carry its own unit.
- Prototype: special case for a ProductOccurrence. A Prototype is a sub-assembly that might be modified outside the Modelfile. For instance, a CATProduct or a CATPart being referenced by a Catia V5 assembly will be loaded as a Prototype, for the related physical file might change during design process. The whole internal hierarchy of this "file" can be explored from the Modelfile, as it was a classical ProductOccurrence, but any modification inside this sub-assembly will lead to an update of the whole Modelfile, in order to reference proper entities.
- ExternalData: special case for a ProductOccurrence. an ExternalData is a sub-assembly that cannot be "managed" from the Modelfile. The corresponding Partdefinitions cannot be modified (color, visibility, position, etc.). For instance, this can be a IGES file being embedded in a CATproduct.
- PartDefinition: this is the terminal level of an assembly. No "organized" hierachy can be defined below that level. Only groups (refer to A3DRiSet definition) might be referenced as unorganized groups. A Partdefinition must be referenced in a Modelfile via a ProductOccurrence. Conversely, any terminal ProductOccurrence of a fully loaded Modelfile must refereence a PartDefinition.
A product occurrence can have the following data:
- PartDefinition: Pointer to the corresponding part definition. Can be NULL. See above.
- ProductPrototype: Pointer to the corresponding product occurrence prototype. Can be NULL. See above.
- ExternalData: Pointer to the corresponding external product occurrence. Can be NULL. See above.
- Sons: Array of pointers to the son product occurrences. See above.
- Location: Relative placement of the product occurrence in the father local coordinate system. Can be NULL.
When applications interpret an assembly that uses subassemblies, they resolve links in the product prototype and external data entities and import the content described by those links. That is, those entities are resolved in the same way that software macros are resolved.
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.
The following pseudocode demonstrates how to get the part definition of a product occurrence.
The following pseudocode demonstrates how to get the location of a product occurrence.
- Note
- In case of multi-units assemblies, the unit must be applied to the matrix of the transformations.
Field Documentation
◆ m_uiPOccurrencesSize
A3DUns32 A3DAsmProductOccurrenceData::m_uiPOccurrencesSize |
The size of m_ppPOccurrences.
◆ m_ppPOccurrences
A3DAsmProductOccurrence** A3DAsmProductOccurrenceData::m_ppPOccurrences |
Array of A3DAsmProductOccurrence references.
◆ m_pPart
A3DAsmPartDefinition* A3DAsmProductOccurrenceData::m_pPart |
Pointer to an A3DAsmPartDefinition entity. May be NULL.
◆ m_pPrototype
A3DAsmProductOccurrence* A3DAsmProductOccurrenceData::m_pPrototype |
Pointer to a product prototype. May be NULL.
◆ m_pExternalData
A3DAsmProductOccurrence* A3DAsmProductOccurrenceData::m_pExternalData |
Pointer to a external data product. May be NULL.
◆ m_ucBehaviour
A3DUns8 A3DAsmProductOccurrenceData::m_ucBehaviour |
For a future use
◆ m_pLocation
A3DMiscTransformation* A3DAsmProductOccurrenceData::m_pLocation |
Pointer to an A3DMiscCartesianTransformation or A3DMiscGeneralTransformation entity. May be NULL.
◆ m_uiEntityReferenceSize
A3DUns32 A3DAsmProductOccurrenceData::m_uiEntityReferenceSize |
The size of m_ppEntityReferences.
◆ m_ppEntityReferences
A3DMiscEntityReference** A3DAsmProductOccurrenceData::m_ppEntityReferences |
Entity references.
◆ m_uiAnnotationsSize
A3DUns32 A3DAsmProductOccurrenceData::m_uiAnnotationsSize |
The size of m_ppAnnotations.
◆ m_ppAnnotations
A3DMkpAnnotationEntity** A3DAsmProductOccurrenceData::m_ppAnnotations |
Annotation entities stored under the current product occurrence.
◆ m_uiViewsSize
◆ m_ppViews
A3DMkpView** A3DAsmProductOccurrenceData::m_ppViews |
Views stored under the current product occurrence.
◆ m_pEntityFilter
A3DAsmFilter* A3DAsmProductOccurrenceData::m_pEntityFilter |
Array of A3DAsmFilter
references on entities that are kept by the occurrence.
◆ m_uiDisplayFilterSize
A3DUns32 A3DAsmProductOccurrenceData::m_uiDisplayFilterSize |
The size of m_ppDisplayFilters.
◆ m_ppDisplayFilters
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.
◆ m_uiSceneDisplayParameterSize
A3DUns32 A3DAsmProductOccurrenceData::m_uiSceneDisplayParameterSize |
The size of m_psSceneDisplayParameters.
◆ m_psSceneDisplayParameters
A3DGraphSceneDisplayParametersData* A3DAsmProductOccurrenceData::m_psSceneDisplayParameters |
Array of SceneDisplayParameters.
◆ m_eProductLoadStatus
A3DEProductLoadStatus A3DAsmProductOccurrenceData::m_eProductLoadStatus |
Current load status for the ProductOccurrence, where values are defined by the A3DEProductLoadStatus enum.
- Version
- 2.1
◆ m_uiProductFlags
A3DUns32 A3DAsmProductOccurrenceData::m_uiProductFlags |
Refer to Bit field flag definitions for product occurrences for explanations
- Version
- 2.1
◆ m_bUnitFromCAD
A3DBool A3DAsmProductOccurrenceData::m_bUnitFromCAD |
Indicates whether m_dUnit (below) was obtained from the native CAD file.
- Version
- 2.1
◆ m_dUnit
A3DDouble A3DAsmProductOccurrenceData::m_dUnit |
Unit.
- Version
- 2.1
◆ m_dDensityVolumeUnit
A3DDouble A3DAsmProductOccurrenceData::m_dDensityVolumeUnit |
Volume unit used for the physical material density. 1.0 refers to meter cube
◆ m_dDensityMassUnit
A3DDouble A3DAsmProductOccurrenceData::m_dDensityMassUnit |
Mass unit used for the physical material density. 1.0 refers to kilogram
◆ m_eModellerType
A3DEModellerType A3DAsmProductOccurrenceData::m_eModellerType |
The Modeller used to create the Model. Used only in Get method.
◆ m_bInactivateAnnotations
A3DBool A3DAsmProductOccurrenceData::m_bInactivateAnnotations |
If set to true, annotations are defined but inactivated in the product.
- Version
- 7.0
◆ m_uiMaterialAndVisualisationSetupSize
A3DUns32 A3DAsmProductOccurrenceData::m_uiMaterialAndVisualisationSetupSize |
The size of m_psMaterialAndVisualisationSetup.
◆ m_psMaterialAndVisualisationSetup
A3DMaterialAndVisualisationInfos* A3DAsmProductOccurrenceData::m_psMaterialAndVisualisationSetup |
MaterialAndVisualisation Informations to apply in the assembly tree, modify by assembly.
◆ m_uiCameraSize
A3DUns32 A3DAsmProductOccurrenceData::m_uiCameraSize |
The size of m_ppCamera.
◆ m_ppCamera
A3DGraphCamera** A3DAsmProductOccurrenceData::m_ppCamera |
Array of camera. This camera are referenced in the scene display parameters and the views of this Product occurence.
- Version
- 11.1
◆ m_uiFeatureBasedEntitiesSize
A3DUns32 A3DAsmProductOccurrenceData::m_uiFeatureBasedEntitiesSize |
The size of m_ppFeatureBasedEntities.
◆ m_ppFeatureBasedEntities
A3DFRMFeatureTree** A3DAsmProductOccurrenceData::m_ppFeatureBasedEntities |
Feature based entity, contains all information of feature
◆ m_uiContraintsSize
A3DUns32 A3DAsmProductOccurrenceData::m_uiContraintsSize |
The size of m_ppConstraints.
- Version
- 14.0
◆ m_ppConstraints
A3DAsmConstraint** A3DAsmProductOccurrenceData::m_ppConstraints |
List of the constraints define in this assembly
- Version
- 14.0