A3DSDKBim.h File Reference

Header file for the BIM module ///. More...

Data Structures

struct  A3DBIMDataData
 Entry point for BIM Data. More...
 
struct  A3DBIMRelAggregatesData
 Describes a composition/decomposition where the related elements aggregates to form the relating element. More...
 
struct  A3DBIMRelConnectsPathElementsData
 Describes the connectivity information between two elements. surrounding elements. More...
 
struct  A3DBIMRelContainedInSpatialStructureData
 Describes a relationship where an element is contained in a certain level of the spatial project structure. More...
 
struct  A3DBIMRelFillsElementData
 Describes a relationship between an opening element and an element that fills the opening element. More...
 
struct  A3DBIMRelSpaceBoundaryData
 Describes the physical or virtual delimiter of a space to the surrounding elements. More...
 
struct  A3DBIMRelVoidsElementData
 Describes a relationship between an element and an opening element that creates a void in the element. More...
 
struct  A3DBIMRootData
 Abtraction structure for all BIM entity types. More...
 

Functions

A3DStatus A3DAsmModelFileExportToIfcXMLFile (const A3DAsmModelFile *pA3DAsmModelFile, const A3DUTF8Char *pcXMLFileName)
 Exports all the BIM data of a given model file into an XML file. More...
 
A3DStatus A3DBIMDataGet (const A3DBIMData *pDBIMData, A3DBIMDataData *pData)
 Retrieves data of an A3DBIMData entity. More...
 
A3DStatus A3DBIMRelAggregatesGet (const A3DBIMRelAggregates *pRelationship, A3DBIMRelAggregatesData *pData)
 Retrieves the data of an A3DBIMRelAggregates entity. More...
 
A3DStatus A3DBIMRelConnectsPathElementsGet (const A3DBIMRelConnectsPathElements *pRelationship, A3DBIMRelConnectsPathElementsData *pData)
 Retrieves the data of an A3DBIMRelConnectsPathElements entity. More...
 
A3DStatus A3DBIMRelContainedInSpatialStructureGet (const A3DBIMRelContainedInSpatialStructure *pRelationship, A3DBIMRelContainedInSpatialStructureData *pData)
 Retrieves the data of an A3DBIMRelContainedInSpatialStructure entity. More...
 
A3DStatus A3DBIMRelFillsElementGet (const A3DBIMRelFillsElement *pRelationship, A3DBIMRelFillsElementData *pData)
 Retrieves the data of an A3DBIMRelFillsElement entity. More...
 
A3DStatus A3DBIMRelSpaceBoundaryGet (const A3DBIMRelSpaceBoundary *pRelationship, A3DBIMRelSpaceBoundaryData *pData)
 Retrieves the data of an A3DBIMRelSpaceBoundary entity. More...
 
A3DStatus A3DBIMRelVoidsElementGet (const A3DBIMRelVoidsElement *pRelationship, A3DBIMRelVoidsElementData *pData)
 Retrieves the data of an A3DBIMRelVoidsElement entity. More...
 
A3DStatus A3DBIMRootGet (const A3DBIMRoot *pRoot, A3DBIMRootData *pData)
 Retrieves the data of an A3DBIMRoot entity. More...
 

Detailed Description

Header file for the BIM module ///.

/// Copyright (c) 2010 - 2022 by Tech Soft 3D, Inc. /// The information contained herein is confidential and proprietary to /// Tech Soft 3D, Inc., and considered a trade secret as defined under civil /// and criminal statutes. Tech Soft 3D shall pursue its civil and criminal /// remedies in the event of unauthorized use or misappropriation of its /// trade secrets. Use of this information by anyone other than authorized /// employees of Tech Soft 3D, Inc. is granted only under a written non- /// disclosure agreement, expressly prescribing the scope and manner of such /// use. /// ///

Author
Tech Soft 3D ///
Version
22.0 ///
Date
December 2021 ///

Function Documentation

◆ A3DBIMDataGet()

A3DStatus A3DBIMDataGet ( const A3DBIMData pDBIMData,
A3DBIMDataData pData 
)

Retrieves data of an A3DBIMData entity.

Version
22.0
Parameters
[in]pDBIMDataThe BIM Data entity to get data from
[out]pDataA pointer to the data structure to fill in
Returns
A3D_SUCCESS in case of success or an error code
Return values
<tt>A3D_SUCCESS</tt>In case of success.
<tt>A3D_INITIALIZE_NOT_CALLED</tt>if the library is not initialized.
<tt>A3D_INVALID_DATA_STRUCT_NULL</tt>if pData is null
<tt>A3D_INVALID_DATA_STRUCT_SIZE</tt>if pData is incorrectly initialized
<tt>A3D_INVALID_ENTITY_NULL</tt>if pDBIMDatais null
<tt>A3D_INVALID_ENTITY_TYPE</tt>if pdBIMData references an invalid entity type
Memory Management

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.

See also
A3DBIMDataData

◆ A3DBIMRelContainedInSpatialStructureGet()

A3DStatus A3DBIMRelContainedInSpatialStructureGet ( const A3DBIMRelContainedInSpatialStructure pRelationship,
A3DBIMRelContainedInSpatialStructureData pData 
)

Retrieves the data of an A3DBIMRelContainedInSpatialStructure entity.

Version
22.0
Parameters
[in]pRelationshipThe relationship entity to get data from
[out]pDataA pointer to the data structure to fill in
Returns
A3D_SUCCESS in case of success or an error code
Return values
<tt>A3D_SUCCESS</tt>In case of success.
<tt>A3D_INITIALIZE_NOT_CALLED</tt>if the library is not initialized.
<tt>A3D_INVALID_DATA_STRUCT_NULL</tt>if pData is null
<tt>A3D_INVALID_DATA_STRUCT_SIZE</tt>if pData is incorrectly initialized
<tt>A3D_INVALID_ENTITY_NULL</tt>if pDBIMDatais null
<tt>A3D_INVALID_ENTITY_TYPE</tt>if pdBIMData references an invalid entity type
Memory Management

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.

See also
A3DBIMRelContainedInSpatialStructureData
A3DBIMDataData

◆ A3DBIMRelFillsElementGet()

A3DStatus A3DBIMRelFillsElementGet ( const A3DBIMRelFillsElement pRelationship,
A3DBIMRelFillsElementData pData 
)

Retrieves the data of an A3DBIMRelFillsElement entity.

Version
22.0
Parameters
[in]pRelationshipThe relationship entity to get data from
[out]pDataA pointer to the data structure to fill in
Returns
A3D_SUCCESS in case of success or an error code
Return values
<tt>A3D_SUCCESS</tt>In case of success.
<tt>A3D_INITIALIZE_NOT_CALLED</tt>if the library is not initialized.
<tt>A3D_INVALID_DATA_STRUCT_NULL</tt>if pData is null
<tt>A3D_INVALID_DATA_STRUCT_SIZE</tt>if pData is incorrectly initialized
<tt>A3D_INVALID_ENTITY_NULL</tt>if pDBIMDatais null
<tt>A3D_INVALID_ENTITY_TYPE</tt>if pdBIMData references an invalid entity type
Memory Management

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.

See also
A3DBIMRelFillsElementData
A3DBIMDataData

◆ A3DBIMRelSpaceBoundaryGet()

A3DStatus A3DBIMRelSpaceBoundaryGet ( const A3DBIMRelSpaceBoundary pRelationship,
A3DBIMRelSpaceBoundaryData pData 
)

Retrieves the data of an A3DBIMRelSpaceBoundary entity.

Version
22.0
Parameters
[in]pRelationshipThe relationship entity to get data from
[out]pDataA pointer to the data structure to fill in
Returns
A3D_SUCCESS in case of success or an error code
Return values
<tt>A3D_SUCCESS</tt>In case of success.
<tt>A3D_INITIALIZE_NOT_CALLED</tt>if the library is not initialized.
<tt>A3D_INVALID_DATA_STRUCT_NULL</tt>if pData is null
<tt>A3D_INVALID_DATA_STRUCT_SIZE</tt>if pData is incorrectly initialized
<tt>A3D_INVALID_ENTITY_NULL</tt>if pDBIMDatais null
<tt>A3D_INVALID_ENTITY_TYPE</tt>if pdBIMData references an invalid entity type
Memory Management

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.

See also
A3DBIMRelSpaceBoundaryData
A3DBIMDataData

◆ A3DBIMRelAggregatesGet()

A3DStatus A3DBIMRelAggregatesGet ( const A3DBIMRelAggregates pRelationship,
A3DBIMRelAggregatesData pData 
)

Retrieves the data of an A3DBIMRelAggregates entity.

Version
22.0
Parameters
[in]pRelationshipThe relationship entity to get data from
[out]pDataA pointer to the data structure to fill in
Returns
A3D_SUCCESS in case of success or an error code
Return values
<tt>A3D_SUCCESS</tt>In case of success.
<tt>A3D_INITIALIZE_NOT_CALLED</tt>if the library is not initialized.
<tt>A3D_INVALID_DATA_STRUCT_NULL</tt>if pData is null
<tt>A3D_INVALID_DATA_STRUCT_SIZE</tt>if pData is incorrectly initialized
<tt>A3D_INVALID_ENTITY_NULL</tt>if pDBIMDatais null
<tt>A3D_INVALID_ENTITY_TYPE</tt>if pdBIMData references an invalid entity type
Memory Management

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.

See also
A3DBIMRelAggregatesData
A3DBIMDataData

◆ A3DBIMRelVoidsElementGet()

A3DStatus A3DBIMRelVoidsElementGet ( const A3DBIMRelVoidsElement pRelationship,
A3DBIMRelVoidsElementData pData 
)

Retrieves the data of an A3DBIMRelVoidsElement entity.

Version
22.0
Parameters
[in]pRelationshipThe relationship entity to get data from
[out]pDataA pointer to the data structure to fill in
Returns
A3D_SUCCESS in case of success or an error code
Return values
<tt>A3D_SUCCESS</tt>In case of success.
<tt>A3D_INITIALIZE_NOT_CALLED</tt>if the library is not initialized.
<tt>A3D_INVALID_DATA_STRUCT_NULL</tt>if pData is null
<tt>A3D_INVALID_DATA_STRUCT_SIZE</tt>if pData is incorrectly initialized
<tt>A3D_INVALID_ENTITY_NULL</tt>if pDBIMDatais null
<tt>A3D_INVALID_ENTITY_TYPE</tt>if pdBIMData references an invalid entity type
Memory Management

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.

See also
A3DBIMRelVoidsElementData
A3DBIMDataData

◆ A3DBIMRelConnectsPathElementsGet()

A3DStatus A3DBIMRelConnectsPathElementsGet ( const A3DBIMRelConnectsPathElements pRelationship,
A3DBIMRelConnectsPathElementsData pData 
)

Retrieves the data of an A3DBIMRelConnectsPathElements entity.

Version
22.0
Parameters
[in]pRelationshipThe relationship entity to get data from
[out]pDataA pointer to the data structure to fill in
Returns
A3D_SUCCESS in case of success or an error code
Return values
<tt>A3D_SUCCESS</tt>In case of success.
<tt>A3D_INITIALIZE_NOT_CALLED</tt>if the library is not initialized.
<tt>A3D_INVALID_DATA_STRUCT_NULL</tt>if pData is null
<tt>A3D_INVALID_DATA_STRUCT_SIZE</tt>if pData is incorrectly initialized
<tt>A3D_INVALID_ENTITY_NULL</tt>if pDBIMDatais null
<tt>A3D_INVALID_ENTITY_TYPE</tt>if pdBIMData references an invalid entity type
Memory Management

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.

See also
A3DBIMRelConnectsPathElementsData
A3DBIMDataData

◆ A3DBIMRootGet()

A3DStatus A3DBIMRootGet ( const A3DBIMRoot pRoot,
A3DBIMRootData pData 
)

Retrieves the data of an A3DBIMRoot entity.

Version
22.0
Parameters
[in]pRootThe relationship entity to get data from
[out]pDataA pointer to the data structure to fill in
Returns
A3D_SUCCESS in case of success or an error code
Return values
<tt>A3D_SUCCESS</tt>In case of success.
<tt>A3D_INITIALIZE_NOT_CALLED</tt>if the library is not initialized.
<tt>A3D_INVALID_DATA_STRUCT_NULL</tt>if pData is null
<tt>A3D_INVALID_DATA_STRUCT_SIZE</tt>if pData is incorrectly initialized
<tt>A3D_INVALID_ENTITY_NULL</tt>if pDBIMDatais null
<tt>A3D_INVALID_ENTITY_TYPE</tt>if pdBIMData references an invalid entity type
Memory Management

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.

See also
A3DBIMRootData
A3DBIMDataData

◆ A3DAsmModelFileExportToIfcXMLFile()

A3DStatus A3DAsmModelFileExportToIfcXMLFile ( const A3DAsmModelFile pA3DAsmModelFile,
const A3DUTF8Char pcXMLFileName 
)

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

Parameters
[in]pA3DAsmModelFileThe model file to export BIM data from
[out]pcXMLFileNameA valid path to a non existing file
Returns
A3D_SUCCESS or an error code
Return values
<tt>A3D_SUCCESS</tt>In case of success.
<tt>A3D_INITIALIZE_NOT_CALLED</tt>if the library is not initialized.
<tt>A3D_INVALID_DATA_STRUCT_NULL</tt>if pData is null
<tt>A3D_INVALID_DATA_STRUCT_SIZE</tt>if pData is incorrectly initialized
<tt>A3D_INVALID_ENTITY_NULL</tt>if pDBIMDatais null
<tt>A3D_INVALID_ENTITY_TYPE</tt>if pdBIMData references an invalid entity type
<tt>A3D_BIMDATA_EMPTY</tt>if the model file contains no BIM Data