Loads the model file with information from the input CAD file. More...

Data Structures

struct  A3DFileInformationData
 File. More...
 
struct  A3DRWParamsAssemblyData
 Structure to define parameters to manage CAD assemblies reading. More...
 
struct  A3DRWParamsCatiaV4Data
 Reading parameters specific to CATIA V4 CAD files. More...
 
struct  A3DRWParamsCatiaV5Data
 Reading parameters specific to CATIA V5 CAD files. More...
 
struct  A3DRWParamsGeneralData
 Reading options to filter the types of information that are read when CAD files are loaded. More...
 
struct  A3DRWParamsIFCData
 Reading parameters specific to IFC files. More...
 
struct  A3DRWParamsIGESData
 Reading parameters specific to IGES files. More...
 
struct  A3DRWParamsIncrementalLoadData
 Structure to specify reading parameters to load some specific parts of an assembly. More...
 
struct  A3DRWParamsInventorData
 A structure that specifies parameters used to read the model file to Inventor format. More...
 
struct  A3DRWParamsJTData
 A structure that specifies parameters used to read the model file to JT format. More...
 
struct  A3DRWParamsLoadData
 Structure to define the reading parameters used by the load function A3DAsmModelFileLoadFromFile. More...
 
struct  A3DRWParamsMultiEntriesData
 Structure to define which configurations or sub-models should be loaded when the CAD file has multiple entries. More...
 
struct  A3DRWParamsParasolidData
 A structure that specifies parameters used to read the model file to Parasolid format. More...
 
struct  A3DRWParamsPmiData
 Structure to specify the PMI reading parameters. More...
 
struct  A3DRWParamsProEData
 Reading parameters specific to Pro/ENGINEER CAD files. More...
 
struct  A3DRWParamsSearchDirData
 Structure to define additional directories that the load function will search in addition to the root directory. More...
 
struct  A3DRWParamsSolidworksData
 A structure that specifies parameters used to read the model file to Solidworks format. More...
 
struct  A3DRWParamsSpecificLoadData
 Structure to specify reading parameters specific to some CAD formats. More...
 
struct  A3DRWParamsStepData
 Reading parameters specific to STEP files. More...
 
struct  A3DRWParamsTessellationData
 Structure to set the tessellation parameters. More...
 
struct  A3DRWParamsUnigraphicsData
 Reading parameters specific to Unigraphics CAD files. More...
 
struct  A3DRWValidationPropertiesThresholdData
 Threshold values used for checking validation properties in Step. More...
 
struct  A3DStream3DPDFData
 Binary stream for a 3D model stored in a PDF file. The data format is PRC or U3D. More...
 
struct  A3DThumbnailData
 Thumbnail data. More...
 

Enumerations

enum  A3DEJTReadTessellationLevelOfDetail {
  kA3DJTTessLODLow = 0,
  kA3DJTTessLODMedium,
  kA3DJTTessLODHigh
}
 JT LOD to retrieve from file. More...
 
enum  A3DEReadGeomTessMode {
  kA3DReadGeomOnly = 0,
  kA3DReadGeomAndTess,
  kA3DReadTessOnly
}
 A3DSDKReadWrite. More...
 
enum  A3DEStepNameFromNAUO {
  kA3DStepNameFromNAUO_ID = 0,
  kA3DStepNameFromNAUO_NAME,
  kA3DStepNameFromNAUO_DESCRIPTION
}
 Used to select which name to use from NEXT_ASSEMBLY_USAGE_OCCURRENCE as occurrence name. More...
 
enum  A3DETessellationLevelOfDetail {
  kA3DTessLODExtraLow,
  kA3DTessLODLow,
  kA3DTessLODMedium,
  kA3DTessLODHigh,
  kA3DTessLODExtraHigh,
  kA3DTessLODUserDefined,
  kA3DTessLODControlledPrecision
}
 Structure to specify the level of detail of the tessellation. More...
 
enum  A3DEUnits {
  kA3DUnitPoint = 0,
  kA3DUnitInch,
  kA3DUnitMillimeter,
  kA3DUnitCentimeter,
  kA3DUnitPicas,
  kA3DUnitFoot,
  kA3DUnitYard,
  kA3DUnitMeter,
  kA3DUnitKilometer,
  kA3DUnitMile,
  kA3DUnitUnknown
}
 Unit used in the model file. More...
 
enum  A3DProEFamilyTables {
  A3DProEFamTabAcceleratorFileOnly = 0,
  A3DProEFamTabOrUseTessellation = 1,
  A3DProEFamTabOrUseWireAndGeneric = 2
}
 Used to select how to read family tables. More...
 
enum  A3DProEReadConstructEntities {
  A3DProEReadConstructEntities_AsDatum = 0,
  A3DProEReadConstructEntities_Yes,
  A3DProEReadConstructEntities_No
}
 Used to control the construction entities reading, entity such as sketch, curves... More...
 
enum  A3DProESessionColorType {
  kA3DLastCreoVersionSessionColor = 0,
  kA3DHExchangeSessionColor,
  kA3DFileVersionSessionColor
}
 Used to control the default PMI color: If you load a Wildfire file and set kA3DFileVersionSessionColor to: More...
 

Functions

A3DStatus A3DAsmModelFileLoadFromFile (const A3DUTF8Char *pcFileName, const A3DRWParamsLoadData *pLoadParametersData, A3DAsmModelFile **ppModelFile)
 Loads an A3DAsmModelFile from a physical file. More...
 
A3DStatus A3DAsmModelFileLoadFromPrcFile (const A3DUTF8Char *pcFileName, A3DRWParamsPrcReadHelper **ppPrcReadHelper, A3DAsmModelFile **ppModelFile)
 Loads an A3DAsmModelFile from a PRC physical file. More...
 
A3DStatus A3DAsmModelFileLoadFromPrcStream (const A3DUTF8Char *pcBufferStream, unsigned int uBufferLength, A3DRWParamsPrcReadHelper **ppPrcReadHelper, A3DAsmModelFile **ppModelFile)
 Loads an A3DAsmModelFile from a PRC Buffer. More...
 
A3DStatus A3DAsmModelFileLoadFromXMLFile (const A3DUTF8Char *pcFileName, const A3DRWParamsLoadData *pLoadParametersData, A3DAsmModelFile **ppModelFile)
 Loads an A3DAsmModelFile from a XML file and a set of native cad files. More...
 
A3DStatus A3DCheckFileFormat (const A3DUTF8Char *pcFileName, const int &rCadTypeWanted)
 Checks the format of a physical file. More...
 
A3DStatus A3DExtractFileThumbnail (const A3DUTF8Char *pcFileName, A3DThumbnailData *pThumbnailData)
 Extract thumbnail stored in a CAD file. More...
 
A3DStatus A3DGet3DPDFStreams (const A3DUTF8Char *pcFileName, A3DStream3DPDFData **ppStreamData, A3DInt32 *piNumStreams)
 Function to retrieve all 3D streams embedded in a PDF document. More...
 
A3DStatus A3DGetFileFormat (const A3DUTF8Char *pcFileName, A3DEModellerType *peModellerType)
 Returns the format of a physical file. More...
 
A3DStatus A3DGetFileInformation (const A3DUTF8Char *pcFileName, A3DFileInformationData *pFileInformationData)
 Get file information a CAD file. More...
 
A3DVoid A3DRWParamsPrcReadHelperFree (A3DRWParamsPrcReadHelper *pA3DRWParamsPrcReadHelper)
 Free PRC read helper. More...
 

Detailed Description

Loads the model file with information from the input CAD file.

Please refer to HOOPS Exchange Supported File Formats documentation for list of available formats.

Enumeration Type Documentation

A3DSDKReadWrite.

ReadingMode of the model file. Set which kind of content should be read.

Version
3.0
Enumerator
kA3DReadGeomOnly 

In this mode, Exchange will avoid reading or generating tessellation on B-rep. Faceted elements from the native file will still be imported.

kA3DReadGeomAndTess 

Mixed mode: In this mode, the B-rep and faceted elements are read from the native file. Tessellation is then generated from B-rep elements.

kA3DReadTessOnly 

In this mode, all faceted elements from the native file are read. If present, the native tessellation of the B-rep is read exclusively. Native tessellation is the display list integrated in the CAD file (only available for CATIA V5, Solidworks, 3DXML, and Inventor).

There are some side effects: The tessellation may be not up-to-date with the geometry, the assembly tree can be different, and hidden objects may be missed.

If an element contains only B-rep, tessellation is generated from the B-rep and subsequently the B-rep is removed to save memory.

enum A3DEUnits

Unit used in the model file.

Version
3.0
Enumerator
kA3DUnitPoint 

Point.

kA3DUnitInch 

Inch.

kA3DUnitMillimeter 

Millimeter.

kA3DUnitCentimeter 

Centimeter.

kA3DUnitPicas 

Picas.

kA3DUnitFoot 

Foot.

kA3DUnitYard 

Yard.

kA3DUnitMeter 

Meter.

kA3DUnitKilometer 

Kilometer.

kA3DUnitMile 

Mile.

kA3DUnitUnknown 

Unknown.

Structure to specify the level of detail of the tessellation.

See A3DRWParamsTessellationData parameters. When a level is given, the Chord Height Ratio (A3DRWParamsTessellationData::m_dChordHeightRatio) and Wireframe Chord Angle (A3DRWParamsTessellationData::m_dAngleToleranceDeg) change to preset values for the selected level.

Version
3.0
Enumerator
kA3DTessLODExtraLow 

Extra Low level: when selected, these members are automatically defined with the following values:

kA3DTessLODLow 

Low level: when selected, these members are automatically defined with the following values:

kA3DTessLODMedium 

Medium level: when selected, these members are automatically defined with the following values:

kA3DTessLODHigh 

High level: when selected, these members are automatically defined with the following values:

kA3DTessLODExtraHigh 

Extra High level: when selected, these members are automatically defined with the following values:

kA3DTessLODUserDefined 

User Defined level: when selected, these members should be defined:

kA3DTessLODControlledPrecision 

Controlled Precision level: when selected, these members should be defined:

Used to control the default PMI color: If you load a Wildfire file and set kA3DFileVersionSessionColor to:

  • kA3DFileVersionSessionColor, the PMI with no color will be displayed in yellow;
  • kA3DLastCreoVersionSessionColor, the PMI with no color will be displayed in blue as in Creo 2 (for HOOPS Exchange 6.0);
  • kA3DHExchangeSessionColor, the PMI with no color will be displayed with the color you chose.
    Version
    6.1
Enumerator
kA3DLastCreoVersionSessionColor 

Sets the default session color corresponding to the last version of Creo that HOOPS Exchange supports.

kA3DHExchangeSessionColor 

Uses HOOPS Exchange default color.

kA3DFileVersionSessionColor 

Lets the user define the color by using graphics parameters options ( A3DRWParamsPmiData::m_sDefaultColor).

Used to control the construction entities reading, entity such as sketch, curves...

Version
8.2
Enumerator
A3DProEReadConstructEntities_AsDatum 

Read wire according to the datum reading option

A3DProEReadConstructEntities_Yes 

read wire

A3DProEReadConstructEntities_No 

Do not read wire

Used to select how to read family tables.

Version
9.0
Enumerator
A3DProEFamTabAcceleratorFileOnly 

Only use accelerator file. If there's tessellation or a generic part, these will not be loaded, even if an accelerator file isn't available.

A3DProEFamTabOrUseTessellation 

If the accelerator file isn't present, then search for the tessellation representation: if found, then use the tessellation. If an accelerator file or tessellation isn't available, then nothing will be loaded.

A3DProEFamTabOrUseWireAndGeneric 

If neither the accelerator file nor the tessellation representation is present, then use the generic or wire representation.

Warning
If using the generic or wire representation, be aware that the representation will not be what it should be! A generic part/wire is only a placeholder.

Used to select which name to use from NEXT_ASSEMBLY_USAGE_OCCURRENCE as occurrence name.

Version
4.2
Enumerator
kA3DStepNameFromNAUO_ID 

First Field of NEXT_ASSEMBLY_USAGE_OCCURRENCE.

kA3DStepNameFromNAUO_NAME 

Second Field of NEXT_ASSEMBLY_USAGE_OCCURRENCE.

kA3DStepNameFromNAUO_DESCRIPTION 

Third Field of NEXT_ASSEMBLY_USAGE_OCCURRENCE.

JT LOD to retrieve from file.

Version
8.0
Enumerator
kA3DJTTessLODLow 

Will load the lowest level of tessellation available in the JT file.

kA3DJTTessLODMedium 

Will load an in-between level of tessellation available in the JT file.

kA3DJTTessLODHigh 

Will load the highest level of tessellation available in the JT file.

Function Documentation

A3DStatus A3DAsmModelFileLoadFromFile ( const A3DUTF8Char pcFileName,
const A3DRWParamsLoadData pLoadParametersData,
A3DAsmModelFile **  ppModelFile 
)

Loads an A3DAsmModelFile from a physical file.

This function loads an A3DAsmModelFile from a file. The file could be in any supported CAD format.

Parameters
[in]pcFileNameReferences the path to the file containing the 3D CAD model.
[in]pLoadParametersDataReferences the parameters for reading.
[out]ppModelFileReferences a pointer into which should be stored the location of the model file. Set this pointer to null before calling the function.
Returns
A3D_INITIALIZE_NOT_CALLED
A3D_INVALID_DATA_STRUCT_NULL
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_ENTITY_NULL
A3D_LOAD_CANNOT_ACCESS_CADFILE
A3D_LOAD_READER_NOT_IMPLEMENTED
A3D_LOAD_CANNOT_LOAD_MODEL
A3D_LOAD_CANNOT_LOAD_MULTIENTRY
A3D_LOAD_EMPTY_MULTI_MODEL
A3D_LOAD_MISSING_COMPONENTS
A3D_LOAD_MULTI_MODELS_CADFILE if the file contains multiple entries (see A3DRWParamsMultiEntriesData).
A3D_LOAD_INVALID_FILE_FORMAT
A3D_SUCCESS
Version
3.0
A3DStatus A3DAsmModelFileLoadFromPrcStream ( const A3DUTF8Char pcBufferStream,
unsigned int  uBufferLength,
A3DRWParamsPrcReadHelper **  ppPrcReadHelper,
A3DAsmModelFile **  ppModelFile 
)

Loads an A3DAsmModelFile from a PRC Buffer.

This function loads an A3DAsmModelFile from a PRC Buffer.

Parameters
[in]pcBufferStreamBuffer containing the PRC stream.
[in]uBufferLengthLength of pcBufferStream.
[in,out]ppPrcReadHelperReserved for future use.
[out]ppModelFileReferences a pointer into which the location should be stored. of the model file. Set this pointer to null before calling the function.
Returns
A3D_INITIALIZE_NOT_CALLED
A3D_INVALID_DATA_STRUCT_NULL
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_ENTITY_NULL
A3D_LOAD_CANNOT_ACCESS_CADFILE
A3D_LOAD_READER_NOT_IMPLEMENTED
A3D_LOAD_CANNOT_LOAD_MODEL
A3D_LOAD_CANNOT_LOAD_MULTIENTRY
A3D_LOAD_EMPTY_MULTI_MODEL
A3D_LOAD_MISSING_COMPONENTS
A3D_LOAD_MULTI_MODELS_CADFILE if the file contains multiple entries (see A3DRWParamsMultiEntriesData).
A3D_LOAD_INVALID_FILE_FORMAT
A3D_SUCCESS
Version
5.2
A3DVoid A3DRWParamsPrcReadHelperFree ( A3DRWParamsPrcReadHelper pA3DRWParamsPrcReadHelper)

Free PRC read helper.

Parameters
[in,out]pA3DRWParamsPrcReadHelperThe helper to free.
Remarks
Because this function does not return A3DStatus the internal thread safety policy is to wait for the availability of the API.
Version
8.1
A3DStatus A3DAsmModelFileLoadFromPrcFile ( const A3DUTF8Char pcFileName,
A3DRWParamsPrcReadHelper **  ppPrcReadHelper,
A3DAsmModelFile **  ppModelFile 
)

Loads an A3DAsmModelFile from a PRC physical file.

This function loads an A3DAsmModelFile from a PRC file. The file must be in PRC format.

Parameters
[in]pcFileNameReferences the path to the file containing the 3D CAD model.
[in,out]ppPrcReadHelperReserved for future use.
[out]ppModelFileReferences a pointer into which should be stored the location of the model file. Set this pointer to null before calling the function.
Returns
A3D_INITIALIZE_NOT_CALLED
A3D_INVALID_DATA_STRUCT_NULL
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_ENTITY_NULL
A3D_LOAD_CANNOT_ACCESS_CADFILE
A3D_LOAD_READER_NOT_IMPLEMENTED
A3D_LOAD_CANNOT_LOAD_MODEL
A3D_LOAD_CANNOT_LOAD_MULTIENTRY
A3D_LOAD_EMPTY_MULTI_MODEL
A3D_LOAD_MISSING_COMPONENTS
A3D_LOAD_MULTI_MODELS_CADFILE if the file contains multiple entries (see A3DRWParamsMultiEntriesData).
A3D_LOAD_INVALID_FILE_FORMAT
A3D_SUCCESS
Version
4.0
A3DStatus A3DGet3DPDFStreams ( const A3DUTF8Char pcFileName,
A3DStream3DPDFData **  ppStreamData,
A3DInt32 piNumStreams 
)

Function to retrieve all 3D streams embedded in a PDF document.

The stream is the raw binary data stored as a char* stream. A PRC stream can be interpreted with the function A3DAsmModelFileLoadFromPrcStream. A U3D stream needs to be written as a physical file before being read with classical A3DAsmModelFileLoadFromFile function.

Parameters
[in]pcFileNameReferences the path to the PDF file
[out]ppStreamDataArray of stream data
[out]piNumStreamsNumber of streams

If pcFileName is NULL, *ppStreamData will be freed if *piNumStreams is non-null. A3DGet3DPDFStreams(NULL, ppStreamData, piNumStreams) to release *ppStreamData.

Returns
A3D_LOAD_CANNOT_ACCESS_CADFILE
A3D_SUCCESS
Version
6.0
A3DStatus A3DGetFileFormat ( const A3DUTF8Char pcFileName,
A3DEModellerType peModellerType 
)
A3DStatus A3DCheckFileFormat ( const A3DUTF8Char pcFileName,
const int &  rCadTypeWanted 
)

Checks the format of a physical file.

Parameters
[in]pcFileNameReferences the path to the CAD file
[in]rCadTypeWantedReferences the format that the input CAD file is going to be checked against
Returns
A3D_INVALID_LICENSE
A3D_LOAD_CANNOT_ACCESS_CADFILE
A3D_LOAD_CANNOT_LOAD_MODEL
A3D_LOAD_CANNOT_LOAD_MULTIENTRY
A3D_LOAD_EMPTY_MULTI_MODEL
A3D_LOAD_INVALID_FILE_FORMAT
A3D_LOAD_MISSING_COMPONENTS
A3D_LOAD_MULTI_MODELS_CADFILE
A3D_LOAD_READER_NOT_IMPLEMENTED
A3D_WRITE_CANNOT_LOAD_WRITER
A3D_WRITE_ERROR
A3D_WRITE_WRITER_NOT_IMPLEMENTED
A3D_SUCCESS
Version
6.0
A3DStatus A3DExtractFileThumbnail ( const A3DUTF8Char pcFileName,
A3DThumbnailData pThumbnailData 
)
A3DStatus A3DGetFileInformation ( const A3DUTF8Char pcFileName,
A3DFileInformationData pFileInformationData 
)
A3DStatus A3DAsmModelFileLoadFromXMLFile ( const A3DUTF8Char pcFileName,
const A3DRWParamsLoadData pLoadParametersData,
A3DAsmModelFile **  ppModelFile 
)

Loads an A3DAsmModelFile from a XML file and a set of native cad files.

This function loads an A3DAsmModelFile from a XML file and a set of native cad files.

Parameters
[in]pcFileNameReferences the path to the file containing the XML description of the assembly.
[in]pLoadParametersDataReferences the parameters for reading the native parts.
[out]ppModelFileReferences a pointer into which should be stored the location of the model file. Set this pointer to null before calling the function.
Returns
A3D_INITIALIZE_NOT_CALLED
A3D_INVALID_DATA_STRUCT_NULL
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_ENTITY_NULL
A3D_LOAD_CANNOT_ACCESS_CADFILE
A3D_LOAD_READER_NOT_IMPLEMENTED
A3D_LOAD_CANNOT_LOAD_MODEL
A3D_LOAD_CANNOT_LOAD_MULTIENTRY
A3D_LOAD_EMPTY_MULTI_MODEL
A3D_LOAD_MISSING_COMPONENTS
A3D_LOAD_MULTI_MODELS_CADFILE if the file contains multiple entries (see A3DRWParamsMultiEntriesData).
A3D_LOAD_INVALID_FILE_FORMAT
A3D_SUCCESS
Version
7.0