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
 A set of options for loading a new model file with 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  A3DRWParamsRevitData
 A structure that specifies parameters used to read the model file to Revit format. More...
 
struct  A3DRWParamsRhinoData
 A structure that specifies parameters used to read the model file to Rhino format. 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,
  kA3DUnitMicroInch,
  kA3DUnitMil,
  kA3DUnitAngstrom,
  kA3DUnitNanometer,
  kA3DUnitMicron,
  kA3DUnitDecimeter,
  kA3DUnitDekameter,
  kA3DUnitHectometer,
  kA3DUnitGigameter,
  kA3DUnitAstronomical,
  kA3DUnitLightYear,
  kA3DUnitParsec,
  kA3DUnitUSSurveyFoot,
  kA3DUnitUSSurveyInch,
  kA3DUnitUSSurveyYard,
  kA3DUnitUSSurveyMile,
  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...
 
enum  EA3DRevitPhysicalProperties {
  kA3DRevitPhysicalProperties_NotComputed = 0,
  kA3DRevitPhysicalProperties_Computed
}
 Define how physical properties are managed for Revit files. More...
 

Functions

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. 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 A3DAsmModelFileLoadFromXMLStream (const A3DUTF8Char *pcBuffer, const A3DRWParamsLoadData *pLoadParametersData, A3DAsmModelFile **ppModelFile)
 Loads an A3DAsmModelFile from a XML buffer and a set of native cad files. More...
 
A3DStatus A3DCheckFileFormat (const A3DUTF8Char *pcFileName, A3DEModellerType eCadTypeWanted)
 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...
 
A3DStatus A3DPkPartsTranslateToA3DAsmModelFile (int pNbPkParts, int *pPkParts, A3DRWParamsLoadData *pLoadParam, A3DAsmModelFile **ppA3DAsmModelFile, A3DMiscPKMapper **pMapper)
 Translate Parasolid Parts from parasolid session into an A3DModelFile with a mapper. 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 documentation for list of available formats.

Enumeration Type Documentation

◆ A3DEReadGeomTessMode

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.

◆ A3DEUnits

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.

kA3DUnitMicroInch 

Micro Inch.

kA3DUnitMil 

Mil.

kA3DUnitAngstrom 

Angstrom.

kA3DUnitNanometer 

Nanometer.

kA3DUnitMicron 

Micron.

kA3DUnitDecimeter 

Decimeter.

kA3DUnitDekameter 

Dekameter.

kA3DUnitHectometer 

Hectometer.

kA3DUnitGigameter 

Gigameter.

kA3DUnitAstronomical 

Astronomical.

kA3DUnitLightYear 

Light year.

kA3DUnitParsec 

Parsec.

kA3DUnitUSSurveyFoot 

US Survey foot.

kA3DUnitUSSurveyInch 

US survey inch.

kA3DUnitUSSurveyYard 

US survey yard.

kA3DUnitUSSurveyMile 

US survey mile.

kA3DUnitUnknown 

Unknown.

◆ 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
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:

◆ 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
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).

◆ A3DProEReadConstructEntities

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

◆ A3DProEFamilyTables

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.

◆ A3DEStepNameFromNAUO

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.

◆ A3DEJTReadTessellationLevelOfDetail

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.

◆ EA3DRevitPhysicalProperties

Define how physical properties are managed for Revit files.

Version
13.1.0
Enumerator
kA3DRevitPhysicalProperties_NotComputed 

Not computed. Default value

kA3DRevitPhysicalProperties_Computed 

Computed during reading process, stored as attributes

Function Documentation

◆ A3DAsmModelFileLoadFromFile()

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 with A3DAsmModelFileGet.

A3DAsmModelFile model_file = 0;
A3DStatus result = A3DAsmModelFileLoadFromFile("/path/to/file.stl", &parameters, &model_file);
assert(result == A3D_SUCCESS);
assert(model_file != 0);
Parameters
[in]pcFileNameThe system path to the input file. Must be a valid UTF-8 string.
[in]pLoadParametersDataA set of options used to customize the behaviour of the loading.
[out]ppModelFileA pointer to the handle of the new model file, in case of success.
Returns
A3D_SUCCESS or an error code in case of failure.
Return values
A3D_SUCCESSin case of success.
A3D_INITIALIZE_NOT_CALLEDif pLoadParametersData is not initialized.
A3D_INVALID_DATA_STRUCT_NULLif pLoadParametersData is null.
A3D_INVALID_DATA_STRUCT_SIZEif pLoadParametersData is not initialized by an incompatible version of the API.
A3D_INVALID_ENTITY_NULLif ppModelFile is null.
A3D_LOAD_CANNOT_ACCESS_CADFILEif the input path cannot be opened by the running process for reading.
A3D_LOAD_CANNOT_LOAD_MODELif an error occured while reading the file.
A3D_LOAD_CANNOT_LOAD_MULTIENTRY[I don't know about this one]
A3D_LOAD_EMPTY_MULTI_MODEL[I don't know about this one]
A3D_LOAD_FILE_TOO_OLDif the reader support this format but the version is less than the oldest supported version.
A3D_LOAD_FILE_TOO_RECENTif the reader support this format but the version is less than the oldest supported version.
A3D_LOAD_INVALID_FILE_FORMATif the format is not supported.
A3D_LOAD_MISSING_COMPONENTS[I don't know about this one]
A3D_LOAD_MULTI_MODELS_CADFILEif the file contains multiple entries (see A3DRWParamsMultiEntriesData).
A3D_LOAD_READER_NOT_IMPLEMENTED[I don't know about this one]
Version
3.0
See also
A3DAsmModelFileLoadFromFile
A3DAsmModelFileLoadFromMultiplePrcFile
A3DAsmModelFileLoadFromPRCFiles
A3DAsmModelFileLoadFromXMLFile
A3DAsmModelFileLoadFromXMLStream
A3DPkPartsTranslateToA3DAsmModelFile
A3DRWParamsGeneralData
A3DRWParamsLoadData
A3DRWParamsMultiEntriesData

◆ A3DAsmModelFileLoadFromPrcStream()

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_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
Version
5.2

◆ A3DRWParamsPrcReadHelperFree()

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

◆ A3DAsmModelFileLoadFromPrcFile()

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_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
Version
4.0

◆ A3DGet3DPDFStreams()

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.

Remarks
Note that this method does not set the identifier of the A3DStream3DPDFData. It will be defaulted to kA3DPDFUnknownStreamIdentifier.
Returns
A3D_LOAD_CANNOT_ACCESS_CADFILE
A3D_SUCCESS
Version
6.0

◆ A3DGetFileFormat()

A3DStatus A3DGetFileFormat ( const A3DUTF8Char pcFileName,
A3DEModellerType peModellerType 
)

◆ A3DCheckFileFormat()

A3DStatus A3DCheckFileFormat ( const A3DUTF8Char pcFileName,
A3DEModellerType  eCadTypeWanted 
)

Checks the format of a physical file.

Parameters
[in]pcFileNameReferences the path to the CAD file
[in]eCadTypeWantedReferences 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

◆ A3DExtractFileThumbnail()

A3DStatus A3DExtractFileThumbnail ( const A3DUTF8Char pcFileName,
A3DThumbnailData pThumbnailData 
)

Extract thumbnail stored in a CAD file.

Parameters
[in]pcFileNameReferences the path to the CAD file
[out]pThumbnailDataReferences the thumbnail data
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
Warning
This function is only available for Catia V5 and Solidworks inputs.
Version
8.2

◆ A3DGetFileInformation()

A3DStatus A3DGetFileInformation ( const A3DUTF8Char pcFileName,
A3DFileInformationData pFileInformationData 
)

Get file information a CAD file.

Parameters
[in]pcFileNameReferences the path to the CAD file
[out]pFileInformationDataReferences the information of the input CAD file
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
Warning
This function is only available for Catia V5 and Solidworks inputs. For unsupported formats, the function returns A3D_LOAD_CANNOT_ACCESS_CADFILE.
Version
8.2

◆ A3DPkPartsTranslateToA3DAsmModelFile()

A3DStatus A3DPkPartsTranslateToA3DAsmModelFile ( int  pNbPkParts,
int *  pPkParts,
A3DRWParamsLoadData pLoadParam,
A3DAsmModelFile **  ppA3DAsmModelFile,
A3DMiscPKMapper **  pMapper 
)

Translate Parasolid Parts from parasolid session into an A3DModelFile with a mapper.

This function creates an A3DAsmModelFile entity from parts of parasolid session and creates a mapper to get links between entities.

Parameters
[in]pNbPkPartsReferences the number of parts.
[in]pPkPartsReferences the array of parts.
[in]pLoadParamLoad parameters.
[out]ppA3DAsmModelFileReferences the A3DAsmModelFile to be created.
[out]pMapperTopology entities mapper
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_HEPB_MISSING
A3D_INVALID_DATA_NULL
A3D_SUCCESS
Version
10.2

◆ A3DAsmModelFileLoadFromXMLFile()

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 (does not affect the reading of the XML file).
[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_FILE_TOO_OLD
A3D_FILE_TOO_RECENT
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
Only a subset of what is exported is supported on import:
<!-- Root: mandatory -->
<Root>
<!-- ModelFile: mandatory
Name: optional; default value is none
Unit: optional, 64-bit floating point value (C double); > 0; default value is 1
-->
<ModelFile Name="My model file" Unit="10">
<!-- ProductOccurrence:
Id: mandatory; 32-bit signed integer > 0; must be unique in the file; ids are not required to be consecutive or ordered
PersistentId: optional; 32-bit signed integer (C int); default value is 0
Name: optional
FilePath: optional; mutually exclusive with Children; can be absolute, relative or UNC; Windows or Linux style; path to any file format supported by HOOPS Exchange except XML; actually loads a native part only if the node has no InstanceRef (i.e. prototype), no InstanceRefExt and no Children
InstanceRef: prototype id; the prototype ProductOccurrence must have defined before; optional; 32-bit signed integer (C int); > 0; default value is -1 (no prototype)
InstanceRefExt: external id; the external ProductOccurrence must have defined before; optional; 32-bit signed integer (C int); > 0; default value is -1 (no external)
Children: optional; array of 32-bit integer values (C int); each value should be a valid ProductOccurrence id; the ProductOccurrence must have defined before; mutually exclusive with FilePath
Unit: optional; 64-bit floating point value (C double); > 0; default value is 1 (mm?)
Color: optional; array of 4 32-bit signed integers (C int) describing the RGBA; from 0 to 255 - default value is 255; Alpha from 0 (transparent) to 255 (opaque); applies only to nodes loading a native part
-->
<!-- leaf node loading a file, used as a prototype -->
<ProductOccurrence Id="10" PersistentId="34" Name="file_1_" FilePath="file_1.prc"/>
<!-- internal node referencing the prototype of Id 10; the FilePath is ignored -->
<ProductOccurrence Id="20" PersistentId="34" Name="file_1" InstanceRef="10" FilePath="file_1.prc">
<!-- Transformation: matrix 4 x 4; optional; array of 16 64-bit floating point values (C doubles); format: r00 r01 r02 0 r10 r11 r12 0 r20 r21 r22 0 x y z 1 -->
<Transformation RelativeTransfo="1 0 0 0 0 1 0 0 0 0 0 1 100 0 0 1"/>
</ProductOccurrence>
<!-- leaf node loading a file, used as a prototype -->
<ProductOccurrence Id="3" PersistentId="17" Name="file_2_" FilePath="D:\temporaire\file_2.prc"/>
<!-- internal node referencing a prototype and overloading its color -->
<ProductOccurrence Id="4" PersistentId="17" Name="file_2" InstanceRef="3" Color="255 0 0 255">
<Transformation RelativeTransfo="0 0.70711 0.70711 0 -1 0 0 0 0 -0.70711 0.70711 0 0 100 0 1"/>
</ProductOccurrence>
<!-- leaf node loading a file, used as a prototype -->
<ProductOccurrence Id="500" PersistentId="11" Name="file_3_" FilePath="d:/temporaire/file_3.prc"/>
<!-- internal node referencing a prototype -->
<ProductOccurrence Id="600" PersistentId="11" Name="file_3" InstanceRef="500">
<Transformation RelativeTransfo="1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 100 1"/>
</ProductOccurrence>
<!-- leaf node loading a file, used as a prototype -->
<ProductOccurrence Id="7" PersistentId="13" Name="file_4_" FilePath="sub_directory/file_4.prc"/>
<!-- internal node referencing a prototype -->
<ProductOccurrence Id="8" PersistentId="13" Name="file_4" InstanceRef="7">
<Transformation RelativeTransfo="1 0 0 0 0 1 0 0 0 0 1 0 100 100 100 1"/>
</ProductOccurrence>
<!-- root node with four children; the Color specification is ignored -->
<ProductOccurrence Id="11" PersistentId="1011" Name="assembly" Children="20 4 600 8" Color="255 255 0 128"/>
</ModelFile>
</Root>
Version
7.0

◆ A3DAsmModelFileLoadFromXMLStream()

A3DStatus A3DAsmModelFileLoadFromXMLStream ( const A3DUTF8Char pcBuffer,
const A3DRWParamsLoadData pLoadParametersData,
A3DAsmModelFile **  ppModelFile 
)

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

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

Parameters
[in]pcBufferReferences null terminated buffer containing the XML description of the assembly.
[in]pLoadParametersDataReferences the parameters for reading the native parts (does not affect the reading of the XML file).
[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
Supported elements and examples: see A3DAsmModelFileLoadFromXMLFile.
Version
11.2