HPS::Exchange::File

class HPS::Exchange::File

The File class provides functions to import and export CAD files via Exchange.

Public Types

enum Format

Enumerates the formats Exchange can recognize.

Values:

enumerator Unsupported

Format cannot be imported via Exchange.

enumerator ACIS

ACIS file (A3DEModellerType::kA3DModellerAcis).

enumerator CADDS

CADDS file (A3DEModellerType::kA3DModellerCadds). This format requires the “From The Vault” libraries to import.

enumerator CATIAV4

CATIA V4 file (A3DEModellerType::kA3DModellerCatia).

enumerator CATIAV5

CATIA V5 file (A3DEModellerType::kA3DModellerCatiaV5).

enumerator CGR

CATIA Graphical Represenation file (A3DEModellerType::kA3DModellerCgr).

enumerator COLLADA

COLLADA (DAE) file (A3DEModellerType::kA3DModellerDAE).

enumerator CreoProE

Creo (Pro/E) file (A3DEModellerType::kA3DModellerProE).

enumerator DWG

DWG file (A3DEModellerType::kA3DModellerDWG).

enumerator DXF

Dxf file (A3DEModellerType::kA3DModellerDxf).

enumerator IDEAS

I-DEAS file (A3DEModellerType::kA3DModellerIdeas).

enumerator IFC

Industry Foundation Classes (IFC) file (A3DEModellerType::kA3DModellerIFC).

enumerator IGES

IGES file (A3DEModellerType::kA3DModellerIges).

enumerator Inventor

Autodesk Inventor file (A3DEModellerType::kA3DModellerInventor).

enumerator JT

JT file (A3DEModellerType::kA3DModellerJt).

enumerator KeyholeMarkupLanguage

Keyhole Markup Language (KMZ) file (A3DEModellerType::kA3DModellerKMZ). This format requires the “From The Vault” libraries.

enumerator LatticeXVL

Lattice XVL file (A3DEModellerType::kA3DModellerXvl). This format requires the “From The Vault” libraries to import.

enumerator OneSpaceDesigner

OneSpace Designer file (A3DEModellerType::kA3DModellerOneSpaceDesigner). This format requires the “From The Vault” libraries to import.

enumerator Parasolid

Parasolid file (A3DEModellerType::kA3DModellerParasolid).

enumerator PDF

PDF file (A3DEModellerType::kA3DModellerPDF). PRC or U3D data stored inside the PDF can be imported.

enumerator PRC

Product Representation Compact (PRC) file (A3DEModellerType::kA3DModellerPrc).

enumerator Rhino

Rhinocerous 3D file (A3DEModellerType::kA3DModellerRhino).

enumerator NXUnigraphics

NX (Unigraphics) file (A3DEModellerType::kA3DModellerUnigraphics).

enumerator SolidEdge

Solid Edge file (A3DEModellerType::kA3DModellerSE).

enumerator SolidWorks

SolidWorks file (A3DEModellerType::kA3DModellerSlw).

enumerator STEP

STEP file (A3DEModellerType::kA3DModellerStep).

enumerator StereoLithography

Stereo Lithography (STL) file (A3DEModellerType::kA3DModellerStl).

enumerator ThreeDStudioMax

Autodesk 3D Studio Max file (A3DEModellerType::kA3DModeller3DS).

enumerator ThreeDXML

3DXML file (A3DEModellerType::kA3DModeller3dxml).

enumerator Universal3D

Universal 3D (U3D) file (A3DEModellerType::kA3DModellerU3D).

enumerator VDAFS

VDA-FS file (A3DEModellerType::kA3DModellerVda).

enumerator VRML

VRML file (A3DEModellerType::kA3DModellerWrl).

enumerator WavefrontObject

Wavefront Object (OBJ) file (A3DEModellerType::kA3DModellerOBJ).

enumerator Revit

Revit file (A3DEModellerType::kA3DModellerRevit). This format is only available on 64bit compilers.

enumerator GLTF

GLTF file (A3DEModellerType::kA3DModellerGLTF).

enumerator DWF

Autodesk DWF file (A3DEModellerType::kA3DModellerDwf).

enumerator FBX

FBX file (A3DEModellerType::kA3DModellerFbx).

enumerator STEPXML

STEP XML file (A3DEModellerType::kA3DModellerStepXml)

enumerator ThreeMF

3MF file (A3DEModellerType::kA3DModeller3mf)

enumerator Navisworks

Navisworks file (A3DEModellerType::kA3DModellerNavisworks)

Public Static Functions

static ExportNotifier Export3MF(CADModel const &in_cad_model, char const *in_file_name, Export3MFOptionsKit const &in_options)

Performs an asynchronous 3MF export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export. This CADModel must have come from a CAD file imported via Exchange, if it did not, the export will not succeed.

  • in_file_name – The name of the file to write the 3MF data to.

  • in_options – The options controlling the export of the 3MF data.

static ExportNotifier Export3MF(KeyPath in_source, char const *in_file_name, Export3MFOptionsKit const &in_options)

Performs an asynchronous 3MF export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_source – A key path containing the data to export. The geometry and segments under this key path will be used to create the A3DAsmModelFile to export as 3MF.

  • in_file_name – The name of the file to write the 3MF data to.

  • in_options – The options controlling the export of the 3MF data.

Returns

An ExportNotfier object that can be used to query the export progress and status.

static ExportNotifier Export3MF(KeyPathArray const &in_source, char const *in_file_name, Export3MFOptionsKit const &in_options)

Performs an asynchronous 3MF export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_source – An array of key paths containing the data to export. The geometry and segments under these key paths will be used to create the A3DAsmModelFile to export as 3MF.

  • in_file_name – The name of the file to write the 3MF data to.

  • in_options – The options controlling the export of the 3MF data.

Returns

An ExportNotfier object that can be used to query the export progress and status.

static ExportNotifier Export3MF(size_t in_count, KeyPath const in_source[], char const *in_file_name, Export3MFOptionsKit const &in_options)

Performs an asynchronous 3MF export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_count – The number of key paths stored in in_source.

  • in_source – An array of key paths containing the data to export. The geometry and segments under these key paths will be used to create the A3DAsmModelFile to export as 3MF.

  • in_file_name – The name of the file to write the 3MF data to.

  • in_options – The options controlling the export of the 3MF data.

Returns

An ExportNotfier object that can be used to query the export progress and status.

static void ExportACIS(CADModel const &in_cad_model, char const *in_file_name, ExportACISOptionsKit const &in_options)

Performs a synchronous ACIS export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export. This CADModel must have come from a CAD file imported via Exchange, if it did not, the export will not succeed.

  • in_file_name – The name of the file to write the ACIS data to.

  • in_options – The options controlling the export of the ACIS data.

static void ExportFBX(CADModel const &in_cad_model, char const *in_file_name, ExportFBXOptionsKit const &in_options)

Performs a synchronous FBX export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export. This CADModel must have come from a CAD file imported via Exchange, if it did not, the export will not succeed.

  • in_file_name – The name of the file to write the FBX data to.

  • in_options – The options controlling the export of the FBX data.

static void ExportGLTF(CADModel const &in_cad_model, char const *in_file_name, ExportGLTFOptionsKit const &in_options)

Performs a synchronous GLTF export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export. This CADModel must have come from a CAD file imported via Exchange, if it did not, the export will not succeed.

  • in_file_name – The name of the file to write the GLTF data to.

  • in_options – The options controlling the export of the GLTF data.

static void ExportIGES(CADModel const &in_cad_model, char const *in_file_name, ExportIGESOptionsKit const &in_options)

Performs a synchronous IGES export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export. This CADModel must have come from a CAD file imported via Exchange, if it did not, the export will not succeed.

  • in_file_name – The name of the file to write the IGES data to.

  • in_options – The options controlling the export of the IGES data.

static void ExportJT(CADModel const &in_cad_model, char const *in_file_name, ExportJTOptionsKit const &in_options)

Performs a synchronous JT export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export. This CADModel must have come from a CAD file imported via Exchange, if it did not, the export will not succeed.

  • in_file_name – The name of the file to write the JT data to.

  • in_options – The options controlling the export of the JT data.

static void ExportOBJ(CADModel const &in_cad_model, char const *in_file_name, ExportOBJOptionsKit const &in_options)

Performs a synchronous OBJ export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export. This CADModel must have come from a CAD file imported via Exchange, if it did not, the export will not succeed.

  • in_file_name – The name of the file to write the OBJ data to.

  • in_options – The options controlling the export of the OBJ data.

static void ExportParasolid(CADModel const &in_cad_model, char const *in_file_name, ExportParasolidOptionsKit const &in_options)

Performs a synchronous Parasolid export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export. This CADModel must have come from a CAD file imported via Exchange, if it did not, the export will not succeed.

  • in_file_name – The name of the file to write the Parasolid data to.

  • in_options – The options controlling the export of the Parasolid data.

static ExportNotifier ExportPRC(CADModel const &in_cad_model, char const *in_file_name, ExportPRCOptionsKit const &in_options)

Performs an asynchronous PRC export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export. This CADModel must have come from a CAD file imported via Exchange, if it did not, the export will not succeed.

  • in_file_name – The name of the file to write the PRC data to.

  • in_options – The options controlling the export of the PRC data.

Returns

An ExportNotfier object that can be used to query the export progress and status.

static ExportNotifier ExportPRC(KeyPath const &in_source)

Performs an asynchronous creation of an A3DAsmModelFile from a KeyPath.

Parameters

in_source – A key path containing the data to export. The geometry and segments under these key paths will be used to create the A3DAsmModelFile.

Returns

An ExportNotfier object that can be used to query the export progress and status.

static ExportNotifier ExportPRC(KeyPath const &in_source, char const *in_file_name, bool in_compress_tessellation = false)

Performs an asynchronous PRC export from an A3DAsmModelFile created from a KeyPath.

Parameters
  • in_source – An array of key paths containing the data to export. The geometry and segments under these key paths will be used to create the A3DAsmModelFile to export as PRC.

  • in_file_name – The name of the file to write the PRC data to.

  • in_compress_tessellation – Whether to compress the tessellation data in the PRC data. Defaults to false.

Returns

An ExportNotfier object that can be used to query the export progress and status.

static ExportNotifier ExportPRC(KeyPathArray const &in_source)

Performs an asynchronous creation of an A3DAsmModelFile from a KeyPathArray.

Parameters

in_source – An array of key paths containing the data to export. The geometry and segments under these key paths will be used to create the A3DAsmModelFile.

Returns

An ExportNotfier object that can be used to query the export progress and status.

static ExportNotifier ExportPRC(KeyPathArray const &in_source, char const *in_file_name, bool in_compress_tessellation = false)

Performs an asynchronous PRC export from an A3DAsmModelFile created from a KeyPathArray.

Parameters
  • in_source – An array of key paths containing the data to export. The geometry and segments under these key paths will be used to create the A3DAsmModelFile to export as PRC.

  • in_file_name – The name of the file to write the PRC data to.

  • in_compress_tessellation – Whether to compress the tessellation data in the PRC data. Defaults to false.

Returns

An ExportNotfier object that can be used to query the export progress and status.

static ExportNotifier ExportPRC(size_t in_count, KeyPath const in_source[])

Performs an asynchronous creation of an A3DAsmModelFile from a KeyPathArray.

Parameters
  • in_count – The size of in_source

  • in_source – An array of key paths containing the data to export. The geometry and segments under these key paths will be used to create the A3DAsmModelFile.

Returns

An ExportNotfier object that can be used to query the export progress and status.

static ExportNotifier ExportPRC(size_t in_count, KeyPath const in_source[], char const *in_file_name, bool in_compress_tessellation = false)

Performs an asynchronous PRC export from an A3DAsmModelFile created from a KeyPathArray.

Parameters
  • in_count – The size of in_source

  • in_source – An array of key paths containing the data to export. The geometry and segments under these key paths will be used to create the A3DAsmModelFile to export as PRC.

  • in_file_name – The name of the file to write the PRC data to.

  • in_compress_tessellation – Whether to compress the tessellation data in the PRC data. Defaults to false.

Returns

An ExportNotfier object that can be used to query the export progress and status.

static void ExportSTEP(CADModel const &in_cad_model, char const *in_file_name, ExportSTEPOptionsKit const &in_options)

Performs a synchronous STEP export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export. This CADModel must have come from a CAD file imported via Exchange, if it did not, the export will not succeed.

  • in_file_name – The name of the file to write the STEP data to.

  • in_options – The options controlling the export of the STEP data.

static void ExportSTL(CADModel const &in_cad_model, char const *in_file_name, ExportSTLOptionsKit const &in_options)

Performs a synchronous STL export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export. This CADModel must have come from a CAD file imported via Exchange, if it did not, the export will not succeed.

  • in_file_name – The name of the file to write the STL data to.

  • in_options – The options controlling the export of the STL data.

static void ExportU3D(CADModel const &in_cad_model, char const *in_file_name, ExportU3DOptionsKit const &in_options)

Performs a synchronous U3D export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export. This CADModel must have come from a CAD file imported via Exchange, if it did not, the export will not succeed.

  • in_file_name – The name of the file to write the U3D data to.

  • in_options – The options controlling the export of the U3D data.

static void ExportVRML(CADModel const &in_cad_model, char const *in_file_name)

Performs a synchronous VRML export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export. This CADModel must have come from a CAD file imported via Exchange, if it did not, the export will not succeed.

  • in_file_name – The name of the file to write the VRML data to.

static void ExportXML(CADModel const &in_cad_model, char const *in_file_name, ExportXMLOptionsKit const &in_options)

Performs a synchronous XML export of the given CADModel with the provided options to a given filename. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export. This CADModel must have come from a CAD file imported via Exchange, if it did not, the export will not succeed.

  • in_file_name – The name of the file to write the XML data to.

  • in_options – The options controlling the export of the XML data.

static ConfigurationArray GetConfigurations(char const *in_file_name)

Gets a list of configurations for the given file (if any). It should be called prior to Import if a file has configurations and the user wants or needs to specify the configuration to import and requires a list of the available configurations. If there are configurations, the function will return an array which has been populated with the list of configurations. If there are no configurations, the function will return an empty array. May throw an IOException if a problem is encountered when querying the configurations.

static Format GetFormat(char const *in_file_name)

Gets the format for the given file as determined by Exchange. May throw an IOException if a problem is encountered when querying the format.

static void GetInformation(const char *in_file_name, Format &out_format, UTF8 &out_model_name, UTF8 &out_version, UTF8 &out_author, UTF8 &out_organization, UTF8 &out_time_stamp)

Returns information associated with the given file as determined by Exchange, without performing a full conversion. CatiaV5 and Solidworks are the only formats currently supported. May thrown an IOException if a problem is encountered. Some of the fields returned may be empty.

Parameters
  • in_file_name – The file to query

  • out_format – The format of the file

  • out_model_name – The name of the model contained in the file

  • out_version – The software release version

  • out_author – The file author

  • out_organization – The organization associated with the file

  • out_time_stamp – The time stamp

static HPS::ImageKit GetThumbnailImage(const char *in_file_name)

Returns the thumbnail image associated with the given file as determined by Exchange, if any. CatiaV5 and Solidworks are the only formats currently supported. May thrown an IOException if a problem is encountered.

Parameters

in_file_name – The file to query

Returns

An ImageKit containing the thumbnail

static ImportNotifier Import(A3DAsmModelFile const *in_model_file, ModelFileImportOptionsKit const &in_options)

Performs an asynchronous import of the specified A3DAsmModelFile with the provided options. May throw an IOException prior to starting the asynchronous import. Note that if the import is successful, the CADModel created from this import will not own its associated A3DAsmModelFile (see Exchange::CADModel::GetEntityOwnership for more details).

Parameters
  • in_model_file – The A3DAsmModelFile to import.

  • in_options – The options controlling the import of the CAD file. Whether these options will have any effect depends on how the A3DAsmModelFile was created.

Returns

An ImportNotfier object that can be used to query the import progress and status.

static ImportNotifier Import(ByteArray const &in_prc_data, ModelFileImportOptionsKit const &in_options)

Performs an asynchronous import of the specified PRC data with the provided options. May throw an IOException prior to starting the asynchronous import. Note that if the import is successful, the CADModel created from this import will own its associated A3DAsmModelFile (see Exchange::CADModel::GetEntityOwnership for more details).

Parameters
  • in_prc_data – Buffer of PRC data to import.

  • in_options – The options controlling the import of the CAD file. Whether these options will have any effect depends on what is contained in the PRC data.

Returns

An ImportNotfier object that can be used to query the import progress and status.

static ImportNotifier Import(char const *in_file_name, ImportOptionsKit const &in_options)

Performs an asynchronous import of the specified CAD file with the provided options. May throw an IOException prior to starting the asynchronous import. Note that if the import is successful, the CADModel created from this import will own its associated A3DAsmModelFile (see Exchange::CADModel::GetEntityOwnership for more details).

Parameters
  • in_file_name – The name of the CAD file to import.

  • in_options – The options controlling the import of the CAD file.

Returns

An ImportNotfier object that can be used to query the import progress and status.

static ImportNotifier Import(size_t in_byte_count, byte const in_prc_data[], ModelFileImportOptionsKit const &in_options)

Performs an asynchronous import of the specified PRC data with the provided options. May throw an IOException prior to starting the asynchronous import. Note that if the import is successful, the CADModel created from this import will own its associated A3DAsmModelFile (see Exchange::CADModel::GetEntityOwnership for more details).

Parameters
  • in_byte_count – Size of the following array.

  • in_prc_data – Buffer of PRC data to import.

  • in_options – The options controlling the import of the CAD file. Whether these options will have any effect depends on what is contained in the PRC data.

Returns

An ImportNotfier object that can be used to query the import progress and status.

static TranslationNotifier Translate(char const *in_file_name, ImportOptionsKit const &in_options, TranslationOptionsKit const &in_translation_options)

Asynchronously translates the specified CAD files into an array of Parasolid parts, using the options provided. A valid Parasolid session is required for this function to succeed.

Parameters
  • in_file_name – The name of the CAD file to translate.

  • in_options – The options controlling the translation of the CAD file.

  • in_translation_options – Options used during the translation.

Returns

An TranslationNotifier object that can be used to query the import progress and status.