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 kA3DTessLODControlledPrecision
Controlled Precision level: when selected, these members should be defined:
A3DRWParamsTessellationData::m_dMinimalTriangleAngleDeg.
- Deprecated:
This is a deprecated feature.
-
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. 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. 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