A3DSDKStructure.h

Header file for the structure module.

Author

Tech Soft 3D

Version

23.0

Date

January 2023

Copyright (c) 2010 - 2023 by Tech Soft 3D, Inc. All rights reserved.

Content

Data Structures

A3DAsmModelFileData

ModelFile structure.

A3DMaterialAndVisualisationInfos

A structure to store material, visibility, suppressed, etc…

A3DViewMaterialAndVisualisationInfos

A structure to store a list of MaterialAndVisualisationInfos, applied by a view.

A3DAsmProductOccurrenceData

A structure specifying product occurrence data.

A3DAsmAttachmentsInfosSLW

A structure specifying assembly attachments infos specific to SolidWorks format.

A3DAsmProductOccurrenceDataSLW

A structure specifying product occurrence data specific to SolidWorks format.

A3DAsmProductOccurrenceDataCat

A structure specifying product occurrence data specific to Catia format.

A3DAsmProductOccurrenceDataCV5

A structure specifying product occurrence data specific to CV5 format.

A3DPromotedBodyUg

A structure specifying Promoted Bodies Ids for Ug Format.

A3DElementsByRefsetUg

A structure specifying a List of Elements Ids associated to a refset, for Ug Format.

A3DAsmProductOccurrenceDataUg

A structure specifying product occurrence data specific to Ug format.

A3DAsmProductOccurrenceDataProe

A structure specifying product occurrence data specific to CV5 format.

A3DAsmProductOccurrenceDataInv

A structure specifying product occurrence data specific to Inventor format.

A3DAsmProductOccurrenceDataJT

A structure specifying product occurrence data specific to JT format.

A3DAsmLayer

A structure describing a layer.

A3DAsmPartDefinitionData

A structure that specifies the part definition data.

A3DAsmLayerFilterItemData

A structure that specifies the layers to consider in a layer filter.

A3DAsmEntityFilterItemData

A structure that specifies the entities to consider in an entity filter.

A3DAsmFilterData

A structure that specifies entity and layer-filtering characteristics.

Functions

A3DAsmModelFileGet()

Populates the A3DAsmModelFileData structure.

A3DAsmModelFileCreate()

Creates a new A3DAsmModelFile using the data in the given A3DAsmModelFileData structure.

A3DAsmModelFileDelete()

Deletes the entire A3DAsmModelFile entity from memory.

A3DAsmModelFileUnloadParts()

Removes all tessellation and geometry of an A3DAsmProductOccurrence entity This can only be done on parts.

A3DAsmModelFileGetUnit()

Gives the unit of the model.

A3DUnitGetFromValue()

Gives the unit from of the model.

A3DUnitGetFromEnum()

Gives the unit of the model.

A3DAsmProductOccurrenceGet()

Populates the A3DAsmProductOccurrenceData structure.

A3DAsmProductOccurrenceCreate()

Creates an A3DAsmProductOccurrence from A3DAsmProductOccurrenceData structure.

A3DAsmProductOccurrenceSetProductPrototype()

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

A3DAsmProductOccurrenceUnload()

Removes all tessellation and geometry of an A3DAsmProductOccurrence entity.

A3DAsmProductOccurrenceGetFilePathName()

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

A3DAsmProductOccurrenceGetOriginalFilePathName()

Returns the original file name stored in the CAD file.

A3DAsmProductOccurrenceAddView()

Adds a view in the Array of views.

A3DAsmProductOccurrenceEdit()

Allows to modify some data of a product occurrence.

A3DAsmProductOccurrenceDeepCopy()

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

A3DAsmProductOccurrenceGetFather()

Get the father of a product occurrence.

A3DAsmProductOccurrenceGetSLW()

Populates the A3DAsmProductOccurrenceDataSLW structure.

A3DAsmProductOccurrenceGetCat()

Populates the A3DAsmProductOccurrenceDataCat structure.

A3DAsmProductOccurrenceGetCV5()

Populates the A3DAsmProductOccurrenceDataCV5 structure.

A3DAsmProductOccurrenceGetUg()

Populates the A3DAsmProductOccurrenceDataUg structure.

A3DAsmProductOccurrenceGetProe()

Populates the A3DAsmProductOccurrenceDataProe structure.

A3DAsmProductOccurrenceGetInv()

Populates the A3DAsmProductOccurrenceDataInv structure.

A3DAsmProductOccurrenceGetJT()

Populates the A3DAsmProductOccurrenceDataJT structure.

A3DAsmProductOccurrenceGetLayerList()

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

A3DAsmProductOccurrenceGetIdentifier()

Combine Part ID and Occurrence identifier.

A3DAsmPartDefinitionGet()

Populates an A3DAsmPartDefinitionData structure.

A3DAsmPartDefinitionCreate()

Creates an A3DAsmPartDefinition entity from an A3DAsmPartDefinitionData structure.

A3DDrawingGetReferencesList()

Get the list of reference files present on drawing.

A3DAsmPartDefinitionAddView()

Adds a view in the Array of views.

A3DAsmPartDefinitionEdit()

Allows to modify some data of a part definition.

A3DAsmFilterGet()

Populates the A3DAsmFilterData structure with data from an A3DAsmFilter entity.

A3DAsmFilterCreate()

Creates an A3DAsmFilter entity from an A3DAsmFilterData structure.

A3DAsmGetFixedComponents()

Builds a list of the components which are rigidly connected to an owner.

A3DAsmGetFixedTogetherComponents()

Given a base product occurrence, builds a set of arrays of rigidly linked together entities.

A3DAsmGetFlexibleComponents()

Given a base product occurrence, builds an array of flexible subnodes.

Functions

A3DStatus A3DAsmModelFileGet(const A3DAsmModelFile *pModelFile, A3DAsmModelFileData *pData)

Populates the A3DAsmModelFileData structure.

Version

2.0

Sample code
A3DInt32 iErr = A3D_SUCCESS;
A3DAsmModelFile pModel = NULL;

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

A3DAsmModelFileData sData;
A3D_INITIALIZE_DATA(sData);
iErr = A3DAsmModelFileGet( pModel , &sData );
if ( iErr == A3D_SUCCESS )
{
    /* Insert here your own code to parse through members of Model File */
    for (A3DUns32 ui=0;ui<sData.m_uiPOccurrencesSize;ui++)
    {
        /* current product occurrence is sData.m_ppPOccurrences[ui] */
    }
    iErr = A3DAsmModelFileGet( NULL, &sData );
}

Parameters
Return values
  • A3D_INITIALIZE_NOT_CALLED

  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_MODELFILE_INCONSISTENT_EMPTY

  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DAsmModelFileCreate(const A3DAsmModelFileData *pData, A3DAsmModelFile **ppModelFile)

Creates a new A3DAsmModelFile using the data in the given A3DAsmModelFileData structure.

By creating a model file, you are responsible of deleting it later with A3DAsmModelFileDelete.

The new model file must have a root product occurrence. If the input data doesn’t contain any, A3DAsmModelFileCreate will implicitly create one. This new product occurrence can be retrieved back on calling A3DAsmModelFileGet with ppModelFile.

Version

2.0

Parameters
  • pData[in] The data used to create the model file.

  • ppModelFile[out] a handle to the newly created model file.

Return values
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DAsmModelFileDelete(A3DAsmModelFile *pModelFile)

Deletes the entire A3DAsmModelFile entity from memory.

This operation will recursively delete all entities inside the model file, thus deleting the whole PRC tree. This function is responsible for freeing the all memory allocated for pModelFile. After this call, access to the model file is no longer possible, and pModelFile is invalid.

See A3DEntityDelete for a more generic approach.

Remark

This function is only applicable to a model file.

Version

2.0

Warning

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

Return values
  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DAsmModelFileUnloadParts(A3DAsmModelFile *pModelFile, A3DUns32 uiPartsSize, A3DAsmProductOccurrence **ppParts)

Removes all tessellation and geometry of an A3DAsmProductOccurrence entity This can only be done on parts.

Version

9.1

Parameters
  • pModelFile – The model file

  • uiPartsSize – Size of input array.

  • ppParts – Array of parts to unload.

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 in case of success or an error code

A3DStatus A3DAsmModelFileGetUnit(const A3DAsmModelFile *pModelFile, A3DDouble *pdUnit)

Gives the unit of the model.

Version

12.0

Parameters
  • pModelFile – A reference to the model file, which is created by invoking A3DAsmModelFileLoadFromFile

  • pdUnit – A reference to the unit value

Return values
  • A3D_INITIALIZE_NOT_CALLED

  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

  • A3D_ERROR

Returns

A3D_SUCCESS in case of success or an error code

A3DEUnits A3DUnitGetFromValue(A3DDouble dUnit)

Gives the unit from of the model.

Version

14.1

Parameters

dUnit – A unit value (in millimeter)

Returns

A3DEUnits

A3DDouble A3DUnitGetFromEnum(A3DEUnits eUnit)

Gives the unit of the model.

Version

14.1

Parameters

eUnit – A unit enum

Returns

A3DDouble scale to the unit in millimeter. If eUnit is set to kA3DUnitUnknown, the function return 1.0

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 in case of success or an error code

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 in case of success or an error code

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 in case of success or an error code

A3DStatus A3DAsmProductOccurrenceUnload(A3DAsmProductOccurrence *pProductOccurrence)

Removes all tessellation and geometry of an A3DAsmProductOccurrence entity.

Deprecated:

Use A3DAsmModelFileUnloadParts

Version

3.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 in case of success or an error code

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

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

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.

Version

4.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 in case of success or an error code

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

Returns the original file name stored in the CAD file.

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.

Version

8.2

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 in case of success or an error code

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 in case of success or an error code

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

Allows to modify some data of a product occurrence.

Version

5.1

Warning

This function must not be applied within an 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 in case of success or an error code

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 in case of success or an error code

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

Return values
  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_ERROR

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

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 in case of success or an error code

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 in case of success or an error code

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 in case of success or an error code

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 in case of success or an error code

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 in case of success or an error code

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 in case of success or an error code

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 in case of success or an error code

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 in case of success or an error code

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 in case of success or an error code

A3DStatus A3DAsmPartDefinitionGet(const A3DAsmPartDefinition *pPartDefinition, A3DAsmPartDefinitionData *pData)

Populates an A3DAsmPartDefinitionData structure.

Version

2.0

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 in case of success or an error code

A3DStatus A3DAsmPartDefinitionCreate(const A3DAsmPartDefinitionData *pData, A3DAsmPartDefinition **ppPartDefinition)

Creates an A3DAsmPartDefinition entity from an A3DAsmPartDefinitionData structure.

Version

2.0

Return values
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_PARTDEFINITION_INCONSISTENT_EMPTY

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DDrawingGetReferencesList(const A3DAsmPartDefinition *pPartDefinition, A3DUns32 *puiNumberOfFilePaths, A3DUTF8Char ***pppcSrcFilePaths)

Get the list of reference files present on drawing.

Version

2.0

Return values
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DAsmPartDefinitionAddView(A3DAsmPartDefinition *pPartDefinition, A3DMkpView *pView)

Adds a view in the Array of views.

Version

4.1

Warning

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

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 in case of success or an error code

A3DStatus A3DAsmPartDefinitionEdit(const A3DAsmPartDefinitionData *pData, A3DAsmPartDefinition *pPartDefinition)

Allows to modify some data of a part definition.

Version

5.1

Warning

This function must not be applied within an 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 in case of success or an error code

A3DStatus A3DAsmFilterGet(const A3DAsmFilter *pFilter, A3DAsmFilterData *pData)

Populates the A3DAsmFilterData structure with data from an A3DAsmFilter entity.

Version

2.0

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 in case of success or an error code

A3DStatus A3DAsmFilterCreate(const A3DAsmFilterData *pData, A3DAsmFilter **ppFilter)

Creates an A3DAsmFilter entity from an A3DAsmFilterData structure.

Version

2.0

Return values
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_PARTDEFINITION_INCONSISTENT_EMPTY

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DAsmGetFixedComponents(const A3DAsmProductOccurrence *pOwnerNode, A3DUns32 *puiNumberOfFixedSubNodes, A3DAsmProductOccurrence ***pppFixedSubNodes)

Builds a list of the components which are rigidly connected to an owner.

Version

11.2

Parameters
  • pOwnerNode – The base Product Occurrence the resulting list in built on.

  • puiNumberOfFixedSubNodes – The size pppFixedSubNodes

  • pppFixedSubNodes – The resulting array.

Return values
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DAsmGetFixedTogetherComponents(const A3DAsmProductOccurrence *pOwnerNode, A3DUns32 *ppuiSizeCount, A3DUns32 **ppuiSizeArray, A3DAsmProductOccurrence ***pppFixedTogetherNodes)

Given a base product occurrence, builds a set of arrays of rigidly linked together entities.

Version

11.2

Parameters
  • pOwnerNode – The base Product Occurrence the resulting list in built on.

  • ppuiSizeCount – The size of ppuiSizeArray and pppFixedTogetherNodes

  • ppuiSizeArray – The size of each element of pppFixedTogetherNodes

  • pppFixedTogetherNodes – An array of arrays. Each internal array is a group of components linked together.

Return values
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_SUCCESS.

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DAsmGetFlexibleComponents(const A3DAsmProductOccurrence *pOwnerNode, A3DUns32 *puiNumberOfFlexibleSubNodes, A3DAsmProductOccurrence ***pppFlexibleSubNodes)

Given a base product occurrence, builds an array of flexible subnodes.

Version

11.2

Parameters
  • pOwnerNode – The base Product Occurrence the resulting list in built on.

  • puiNumberOfFlexibleSubNodes – The size pppFlexibleSubNodes

  • pppFlexibleSubNodes – The resulting array.

Return values
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code