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 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)
Navisworks file (A3DEModellerType::kA3DModellerNavisworks)
-
enumerator Unsupported
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
- 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
-
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
-
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
-
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.
-
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
-
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).
-
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
- 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.
-
enum Format