Load Module
Types
Fields
Functions
Detailed Description
-
group
a3d_read
Loads the model file with information from the input CAD file.
Type Documentation
-
enum
A3DEReadGeomTessMode
A3DSDKReadWrite.
ReadingMode of the model file. Set which kind of content should be read.
- Version
- 3.0
Values:
-
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.
-
enumerator
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.
-
enumerator
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
Values:
-
enumerator
kA3DUnitPoint
Point.
-
enumerator
kA3DUnitInch
Inch.
-
enumerator
kA3DUnitMillimeter
Millimeter.
-
enumerator
kA3DUnitCentimeter
Centimeter.
-
enumerator
kA3DUnitPicas
Picas.
-
enumerator
kA3DUnitFoot
Foot.
-
enumerator
kA3DUnitYard
Yard.
-
enumerator
kA3DUnitMeter
Meter.
-
enumerator
kA3DUnitKilometer
Kilometer.
-
enumerator
kA3DUnitMile
Mile.
-
enumerator
kA3DUnitMicroInch
Micro Inch.
-
enumerator
kA3DUnitMil
Mil.
-
enumerator
kA3DUnitAngstrom
Angstrom.
-
enumerator
kA3DUnitNanometer
Nanometer.
-
enumerator
kA3DUnitMicron
Micron.
-
enumerator
kA3DUnitDecimeter
Decimeter.
-
enumerator
kA3DUnitDekameter
Dekameter.
-
enumerator
kA3DUnitHectometer
Hectometer.
-
enumerator
kA3DUnitGigameter
Gigameter.
-
enumerator
kA3DUnitAstronomical
Astronomical.
-
enumerator
kA3DUnitLightYear
Light year.
-
enumerator
kA3DUnitParsec
Parsec.
-
enumerator
kA3DUnitUSSurveyFoot
US Survey foot.
-
enumerator
kA3DUnitUSSurveyInch
US survey inch.
-
enumerator
kA3DUnitUSSurveyYard
US survey yard.
-
enumerator
kA3DUnitUSSurveyMile
US survey mile.
-
enumerator
kA3DUnitUnknown
Unknown.
-
enum
A3DETessellationLevelOfDetail
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
Values:
-
enumerator
kA3DTessLODExtraLow
Extra Low level: when selected, these members are automatically defined with the following values:
-
enumerator
kA3DTessLODLow
Low level: when selected, these members are automatically defined with the following values:
-
enumerator
kA3DTessLODMedium
Medium level: when selected, these members are automatically defined with the following values:
-
enumerator
kA3DTessLODHigh
High level: when selected, these members are automatically defined with the following values:
-
enumerator
kA3DTessLODExtraHigh
Extra High level: when selected, these members are automatically defined with the following values:
-
enumerator
kA3DTessLODUserDefined
User Defined level: when selected, these members should be defined:
- A3DRWParamsTessellationData::m_dChordHeightRatio if A3DRWParamsTessellationData::m_bUseHeightInsteadOfRatio is set to false,
- A3DRWParamsTessellationData::m_dMaxChordHeight if A3DRWParamsTessellationData::m_bUseHeightInsteadOfRatio is set to true,
- A3DRWParamsTessellationData::m_dAngleToleranceDeg. Be very careful when using A3DRWParamsTessellationData::m_dMaxChordHeight because a too small value would generate a huge tessellation.
-
enumerator
deprecated_kA3DTessLODControlledPrecision
Controlled Precision level: when selected, these members should be defined:
- A3DRWParamsTessellationData::m_dAngleToleranceDeg,
- A3DRWParamsTessellationData::m_dMaxChordHeight,
- A3DRWParamsTessellationData::deprecated_m_dMinimalTriangleAngleDeg.
- Deprecated:
This is a deprecated feature, which will be removed in version 2026.1.0.
-
enum
A3DProESessionColorType
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
Values:
-
enumerator
kA3DLastCreoVersionSessionColor
Sets the default session color corresponding to the last version of Creo that HOOPS Exchange supports.
-
enumerator
kA3DHExchangeSessionColor
Uses HOOPS Exchange default color.
-
enumerator
kA3DFileVersionSessionColor
Lets the user define the color by using graphics parameters options ( A3DRWParamsPmiData::m_sDefaultColor).
-
enum
A3DProEReadConstructEntities
Used to control the construction entities reading, entity such as sketch, curves…
- Version
- 8.2
Values:
-
enumerator
A3DProEReadConstructEntities_AsDatum
Read wire according to the datum reading option
-
enumerator
A3DProEReadConstructEntities_Yes
Read wire
-
enumerator
A3DProEReadConstructEntities_No
Do not read wire
-
enum
A3DProEFamilyTables
Used to select how to read family tables.
- Version
- 9.0
Values:
-
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.
-
enumerator
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.
-
enumerator
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.
-
enum
A3DEStepNameFromNAUO
Used to select which name to use from NEXT_ASSEMBLY_USAGE_OCCURRENCE as occurrence name.
See also
- Version
- 4.2
Values:
-
enumerator
kA3DStepNameFromNAUO_ID
First Field of NEXT_ASSEMBLY_USAGE_OCCURRENCE.
-
enumerator
kA3DStepNameFromNAUO_NAME
Second Field of NEXT_ASSEMBLY_USAGE_OCCURRENCE.
-
enumerator
kA3DStepNameFromNAUO_DESCRIPTION
Third Field of NEXT_ASSEMBLY_USAGE_OCCURRENCE.
-
enum
A3DEJTReadTessellationLevelOfDetail
JT LOD to retrieve from file.
- Version
- 8.0
Values:
-
enumerator
kA3DJTTessLODLow
Will load the lowest level of tessellation available in the JT file.
-
enumerator
kA3DJTTessLODMedium
Will load an in-between level of tessellation available in the JT file.
-
enumerator
kA3DJTTessLODHigh
Will load the highest level of tessellation available in the JT file.
-
enum
EA3DRevitPhysicalProperties
Define how physical properties are managed for Revit files.
- Version
- 13.1.0
Values:
-
enumerator
kA3DRevitPhysicalProperties_NotComputed
Not computed. Default value
-
enumerator
kA3DRevitPhysicalProperties_Computed
Computed during reading process, stored as attributes
-
enum
EA3DRevitLinks
They are set in A3DRWParamsRevitData::m_uiLinkFlags.
- Version
- 22.0.0
Values:
-
enumerator
kA3DRevitLinks_LoadAll
Load all file links. Default value
-
enumerator
kA3DRevitLinks_IgnoreAll
Do not load file links.
-
enumerator
kA3DRevitLinks_IgnoreRevit
Do not load revit file links.
-
enumerator
kA3DRevitLinks_IgnoreDwg
Do not load dwg file links.
-
enumerator
kA3DRevitLinks_IgnoreIFC
Do not load ifc file links.
-
enum
EA3DRevitMultiThreadedMode
- Version
- 23.0.0
Values:
-
enumerator
kA3DRevitMultiThreadedMode_Disabled
Multi-threaded file loading and regeneration are disabled.
-
enumerator
kA3DRevitMultiThreadedMode_LoadingEnabled
Multi-threaded file loading is enabled.
-
enumerator
kA3DRevitMultiThreadedMode_RegenerationEnabled
Multi-threaded regeneration is enabled.
-
enumerator
kA3DRevitMultiThreadedMode_LoadingAndRegenerationEnabled
Multi-threaded file loading and regeneration are enabled.
-
enum
A3DERevitLevelOfDetail
Revit LOD to use when loading the file.
- Version
- 24.6
Values:
-
enumerator
kA3DRevitLODDefault
Will load the file using the level of detail defined in the Revit file.
-
enumerator
kA3DRevitLODCoarse
Will load the file using the “Coarse” level of detail from Revit.
-
enumerator
kA3DRevitLODMedium
Will load the file using the “Medium” level of detail from Revit.
-
enumerator
kA3DRevitLODFine
Will load the file using the “Fine” level of detail from Revit.
Function Documentation
-
A3DStatus
A3DAsmModelFileLoadFromFile
(const A3DUTF8Char *pcFileName, const A3DRWParamsLoadData *pLoadParametersData, A3DAsmModelFile **ppModelFile) Loads an
A3DAsmModelFile
from a physical file, returning a handle to the new model file.Successfully calling this function will always create a new model file, even if the call is made several times with the same input path. Once loaded, a handle to the new model file is stored in
ppModelFile
and you can query its content withA3DAsmModelFileGet
.A3DRWParamsLoadData parameters; A3D_INITIALIZE_DATA(A3DRWParamsLoadData, parameters); A3DAsmModelFile* model_file = 0; A3DStatus result = A3DAsmModelFileLoadFromFile("/path/to/file.stl", ¶meters, &model_file); assert(result == A3D_SUCCESS); assert(model_file != 0);
See also
A3DAsmModelFileLoadFromFile
A3DAsmModelFileLoadFromMultiplePrcFile
A3DAsmModelFileLoadFromPRCFiles
A3DAsmModelFileLoadFromXMLFile
A3DAsmModelFileLoadFromXMLStream
A3DPkPartsTranslateToA3DAsmModelFile
A3DRWParamsGeneralData
A3DRWParamsLoadData
A3DRWParamsMultiEntriesData
- Version
- 3.0
Parameters: - pcFileName – [in] The system path to the input file. Must be a valid UTF-8 string.
- pLoadParametersData – [in] A set of options used to customize the behaviour of the loading.
- ppModelFile – [out] A pointer to the handle of the new model file, in case of success.
Return values: - A3D_SUCCESS – in case of success.
- A3D_INITIALIZE_NOT_CALLED – if
pLoadParametersData
is not initialized. - A3D_INVALID_DATA_STRUCT_NULL – if
pLoadParametersData
is null. - A3D_INVALID_DATA_STRUCT_SIZE – if
pLoadParametersData
is not initialized by an incompatible version of the API. - A3D_INVALID_ENTITY_NULL – if
ppModelFile
is null. - A3D_LOAD_CANNOT_ACCESS_CADFILE – if the input path cannot be opened by the running process for reading.
- A3D_LOAD_CANNOT_LOAD_MODEL – if an error occured while reading the file.
- A3D_LOAD_CANNOT_LOAD_MULTIENTRY –
- A3D_LOAD_EMPTY_MULTI_MODEL –
- A3D_LOAD_FILE_PASSWORD_PROTECTED – if the reader can’t process because the file is protected by a password.
- A3D_LOAD_FILE_TOO_OLD – if the reader support this format but the version is older than the minimum supported.
- A3D_LOAD_FILE_TOO_RECENT – if the reader support this format but the version is more recent than the maximum supported.
- A3D_LOAD_INVALID_FILE_FORMAT – if the format is not supported
- A3D_LOAD_MISSING_COMPONENTS – if the load partially completed
- A3D_LOAD_MULTI_MODELS_CADFILE – if the file contains multiple entries (see A3DRWParamsMultiEntriesData).
- A3D_LOAD_READER_NOT_IMPLEMENTED – if the reader for the requested format is not avaiable yet
Returns: A3D_SUCCESS
or an error code in case of failure.
-
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.
- Version
- 5.2
Parameters: - pcBufferStream – [in] Buffer containing the PRC stream.
- uBufferLength – [in] Length of pcBufferStream.
- ppPrcReadHelper – [inout] Reserved for future use.
- ppModelFile – [out] References a pointer into which the location should be stored. of the model file. Set this pointer to null before calling the function.
Return values: - 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_CANNOT_LOAD_MODEL –
- A3D_LOAD_CANNOT_LOAD_MULTIENTRY –
- A3D_LOAD_EMPTY_MULTI_MODEL –
- A3D_LOAD_FILE_TOO_OLD –
- A3D_LOAD_FILE_TOO_RECENT –
- A3D_LOAD_INVALID_FILE_FORMAT –
- A3D_LOAD_MISSING_COMPONENTS –
- A3D_LOAD_MULTI_MODELS_CADFILE – if the file contains multiple entries (see A3DRWParamsMultiEntriesData).
- A3D_LOAD_READER_NOT_IMPLEMENTED –
- A3D_SUCCESS –
Returns: A3D_SUCCESS in case of success or an error code
-
A3DVoid
A3DRWParamsPrcReadHelperFree
(A3DRWParamsPrcReadHelper *pA3DRWParamsPrcReadHelper) Free PRC read helper.
Remark
Because this function does not return A3DStatus the internal thread safety policy is to wait for the availability of the API.
- Version
- 8.1
Parameters: pA3DRWParamsPrcReadHelper – [inout] The helper to free.
-
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.
- Version
- 4.0
Parameters: - pcFileName – [in] References the path to the file containing the 3D CAD model.
- ppPrcReadHelper – [inout] Reserved for future use.
- ppModelFile – [out] References a pointer into which should be stored the location of the model file. Set this pointer to null before calling the function.
Return values: - 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_CANNOT_LOAD_MODEL –
- A3D_LOAD_CANNOT_LOAD_MULTIENTRY –
- A3D_LOAD_EMPTY_MULTI_MODEL –
- A3D_LOAD_FILE_TOO_OLD –
- A3D_LOAD_FILE_TOO_RECENT –
- A3D_LOAD_INVALID_FILE_FORMAT –
- A3D_LOAD_MISSING_COMPONENTS –
- A3D_LOAD_MULTI_MODELS_CADFILE – if the file contains multiple entries (see A3DRWParamsMultiEntriesData).
- A3D_LOAD_READER_NOT_IMPLEMENTED –
- A3D_SUCCESS –
Returns: A3D_SUCCESS in case of success or an error code
-
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.
If pcFileName is NULL, *ppStreamData will be freed if *piNumStreams is non-null. A3DGet3DPDFStreams(NULL, ppStreamData, piNumStreams) to release *ppStreamData.
Remark
Note that this method does not set the identifier of the A3DStream3DPDFData. It will be defaulted to kA3DPDFUnknownStreamIdentifier.
- Version
- 6.0
Parameters: - pcFileName – [in] References the path to the PDF file
- ppStreamData – [out] Array of stream data
- piNumStreams – [out] Number of streams
Return values: - A3D_LOAD_INVALID_FILE_NAME – if the file does not correspond to a valid file name
- A3D_LOAD_CANNOT_ACCESS_CADFILE – if the file can’t be accessed
- A3D_LOAD_INVALID_FILE_FORMAT – if the PDF format could not be detected
- A3D_ERROR – if another generic error
- A3D_SUCCESS –
Returns: A3D_SUCCESS in case of success or an error code
-
A3DStatus
A3DPDFGetStreams
(const A3DUTF8Char *pcFileName, A3DUns32 iFlags, A3DStream3DPDFData **ppStreamData, A3DInt32 *piNumStreams) Function to retrieve all 3D streams embedded in a PDF document, this function export native and PDF views (defined using Acrobat and not in the origin native CAD file). It also manages secured PDF.
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.
If pcFileName is NULL, *ppStreamData will be freed if *piNumStreams is non-null. A3DPDFGetStreams(NULL, NULL, ppStreamData, piNumStreams) to release *ppStreamData.
- Version
- 12.0
Parameters: - pcFileName – [in] References the path to the PDF file
- iFlags – [in] view flags Field to indicate the options for filtering 3D views.
- ppStreamData – [out] Array of stream data
- piNumStreams – [out] Number of streams
Return values: - A3D_SUCCESS –
- A3D_LOAD_CANNOT_ACCESS_CADFILE –
Returns: A3D_SUCCESS in case of success or an error code