A3DSDKBim.h

Detailed Description

Author
Tech Soft 3D
Version
25.4
Date
May 2025
Copyright
Copyright (c) 2010 - 2025 by Tech Soft 3D, Inc. All rights reserved.

Function Documentation

A3DStatus A3DBIMDataGet(const A3DBIMData *pDBIMData, A3DBIMDataData *pData)

Retrieves data of an A3DBIMData entity.

In case of success, the pData contains heap allocated memory your are responsible for. To free the memory on pData, call A3DBIMDataGet with pDBIMData set to 0.

Version
14.2
Memory Management

See also

A3DBIMDataData

Parameters:
  • pDBIMData[in] The BIM Data entity to get data from
  • pData[out] A pointer to the data structure to fill in
Return values:
  • A3D_SUCCESS – In case of success.
  • A3D_INITIALIZE_NOT_CALLED – if the library is not initialized.
  • A3D_INVALID_DATA_STRUCT_NULL – if pData is null
  • A3D_INVALID_DATA_STRUCT_SIZE – if pData is incorrectly initialized
  • A3D_INVALID_ENTITY_NULL – if pDBIMDatais null
  • A3D_INVALID_ENTITY_TYPE – if pdBIMData references an invalid entity type
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DBIMRelContainedInSpatialStructureGet(const A3DBIMRelContainedInSpatialStructure *pRelationship, A3DBIMRelContainedInSpatialStructureData *pData)

Retrieves the data of an A3DBIMRelContainedInSpatialStructure entity.

In case of success, the pData contains heap allocated memory your are responsible for. To free the memory on pData, call A3DBIMRelContainedInSpatialStructureGet with pRelationship set to 0.

Version
14.2
Memory Management

See also

A3DBIMDataData

Parameters:
  • pRelationship[in] The relationship entity to get data from
  • pData[out] A pointer to the data structure to fill in
Return values:
  • A3D_SUCCESS – In case of success.
  • A3D_INITIALIZE_NOT_CALLED – if the library is not initialized.
  • A3D_INVALID_DATA_STRUCT_NULL – if pData is null
  • A3D_INVALID_DATA_STRUCT_SIZE – if pData is incorrectly initialized
  • A3D_INVALID_ENTITY_NULL – if pRelationshipis null
  • A3D_INVALID_ENTITY_TYPE – if pRelationship references an invalid entity type
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DBIMRelFillsElementGet(const A3DBIMRelFillsElement *pRelationship, A3DBIMRelFillsElementData *pData)

Retrieves the data of an A3DBIMRelFillsElement entity.

In case of success, the pData contains heap allocated memory your are responsible for. To free the memory on pData, call A3DBIMRelFillsElementGet with pRelationship set to 0.

Version
14.2
Memory Management

See also

A3DBIMDataData

Parameters:
  • pRelationship[in] The relationship entity to get data from
  • pData[out] A pointer to the data structure to fill in
Return values:
  • A3D_SUCCESS – In case of success.
  • A3D_INITIALIZE_NOT_CALLED – if the library is not initialized.
  • A3D_INVALID_DATA_STRUCT_NULL – if pData is null
  • A3D_INVALID_DATA_STRUCT_SIZE – if pData is incorrectly initialized
  • A3D_INVALID_ENTITY_NULL – if pRelationshipis null
  • A3D_INVALID_ENTITY_TYPE – if pRelationship references an invalid entity type
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DBIMRelSpaceBoundaryGet(const A3DBIMRelSpaceBoundary *pRelationship, A3DBIMRelSpaceBoundaryData *pData)

Retrieves the data of an A3DBIMRelSpaceBoundary entity.

In case of success, the pData contains heap allocated memory your are responsible for. To free the memory on pData, call A3DBIMRelSpaceBoundaryGet with pRelationship set to 0.

Version
14.2
Memory Management

See also

A3DBIMDataData

Parameters:
  • pRelationship[in] The relationship entity to get data from
  • pData[out] A pointer to the data structure to fill in
Return values:
  • A3D_SUCCESS – In case of success.
  • A3D_INITIALIZE_NOT_CALLED – if the library is not initialized.
  • A3D_INVALID_DATA_STRUCT_NULL – if pData is null
  • A3D_INVALID_DATA_STRUCT_SIZE – if pData is incorrectly initialized
  • A3D_INVALID_ENTITY_NULL – if pRelationshipis null
  • A3D_INVALID_ENTITY_TYPE – if pRelationship references an invalid entity type
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DBIMRelAggregatesGet(const A3DBIMRelAggregates *pRelationship, A3DBIMRelAggregatesData *pData)

Retrieves the data of an A3DBIMRelAggregates entity.

In case of success, the pData contains heap allocated memory your are responsible for. To free the memory on pData, call A3DBIMRelAggregatesGet with pRelationship set to 0.

Version
14.2
Memory Management

See also

A3DBIMDataData

Parameters:
  • pRelationship[in] The relationship entity to get data from
  • pData[out] A pointer to the data structure to fill in
Return values:
  • A3D_SUCCESS – In case of success.
  • A3D_INITIALIZE_NOT_CALLED – if the library is not initialized.
  • A3D_INVALID_DATA_STRUCT_NULL – if pData is null
  • A3D_INVALID_DATA_STRUCT_SIZE – if pData is incorrectly initialized
  • A3D_INVALID_ENTITY_NULL – if pRelationshipis null
  • A3D_INVALID_ENTITY_TYPE – if pRelationship references an invalid entity type
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DBIMRelAssignsToGroupGet(const A3DBIMRelAssignsToGroup *pRelationship, A3DBIMRelAssignsToGroupData *pData)

Retrieves the data of an A3DBIMRelAssignsToGroup entity.

In case of success, the pData contains heap allocated memory your are responsible for. To free the memory on pData, call A3DBIMRelAssignsToGroupGet with pRelationship set to 0.

Version
24.1
Memory Management

See also

A3DBIMDataData

Parameters:
  • pRelationship[in] The relationship entity to get data from
  • pData[out] A pointer to the data structure to fill in
Return values:
  • A3D_SUCCESS – In case of success.
  • A3D_INITIALIZE_NOT_CALLED – if the library is not initialized.
  • A3D_INVALID_DATA_STRUCT_NULL – if pData is null
  • A3D_INVALID_DATA_STRUCT_SIZE – if pData is incorrectly initialized
  • A3D_INVALID_ENTITY_NULL – if pRelationshipis null
  • A3D_INVALID_ENTITY_TYPE – if pRelationship references an invalid entity type
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DBIMRelVoidsElementGet(const A3DBIMRelVoidsElement *pRelationship, A3DBIMRelVoidsElementData *pData)

Retrieves the data of an A3DBIMRelVoidsElement entity.

In case of success, the pData contains heap allocated memory your are responsible for. To free the memory on pData, call A3DBIMRelVoidsElementGet with pRelationship set to 0.

Version
14.2
Memory Management

See also

A3DBIMDataData

Parameters:
  • pRelationship[in] The relationship entity to get data from
  • pData[out] A pointer to the data structure to fill in
Return values:
  • A3D_SUCCESS – In case of success.
  • A3D_INITIALIZE_NOT_CALLED – if the library is not initialized.
  • A3D_INVALID_DATA_STRUCT_NULL – if pData is null
  • A3D_INVALID_DATA_STRUCT_SIZE – if pData is incorrectly initialized
  • A3D_INVALID_ENTITY_NULL – if pDBIMDatais null
  • A3D_INVALID_ENTITY_TYPE – if pdBIMData references an invalid entity type
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DBIMRelConnectsPathElementsGet(const A3DBIMRelConnectsPathElements *pRelationship, A3DBIMRelConnectsPathElementsData *pData)

Retrieves the data of an A3DBIMRelConnectsPathElements entity.

In case of success, the pData contains heap allocated memory your are responsible for. To free the memory on pData, call A3DBIMRelConnectsPathElementsGet with pRelationship set to 0.

Version
14.2
Memory Management

See also

A3DBIMDataData

Parameters:
  • pRelationship[in] The relationship entity to get data from
  • pData[out] A pointer to the data structure to fill in
Return values:
  • A3D_SUCCESS – In case of success.
  • A3D_INITIALIZE_NOT_CALLED – if the library is not initialized.
  • A3D_INVALID_DATA_STRUCT_NULL – if pData is null
  • A3D_INVALID_DATA_STRUCT_SIZE – if pData is incorrectly initialized
  • A3D_INVALID_ENTITY_NULL – if pDBIMDatais null
  • A3D_INVALID_ENTITY_TYPE – if pdBIMData references an invalid entity type
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DBIMRootGet(const A3DBIMRoot *pRoot, A3DBIMRootData *pData)

Retrieves the data of an A3DBIMRoot entity.

In case of success, the pData contains heap allocated memory your are responsible for. To free the memory on pData, call A3DBIMRootGet with pRelationship set to 0.

Version
14.2
Memory Management

See also

A3DBIMRootData

See also

A3DBIMDataData

Parameters:
  • pRoot[in] The relationship entity to get data from
  • pData[out] A pointer to the data structure to fill in
Return values:
  • A3D_SUCCESS – In case of success.
  • A3D_INITIALIZE_NOT_CALLED – if the library is not initialized.
  • A3D_INVALID_DATA_STRUCT_NULL – if pData is null
  • A3D_INVALID_DATA_STRUCT_SIZE – if pData is incorrectly initialized
  • A3D_INVALID_ENTITY_NULL – if pDBIMDatais null
  • A3D_INVALID_ENTITY_TYPE – if pdBIMData references an invalid entity type
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DAsmModelFileExportToIfcXMLFile(const A3DAsmModelFile *pA3DAsmModelFile, const A3DUTF8Char *pcXMLFileName)

Exports all the BIM data of a given model file into an XML file.

Parameters:
  • pA3DAsmModelFile[in] The model file to export BIM data from
  • pcXMLFileName[out] A valid path to a non existing file
Return values:
  • A3D_SUCCESS – In case of success.
  • A3D_INITIALIZE_NOT_CALLED – if the library is not initialized.
  • A3D_INVALID_DATA_STRUCT_NULL – if pData is null
  • A3D_INVALID_DATA_STRUCT_SIZE – if pData is incorrectly initialized
  • A3D_INVALID_ENTITY_NULL – if pDBIMDatais null
  • A3D_INVALID_ENTITY_TYPE – if pdBIMData references an invalid entity type
  • A3D_BIMDATA_EMPTY – if the model file contains no BIM Data
Returns:

A3D_SUCCESS or an error code