Product Occurrence

Types

A3DMaterialAndVisualisationInfos

A3DViewMaterialAndVisualisationInfos

A3DAsmProductOccurrenceData

A3DAsmAttachmentsInfosSLW

A3DAsmProductOccurrenceDataSLW

A3DAsmProductOccurrenceDataCat

A3DAsmProductOccurrenceDataCV5

A3DPromotedBodyUg

A3DElementsByRefsetUg

A3DAsmProductOccurrenceDataUg

A3DAsmProductOccurrenceDataProe

A3DAsmProductOccurrenceDataInv

A3DAsmProductOccurrenceDataJT

A3DAsmLayer

A3DEProductLoadStatus

A3DEProductOccurrenceTypeCat

A3DEProductOccurrenceTypeInv

A3DEProductOccurrenceTypeSLW

A3DELayerDisplayStatus

Fields

kA3DProductLoadStatusUnknown

kA3DProductLoadStatusError

kA3DProductLoadStatusNotLoaded

kA3DProductLoadStatusNotLoadable

kA3DProductLoadStatusLoaded

A3DEProductOccurrenceTypeCat_unknown

A3DEProductOccurrenceTypeCat_model

A3DEProductOccurrenceTypeCat_sessionModel

A3DEProductOccurrenceTypeCat_session

A3DEProductOccurrenceTypeCat_export

A3DEProductOccurrenceTypeInv_none

A3DEProductOccurrenceTypeInv_iam

A3DEProductOccurrenceTypeInv_ipt

A3DEProductOccurrenceTypeSLW_ContainerTess

A3DEProductOccurrenceTypeSLW_Container

A3DEProductOccurrenceTypeSLW_Part

A3DEProductOccurrenceTypeSLW_Assembly

A3DEProductOccurrenceTypeSLW_Drawing

A3DEProductOccurrenceTypeSLW_Unknown

A3DEProductOccurrenceTypeSLW_PartTesselated

A3DEProductOccurrenceTypeSLW_AssemblyTesselated

A3DEProductOccurrenceTypeSLW_StandalonePart

kA3DLayerDisplayShow

kA3DLayerDisplayHide

kA3DLayerDisplayIsolate

kA3DLayerDisplayUnknown

A3DStatus A3DAsmProductOccurrenceUnload

param

Functions

A3DStatus

A3DAsmProductOccurrenceGet

A3DStatus

A3DAsmProductOccurrenceCreate

A3DStatus

A3DAsmProductOccurrenceSetProductPrototype

A3DStatus

A3DAsmProductOccurrenceGetFilePathName

A3DStatus

A3DAsmProductOccurrenceGetOriginalFilePathName

A3DStatus

A3DAsmProductOccurrenceAddView

A3DStatus

A3DAsmProductOccurrenceEdit

A3DStatus

A3DAsmProductOccurrenceDeepCopy

A3DStatus

A3DAsmProductOccurrenceGetFather

A3DStatus

A3DAsmProductOccurrenceGetSLW

A3DStatus

A3DAsmProductOccurrenceGetCat

A3DStatus

A3DAsmProductOccurrenceGetCV5

A3DStatus

A3DAsmProductOccurrenceGetUg

A3DStatus

A3DAsmProductOccurrenceGetProe

A3DStatus

A3DAsmProductOccurrenceGetInv

A3DStatus

A3DAsmProductOccurrenceGetJT

A3DStatus

A3DAsmProductOccurrenceGetLayerList

A3DStatus

A3DAsmProductOccurrenceGetIdentifier

Detailed Description

group a3d_productoccurrence

Creates and accesses product occurrence PRC entities.

A product occurrence denotes an assembly tree. If the assembly tree contains a single part, the product occurrence points directly to a part definition. In the case of a more complex assembly tree, a product occurrence is a hierarchy of child product occurrences. And a product occurrence can reference product occurrences that are designated as ProductPrototypes or ExternalData. Such ProductOccurrences denote subassembly structures, which in turn can point to PartDefinitions.

Entity type is kA3DTypeAsmProductOccurrence.

Type Documentation

enum A3DEProductLoadStatus

Load status of the PRC model file.

Version

2.1

Values:

enumerator kA3DProductLoadStatusUnknown

Unknown status.

enumerator kA3DProductLoadStatusError

Loading error.

For example, there is a missing file.

enumerator kA3DProductLoadStatusNotLoaded

Not loaded.

enumerator kA3DProductLoadStatusNotLoadable

Not loadable.

For example, limitations exist that prevent the product from loading.

enumerator kA3DProductLoadStatusLoaded

The product was successfully loaded.

enum A3DEProductOccurrenceTypeCat

A3DAsmProductOccurrenceData extension for CATIA V4

Version

8.2

Values:

enumerator A3DEProductOccurrenceTypeCat_unknown

Unknwon CATIA V4 type.

enumerator A3DEProductOccurrenceTypeCat_model

CATIA V4 Model.

enumerator A3DEProductOccurrenceTypeCat_sessionModel

CATIA V4 Session Model.

enumerator A3DEProductOccurrenceTypeCat_session

CATIA V4 Session.

enumerator A3DEProductOccurrenceTypeCat_export

CATIA V4 Export.

enum A3DEProductOccurrenceTypeInv

A3DAsmProductOccurrenceData extension for Inventor

Version

8.2

Values:

enumerator A3DEProductOccurrenceTypeInv_none

Unknown Inventor type.

enumerator A3DEProductOccurrenceTypeInv_iam

Inventor assembly.

enumerator A3DEProductOccurrenceTypeInv_ipt

Inventor Part.

enum A3DEProductOccurrenceTypeSLW

A3DAsmProductOccurrenceData extension for SolidWorks

Version

8.2

Values:

enumerator A3DEProductOccurrenceTypeSLW_ContainerTess

SolidWorks Container with tessellation.

enumerator A3DEProductOccurrenceTypeSLW_Container

SolidWorks Container.

enumerator A3DEProductOccurrenceTypeSLW_Part

SolidWorks Part.

enumerator A3DEProductOccurrenceTypeSLW_Assembly

SolidWorks Assembly.

enumerator A3DEProductOccurrenceTypeSLW_Drawing

SolidWorks 2D Drawing.

enumerator A3DEProductOccurrenceTypeSLW_Unknown

Unknown Solidworks type.

enumerator A3DEProductOccurrenceTypeSLW_PartTesselated

SolidWorks Part with tessellation.

enumerator A3DEProductOccurrenceTypeSLW_AssemblyTesselated

SolidWorks Assembly with tessellation.

enumerator A3DEProductOccurrenceTypeSLW_StandalonePart

SolidWorks Stand-alone Part.

enum A3DELayerDisplayStatus

Layer display status.

Version

24.5

Values:

enumerator kA3DLayerDisplayShow

Shown layer, the elements referenced by this layer are shown (note: other layers can change the visibility of these elements, it can depend of the behavior of each CAD software program).

enumerator kA3DLayerDisplayHide

Hidden layer, the elements referenced by this layer are hidden (note: other layers can change the visibility of these elements, it can depend of the behavior of each CAD software program).

enumerator kA3DLayerDisplayIsolate

Isolated layer, it means only the layers with this status are shown.

enumerator kA3DLayerDisplayUnknown

Layer display status unknown.

Field Documentation

A3DStatus A3DGetCurveAsAnalytic param

Function to get curves as analytic (line or circle) according to a certain tolerance.

delete RTF data created by A3DMkpRTFInit

Get each independent field of a RTF data.

Calculates the bounding box of the model file entity, without using any callback functions.

Draws the markup item entities, using the callbacks defined by A3DDrawInitCallbacks.

Draws the representation item entities, using the callbacks defined by A3DDrawInitCallbacks.

Draws the model file entities, using the callbacks defined by A3DDrawInitCallbacks.

Enables internal SIGSEGV handling (Linux only)

Function to compute Hidden Line Removal on a A3DAsmModelFile.

Function to project Point Cloud on BrepModel with a A3DProjectPointCloudManager.

Function to get surface as analytic according to a certain tolerance.

Function to get curves as analytic (line or circle) according to a certain tolerance Try to use UV curves from Edges if exist, otherwise use 3D Curves.

Use A3DEntityDelete to delete the analytic curve after using it.

Deprecated:

Use A3DSimplifyCurveWithAnalytics instead. This will be removed in version 2026.1.0.

Use A3DEntityDelete to delete the analytic curve after using it.
Deprecated:

use A3DSimplifyCurveWithAnalyticsFromCoEdge instead. This will be removed in version 2026.1.0.

Use A3DEntityDelete to delete the analytic surface after using it. Recognized surface type are: Conic Surface Cylindrical Surface Plane Surface Spherical Surface Toric Surface
Deprecated:

use A3DSimplifySurfaceWithAnalytics instead. This will be removed in version 2026.1.0.

Version

5.0

Version

5.0

Version

5.0

Deprecated:

use A3DProjectPointCloud3 instead. This will be removed in version 2026.1.0.

Version

8.1

Memory Management

In case of success, ppProjectedPointCloud contains heap allocated memory you are responsible for. To free the memory on ppProjectedPointCloud, call A3DProjectPointCloud2 by setting pManager to 0. In this case, all other parameters are ignored:

A3DProjectPointCloud2(0, 0, 0, A3D_FALSE, 0, 0.0, ppProjectedPointCloud);

Deprecated:

use A3DComputeOrthoHLROnModelFile3 instead. This will be removed in version 2026.1.0.

Call A3DComputeOrthoHLROnModelFile( NULL, pOptMrkRView, NULL, pNumberHLRData, pppHLRData) to release pppHLRData structure ( A3DCrvPolyLine was not released) Note: If the model file doesn’t contain any representation items, function returns A3D_INVALID_DATA error;
Version

8.1

Deprecated:

use A3DComputeOrthoHLROnModelFile3 instead. This will be removed in version 2026.1.0.

Version

9.0

Call A3DComputeOrthoHLROnModelFile2( NULL, NULL, NULL, pNumberHLRRepItem, pppHLRRepItem) to release pppHLRRepItem structure ( internal A3DCrvPolyLine was not released)

If pOptMrkRView is a cutting view, psSectionParametersData can be set to 0. In this case, the cutting planes within pOptMrkRView are used for the computation. Planes must to ordered and be set a profile, otherwise the function will return #A3D_TOOLS_INVALID_SECTION_PLANE.

This function activates the handling of the SIGSEGV signal on Linux. When this function is activated, SIGSEGV is handled and an exception is thrown to return A3D_EXCEPTION.

Remark

If the model file doesn’t contain any representation item, the function will return #A3D_INVALID_DATA error

Deprecated:

the default behavior has changed with 11.2 to disable the SIGSEGV handling This will be removed in version 2026.1.0.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

To set the uiDrawFlags argument, use the flags defined in Flags for Drawing Model File Entities.
Version

2.0

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

Deprecated:

The Draw module is deprecated and will be removed in version 2026.1.0.

To set the uiDrawFlags argument, use the flags defined in Flags for Drawing Model File Entities.
Version

2.0

Version

2.0

Version

2.0

Deprecated:

This function is deprecated. Please use A3DMkpRTFFieldGet instead to implement the same behaviour. This will be removed in version 2026.1.0.

Version

4.2

Deprecated:

This function is deprecated. Please use A3DMkpRTFFieldDelete instead to implement the same behaviour. This will be removed in version 2026.1.0.

Version

4.2

Warning

must be deleted by the user

Warning

If A3DProjectPointCloudManagerCreateFromRI is used to create pManager, and A3DProjectPointCloudManagerDataFromRI::m_bUseExactComputation is set to false, you can’t set bUseExactComputation to true. In this case, an A3D_INVALID_DATA error is returned.

Warning

You must call this function before A3DDllInitialize

Retval A3D_SUCCESS:

if an analytic has been created

Retval A3D_ERROR:

Retval A3D_SUCCESS:

if an analytic has been created

Retval A3D_ERROR:

Return:

A3D_SUCCESS on success, or an error code on failure

Return:

A3D_SUCCESS on success, or an error code on failure

Param pSrf:

[in] The input surface

Param dTol:

[in] Tolerance

Param pAnalyticSurface:

[out] The new analytic surface.

Param peAnalyticType:

[out] The type of analytic surface

Retval A3D_SUCCESS:

Retval A3D_INVALID_ENTITY_NULL:

Retval A3D_INVALID_ENTITY_TYPE:

Retval A3D_ERROR:

Return:

A3D_SUCCESS on success, or an error code on failure

Param pManager:

[in] A3DProjectPointCloudManager created by A3DProjectPointCloudManagerCreateFromModelFile function.

Param uPointCloudSize:

[in] Number of points in pPointCloudToProject.

Param pPointCloudToProject:

[in] Point cloud to project. This point cloud must be in the same coordinate system as the BrepData structures stored in BrepModel.

Param bUseExactComputation:

[in] Flag to use exact topology. When this flag is false, the algorithm drops the point cloud on the faceted geometry, otherwise, the exact topology is used.

Param uNbThreads:

[in] Number of threads wanted. 0 means non multi-thread. Please avoid setting a number of threads larger than the number of CPU cores.

Param dInsidePointEdgeTolerance:

[in] Tolerance used to check if projection point which is inside a face is on edge.

Param ppProjectedPointCloud:

[out] Point cloud projected.

Retval A3D_SUCCESS:

Retval A3D_INVALID_DATA_STRUCT_NULL:

Retval A3D_INVALID_DATA_STRUCT_SIZE:

Retval A3D_INVALID_ENTITY_TYPE:

Retval A3D_INVALID_DATA:

Retval A3D_ERROR:

Return:

A3D_SUCCESS on success, or an error code on failure

Param pModelFile:

[in] Model file to work on.

Param pOptMrkRView:

[in] optional A3DMkpView (cut, filter and/or move entities).

Param psHLRViewPlaneData:

[in] define a plane as a camera with orthogonal projection.

Param pNumberHLRData:

[out] Number A3DHLRRepresentationItemData.

Param pppHLRData:

[out] HLR curve result grouped by A3DRiRepresentationItem entity. pppHLRData is automatically allocated by A3DComputeOrthoHLROnModelFile.

Retval A3D_SUCCESS:

Retval A3D_INVALID_DATA_STRUCT_NULL:

Retval A3D_INVALID_DATA_STRUCT_SIZE:

Retval A3D_INVALID_ENTITY_TYPE:

Retval A3D_INVALID_DATA:

Retval A3D_ERROR:

Retval A3D_INCOMPATIBLE_FUNCTION_WITH_KEEP_PARSED_ENTITY_MODE:

Return:

A3D_SUCCESS on success, or an error code on failure

Param pModelFile:

[in] Model file to work on.

Param pOptMrkRView:

[in] optional A3DMkpView (cut, filter and/or move entities).

Param psHLRViewPlaneData:

[in] define a plane as a camera with orthogonal projection.

Param pNumberHLRRepItem:

[out] Number A3DHLRRepresentationItem.

Param pppHLRRepItem:

[out] HLR curve result grouped by A3DRiRepresentationItem entity. pppHLRRepItem is automatically allocated by A3DComputeOrthoHLROnModelFile.

Retval A3D_SUCCESS:

Retval A3D_INVALID_DATA_STRUCT_NULL:

Retval A3D_INVALID_DATA_STRUCT_SIZE:

Retval A3D_INVALID_ENTITY_TYPE:

Retval A3D_INVALID_DATA:

Retval A3D_ERROR:

Retval A3D_TOOLS_INVALID_SECTION_PLANE:

Retval A3D_INCOMPATIBLE_FUNCTION_WITH_KEEP_PARSED_ENTITY_MODE:

Return:

A3D_SUCCESS on success, or an error code on failure

Retval A3D_SUCCESS:

Retval A3D_ERROR:

if not on Linux

Return:

A3D_SUCCESS on success, or an error code on failure

Retval A3D_INITIALIZE_NOT_CALLED:

Retval A3D_INVALID_DATA_STRUCT_SIZE:

Retval A3D_INVALID_DATA_STRUCT_NULL:

Retval A3D_INVALID_ENTITY_NULL:

Retval A3D_INVALID_ENTITY_TYPE:

Retval A3D_SUCCESS:

Retval A3D_INITIALIZE_NOT_CALLED:

Retval A3D_INVALID_DATA_STRUCT_SIZE:

Retval A3D_INVALID_DATA_STRUCT_NULL:

Retval A3D_INVALID_ENTITY_NULL:

Retval A3D_INVALID_ENTITY_TYPE:

Retval A3D_SUCCESS:

Retval A3D_INITIALIZE_NOT_CALLED:

Retval A3D_INVALID_DATA_STRUCT_SIZE:

Retval A3D_INVALID_DATA_STRUCT_NULL:

Retval A3D_INVALID_ENTITY_NULL:

Retval A3D_INVALID_ENTITY_TYPE:

Retval A3D_SUCCESS:

Return:

A3D_SUCCESS on success, or an error code on failure

Return:

A3D_SUCCESS on success, or an error code on failure

Return:

A3D_SUCCESS on success, or an error code on failure

Retval A3D_INITIALIZE_NOT_CALLED:

Retval A3D_INVALID_DATA_STRUCT_SIZE:

Retval A3D_INVALID_DATA_STRUCT_NULL:

Retval A3D_INVALID_ENTITY_NULL:

Retval A3D_INVALID_ENTITY_TYPE:

Retval A3D_SUCCESS:

Return:

A3D_SUCCESS on success, or an error code on failure

Retval A3D_ERROR:

Retval A3D_SUCCESS:

Return:

A3D_SUCCESS on success, or an error code on failure

Retval A3D_ERROR:

Retval A3D_SUCCESS:

Return:

A3D_SUCCESS on success, or an error code on failure

Function Documentation

A3DStatus A3DAsmProductOccurrenceGet(const A3DAsmProductOccurrence *pProductOccurrence, A3DAsmProductOccurrenceData *pData)

Populates the A3DAsmProductOccurrenceData structure.

Version

2.0

Sample code

A3DInt32 iErr = A3D_SUCCESS;
A3DAsmProductOccurrence pOccurrence = NULL;

/* Should call something here in order to get a valid A3DAsmProductOccurrence */

A3DAsmProductOccurrenceData sData;
A3D_INITIALIZE_DATA(sData);
iErr = A3DAsmProductOccurrenceGet( pOccurrence , &sData );
if ( iErr == A3D_SUCCESS )
{
    /* Insert here your own code to parse through members of ProductOccurrence */
    iErr = A3DAsmProductOccurrenceGet( NULL, &sData );
}

Return values:
  • A3D_INITIALIZE_NOT_CALLED

  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceCreate(const A3DAsmProductOccurrenceData *pData, A3DAsmProductOccurrence **ppProductOccurrence)

Creates an A3DAsmProductOccurrence from A3DAsmProductOccurrenceData structure.

Version

2.0

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_PRODUCTOCCURRENCE_INCONSISTENT_PART_EXTERNAL

  • A3D_PRODUCTOCCURRENCE_INCONSISTENT_EMPTY

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceSetProductPrototype(A3DAsmProductOccurrence *pProductOccurrence, A3DAsmProductOccurrence *pProductPrototype)

Sets up an A3DAsmProductOccurrence entity as a prototype to another A3DAsmProductOccurrence entity.

This function sets an A3DAsmProductOccurrence entity as a prototype to another A3DAsmProductOccurrence entity, and duplicates the A3DAsmProductOccurrenceData structure.

Version

2.0

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_PRODUCTOCCURRENCE_INCONSISTENT_PART_EXTERNAL

  • A3D_PRODUCTOCCURRENCE_INCONSISTENT_EMPTY

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceGetFilePathName(const A3DAsmProductOccurrence *pProductOccurrence, A3DUTF8Char **ppcFileName)

Returns the full path name of the file associated with the product occurrence.

Version

4.0

Warning

Using this function on a product occurrence holding a prototype is not recommended, as the result is influenced by how the data is originally stored in the CAD file.

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_PRODUCTOCCURRENCE_INCONSISTENT_PART_EXTERNAL

  • A3D_PRODUCTOCCURRENCE_INCONSISTENT_EMPTY

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceGetOriginalFilePathName(const A3DAsmProductOccurrence *pProductOccurrence, A3DUTF8Char **ppcFileName)

Returns the original file name stored in the CAD file.

Version

8.2

Warning

Using this function on a product occurrence holding a prototype is not recommended, as the result is influenced by how the data is originally stored in the CAD file.

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_PRODUCTOCCURRENCE_INCONSISTENT_PART_EXTERNAL

  • A3D_PRODUCTOCCURRENCE_INCONSISTENT_EMPTY

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceAddView(A3DAsmProductOccurrence *pProductOccurrence, A3DMkpView *pView)

Adds a view in the Array of views.

Version

4.1

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_PRODUCTOCCURRENCE_INCONSISTENT_PART_EXTERNAL

  • A3D_PRODUCTOCCURRENCE_INCONSISTENT_EMPTY

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceEdit(const A3DAsmProductOccurrenceData *pData, A3DAsmProductOccurrence *pProductOccurrence)

Allows to modify some data of a product occurrence.

These fields from A3DAsmProductOccurrenceData are not supported and ignored:

  • m_eProductLoadStatus

  • m_uiProductFlags

  • m_bUnitFromCAD

  • m_dDensityVolumeUnit

  • m_dDensityMassUnit

  • m_eModellerType

  • m_bInactivateAnnotations

  • m_uiConstraintsSize

  • m_pPublicationSet

  • m_ppConstraints

The m_dUnit field from A3DAsmProductOccurrenceData is supported only for these formats:

  • CATIA V4

  • CATIA V5

  • Creo - Pro/E

  • NX

  • STEP

  • U3D

Version

5.1

Warning

This function must not be applied within a HOOPS Visualize context. See Quickstart.

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceDeepCopy(const A3DAsmProductOccurrence *pProductOccurrence, A3DAsmProductOccurrence **ppNewProductOccurrence)

Creates a new product occurrence by making a deep copy of the data.

The Copy can be processed on a member of an assembly at different levels. Here an assembly sample and the several copied product added.

The deep copy will copied all the data and create new part, for the new instances.

../_images/po_deep_copy_asm.jpg

The prototype mechanism is still present after the copy to assure the possibility to distinguish instances.

Due to his position in the tree the product occurrence of a part can reach its part definition by traversing multiple prototype. It’s the case of the product A/B1/C1/D1.

../_images/po_deep_copy_tree.jpg

After the deep clone, only last prototype is necessary,

All intermediate prototypes are removed and possible redefinition (color,

) or data (attributes) are moved to the new product member.../_images/po_deep_copy_tree_member.jpg

A/B1/C1/D1 -> B/C1/D1 -> C/D1 -> D
Becomes
Copy A/B1/C1/D1 + intermediate properties -> Copy D

Version

11.2

Return values:
  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_ERROR

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceGetFather(const A3DAsmProductOccurrence *pProductOccurrence, A3DAsmProductOccurrence **ppProductOccurrenceFather)

Get the father of a product occurrence.

The father is NULL for root product occurrences and root prototypes (i.e. prototypes with no prototype). For external data the father is the “member” product occurrence that targets it.

Version

13.0

Return values:
  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_ERROR

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceGetSLW(const A3DAsmProductOccurrence *pProductOccurrence, A3DAsmProductOccurrenceDataSLW *pData)

Populates the A3DAsmProductOccurrenceDataSLW structure.

Version

8.2

Return values:
  • A3D_INITIALIZE_NOT_CALLED

  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceGetCat(const A3DAsmProductOccurrence *pProductOccurrence, A3DAsmProductOccurrenceDataCat *pData)

Populates the A3DAsmProductOccurrenceDataCat structure.

Version

8.2

Return values:
  • A3D_INITIALIZE_NOT_CALLED

  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceGetCV5(const A3DAsmProductOccurrence *pProductOccurrence, A3DAsmProductOccurrenceDataCV5 *pData)

Populates the A3DAsmProductOccurrenceDataCV5 structure.

Version

8.2

Return values:
  • A3D_INITIALIZE_NOT_CALLED

  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceGetUg(const A3DAsmProductOccurrence *pProductOccurrence, A3DAsmProductOccurrenceDataUg *pData)

Populates the A3DAsmProductOccurrenceDataUg structure.

Version

8.2

Return values:
  • A3D_INITIALIZE_NOT_CALLED

  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceGetProe(const A3DAsmProductOccurrence *pProductOccurrence, A3DAsmProductOccurrenceDataProe *pData)

Populates the A3DAsmProductOccurrenceDataProe structure.

Version

8.2

Return values:
  • A3D_INITIALIZE_NOT_CALLED

  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceGetInv(const A3DAsmProductOccurrence *pProductOccurrence, A3DAsmProductOccurrenceDataInv *pData)

Populates the A3DAsmProductOccurrenceDataInv structure.

Version

8.2

Return values:
  • A3D_INITIALIZE_NOT_CALLED

  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceGetJT(const A3DAsmProductOccurrence *pProductOccurrence, A3DAsmProductOccurrenceDataJT *pData)

Populates the A3DAsmProductOccurrenceDataJT structure.

Version

8.2

Return values:
  • A3D_INITIALIZE_NOT_CALLED

  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceGetLayerList(const A3DAsmProductOccurrence *pProductOccurrence, A3DUns32 *piLayers, A3DAsmLayer **ppLayerArray)

Allow to get the layer name of an item from his layer defined by A3DMiscCascadedAttributesData::m_usLayer.

Version

11.1

Return values:
  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmProductOccurrenceGetIdentifier(const A3DAsmProductOccurrence *pProductOccurrence, A3DUTF8Char **ppcIdentifier)

Combine Part ID and Occurrence identifier.

Version

9.1

Return values:
  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure