Load Module

Types

A3DRWParamsGeneralData

A3DRWParamsPmiData

A3DRWParamsTessellationData

A3DRWParamsSearchDirData

A3DRWParamsAssemblyData

A3DRWParamsMultiEntriesData

A3DRWParamsCatiaV4Data

A3DRWParamsCatiaV5Data

A3DRWParamsUnigraphicsData

A3DRWParamsProEData

A3DRWValidationPropertiesThresholdData

A3DRWParamsStepData

A3DRWParamsIGESData

A3DRWParamsIFCData

A3DRWParamsJTData

A3DRWParamsParasolidData

A3DRWParamsSolidworksData

A3DRWParamsInventorData

A3DRWParamsRhinoData

A3DRWParamsRevitData

A3DRWParamsSolidEdgeData

A3DRWParamsSpecificLoadData

A3DRWParamsIncrementalLoadData

A3DRWParamsLoadData

A3DStream3DPDFData

A3DThumbnailData

A3DFileInformationData

A3DFileContextData

A3DEReadGeomTessMode

A3DEUnits

A3DETessellationLevelOfDetail

A3DProESessionColorType

A3DProEReadConstructEntities

A3DProEFamilyTables

A3DEStepNameFromNAUO

A3DEJTReadTessellationLevelOfDetail

EA3DRevitPhysicalProperties

EA3DRevitLinks

EA3DRevitMultiThreadedMode

Fields

kA3DReadGeomOnly

kA3DReadGeomAndTess

kA3DReadTessOnly

kA3DUnitPoint

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

kA3DTessLODExtraLow

kA3DTessLODLow

kA3DTessLODMedium

kA3DTessLODHigh

kA3DTessLODExtraHigh

kA3DTessLODUserDefined

kA3DTessLODControlledPrecision

kA3DLastCreoVersionSessionColor

kA3DHExchangeSessionColor

kA3DFileVersionSessionColor

A3DProEReadConstructEntities_AsDatum

A3DProEReadConstructEntities_Yes

A3DProEReadConstructEntities_No

A3DProEFamTabAcceleratorFileOnly

A3DProEFamTabOrUseTessellation

A3DProEFamTabOrUseWireAndGeneric

kA3DStepNameFromNAUO_ID

kA3DStepNameFromNAUO_NAME

kA3DStepNameFromNAUO_DESCRIPTION

kA3DJTTessLODLow

kA3DJTTessLODMedium

kA3DJTTessLODHigh

kA3DRevitPhysicalProperties_NotComputed

kA3DRevitPhysicalProperties_Computed

kA3DRevitLinks_LoadAll

kA3DRevitLinks_IgnoreAll

kA3DRevitLinks_IgnoreRevit

kA3DRevitLinks_IgnoreDwg

kA3DRevitLinks_IgnoreIFC

kA3DRevitMultiThreadedMode_Disabled

kA3DRevitMultiThreadedMode_LoadingEnabled

kA3DRevitMultiThreadedMode_RegenerationEnabled

kA3DRevitMultiThreadedMode_LoadingAndRegenerationEnabled

Functions

A3DStatus

A3DAsmModelFileLoadFromFile

A3DStatus

A3DAsmModelFileLoadFromPrcStream

A3DVoid

A3DRWParamsPrcReadHelperFree

A3DStatus

A3DAsmModelFileLoadFromPrcFile

A3DStatus

A3DGet3DPDFStreams

A3DStatus

A3DGetFileFormat

A3DStatus

A3DCheckFileFormat

A3DStatus

A3DExtractFileThumbnail

A3DStatus

A3DGetFileInformation

A3DStatus

A3DAsmGetFilesPathFromModelFile

A3DStatus

A3DAsmGetFilesContextsFromModelFile

A3DStatus

A3DPkPartsTranslateToA3DAsmModelFile

A3DStatus

A3DAsmModelFileLoadFromXMLFile

A3DStatus

A3DAsmModelFileLoadFromXMLStream

Detailed Description

group a3d_read

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

Type Documentation

enum A3DEReadGeomTessMode

ReadingMode of the model file.

A3DSDKReadWrite

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:

enumerator kA3DTessLODControlledPrecision

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

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.

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.

They are set in A3DRWParamsRevitData::m_uiLinkFlags.

Version

22.0.0

Values:

Load all file links.

Default value

Do not load file links.

Do not load revit file links.

Do not load dwg file links.

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.

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

A3DRWParamsLoadData parameters;
A3D_INITIALIZE_DATA(A3DRWParamsLoadData, parameters);
A3DAsmModelFile* model_file = 0;

A3DStatus result = A3DAsmModelFileLoadFromFile("/path/to/file.stl", &parameters, &model_file);

assert(result == A3D_SUCCESS);
assert(model_file != 0);

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

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DGetFileFormat(const A3DUTF8Char *pcFileName, A3DEModellerType *peModellerType)

Returns the format of a physical file.

Version

3.0

Parameters
  • pcFileName[in] References the path to the CAD file

  • peModellerType[out] References the format of the input CAD file

Return values
  • 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

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DCheckFileFormat(const A3DUTF8Char *pcFileName, A3DEModellerType eCadTypeWanted)

Checks the format of a physical file.

Version

6.0

Parameters
  • pcFileName[in] References the path to the CAD file

  • eCadTypeWanted[in] References the format that the input CAD file is going to be checked against

Return values
  • 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

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DExtractFileThumbnail(const A3DUTF8Char *pcFileName, A3DThumbnailData *pThumbnailData)

Extract thumbnail stored in a CAD file.

Version

8.2

Warning

This function is only available for CATIA V5, CGR, CREO/Pro Engineer, NX, SolidWorks and STEP inputs.

Parameters
  • pcFileName[in] References the path to the CAD file

  • pThumbnailData[out] References the thumbnail data

Return values
  • 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

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DGetFileInformation(const A3DUTF8Char *pcFileName, A3DFileInformationData *pFileInformationData)

Get file information a CAD file.

The modeller type is provided for all formats. The other members are filled depending on format and availability of the information. For details see A3DFileInformationData.

Version

8.2

Parameters
  • pcFileName[in] References the path to the CAD file

  • pFileInformationData[out] References the information of the input CAD file

Return values
  • 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

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DAsmGetFilesPathFromModelFile(const A3DAsmModelFile *pA3DAsmModelFile, A3DUns32 *uNbPartFiles, A3DUTF8Char ***ppPartFilesPaths, A3DUns32 *uNbAssemblyFiles, A3DUTF8Char ***ppAssemblyFilesPaths, A3DUns32 *uNbMissingFiles, A3DUTF8Char ***ppMissingFilesPaths)

Extract file paths from a model file.

This function reads the A3DAsmModelFile extracts the file path of all the sub-assemblies, part and missing files of the A3DAsmModelFile

entity. Sub-assemblies are files referencing other files (part files or other sub-assemblies files).

Part files are final files with no reference to an other depending file.

If a file has reference on both types of file, the file will be considered as a sub-assembly file and will not be referenced in the part file path array.

Missing files path are sub-files that cannot be loaded for some reasons: bad paths, file not found…

If pA3DAsmModelFile is NULL, the A3DUTF8Char arrays will be freed if the corresponding unsigned int parameters are non-null: A3DAsmGetFilesPathFromModelFile(NULL, […]) to delete the arrays.

Version

5.0

Parameters
  • pA3DAsmModelFile[in] The input model file. Can be “tree only” A3DAsmModelFile.

  • uNbPartFiles[out] The number of parts detected. (must not be NULL)

  • ppPartFilesPaths[out] The file names of detected parts. (must not be NULL)

  • uNbAssemblyFiles[out] The number of sub-assemblies detected. (can be NULL)

  • ppAssemblyFilesPaths[out] The file names of detected sub-assemblies. (can be NULL)

  • uNbMissingFiles[out] The number of missing files. (can be NULL)

  • ppMissingFilesPaths[out] The file names of detected missing files. (can be NULL)

Return values
  • A3D_INVALID_ENTITY_NULL

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

A3DStatus A3DAsmGetFilesContextsFromModelFile(const A3DAsmModelFile *pA3DAsmModelFile, A3DUns32 *uNbFilesContexts, A3DFileContextData ***ppFilesContexts)

Extract all the files contexts (RefSet, Configs…) from a model file.

Version

8.1

Parameters
  • pA3DAsmModelFile[in] The input model file. Can be “tree only” A3DAsmModelFile.

  • uNbFilesContexts[out] The number of files contexts detected. (must not be NULL)

  • ppFilesContexts[out] The file contexts. (must not be NULL)

Return values
  • A3D_INVALID_ENTITY_NULL

  • A3D_SUCCESS

Returns

A3D_SUCCESS in case of success or an error code

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.

Version

10.2

Parameters
  • pNbPkParts[in] References the number of parts.

  • pPkParts[in] References the array of parts.

  • pLoadParam[in] Load parameters.

  • ppA3DAsmModelFile[out] References the A3DAsmModelFile to be created.

  • pMapper[out] Topology entities mapper

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

Returns

A3D_SUCCESS in case of success or an error code

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.

Version

7.0

Parameters
  • pcFileName[in] References the path to the file containing the XML description of the assembly.

  • pLoadParametersData[in] References the parameters for reading the native parts (does not affect the reading of the XML file).

  • 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_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

Returns

A3D_SUCCESS in case of success or an error code

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.

Svalorted elements and examples: see A3DAsmModelFileLoadFromXMLFile.

Version

11.2

Parameters
  • pcBuffer[in] References null terminated buffer containing the XML description of the assembly.

  • pLoadParametersData[in] References the parameters for reading the native parts (does not affect the reading of the XML file).

  • 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_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

Returns

A3D_SUCCESS in case of success or an error code