Overview

Programming Guide

API Reference

Write functions

Writing modelfiles defined through this API. More...

Data Structures

struct  A3DRWParamsExportPrcData
 A structure that specifies parameters used to write the model file to PRC format.
 
struct  A3DRWParamsExportStepData
 A structure that specifies parameters used to write the model file to a STEP format.
 
struct  A3DRWParamsExportIgesData
 A structure that specifies parameters used to write the model file to IGES format.
 
struct  A3DRWParamsExportParasolidData
 A structure that specifies parameters used to write the model file to Parasolid format.
 
struct  A3DChainedBuffer
 A structure that contains chained buffers. It is used to by: A3DAsmModelFileExportToParasolidBuffer
A3DRepresentationItemExportToParasolidBuffer
A3DAsmModelFileExportToAcisBuffer
A3DRepresentationItemExportToAcisBuffer
A3DChainedBufferFree
This structure can be used directly when loading a file from a buffer in Parasolid.
 
struct  A3DRWParamsTranslateToPkPartsData
 A structure that specifies parameters used to translate the model file or a representation item into an open Parasolid session.
 
struct  A3DRWParamsExportStlData
 A structure that specifies parameters used to write the model file to STL format.
 
struct  A3DRWParamsExportU3DData
 A structure that specifies parameters used to write the model file to U3D format.
 
struct  A3DRWParamsExportJTData
 A structure that specifies parameters used to write the model file to JT format.
 
struct  A3DRWParamsExportAcisData
 A structure that specifies parameters used to write the model file to ACIS format.
 
struct  A3DRWParamsExportXMLData
 A structure that specifies parameters used to write the model file to XML format.
 

Typedefs

typedef struct A3DChainedBuffer A3DChainedBuffer
 A structure that contains chained buffers. It is used to by: A3DAsmModelFileExportToParasolidBuffer
A3DRepresentationItemExportToParasolidBuffer
A3DAsmModelFileExportToAcisBuffer
A3DRepresentationItemExportToAcisBuffer
A3DChainedBufferFree
This structure can be used directly when loading a file from a buffer in Parasolid. More...
 

Enumerations

enum  A3DEWriteGeomTessMode { kA3DWriteGeomOnly = 0, kA3DWriteGeomAndTess, kA3DWriteTessOnly }
 
enum  A3DECompressBrepType { kA3DCompressionLow = 0, kA3DCompressionMedium, kA3DCompressionHigh }
 
enum  A3DEStepFormat { kA3DStepAP203 = 0, kA3DStepAP214 }
 
enum  A3DETranslateToPkPartsHealing { kA3DE_HEALING_NO, kA3DE_HEALING_YES, kA3DE_HEALING_ONLY_IF_NOT_PARASOLID }
 
enum  A3DETranslateToPkPartsAccurate {
  kA3DE_ACCURATE_NO, kA3DE_ACCURATE_YES, kA3DE_ACCURATE_ONLY_IF_NOT_PARASOLID, kA3DE_ACCURATE_SLOW_YES,
  kA3DE_ACCURATE_SLOW_ONLY_IF_NOT_PARASOLID
}
 
enum  A3DETranslateToPkPartsSimplifyGeometry { kA3DE_SIMPLIFY_NO, kA3DE_SIMPLIFY_YES, kA3DE_SIMPLIFY_ONLY_IF_NOT_PARASOLID }
 
enum  A3DETranslateToPkPartsMergeEntities { kA3DE_MERGE_NO, kA3DE_MERGE_YES, kA3DE_MERGE_ONLY_IF_NOT_PARASOLID }
 
enum  A3DEU3DVersion { kA3DECMA1, kA3DECMA3 }
 
enum  A3DEWriteGeomTessMode { kA3DWriteGeomOnly = 0, kA3DWriteGeomAndTess, kA3DWriteTessOnly }
 WritingMode of the model file. Set which kind of content should be written. More...
 
enum  A3DECompressBrepType { kA3DCompressionLow = 0, kA3DCompressionMedium, kA3DCompressionHigh }
 Level of compression used to write the model file to PRC format. More...
 
enum  A3DEStepFormat { kA3DStepAP203 = 0, kA3DStepAP214 }
 STEP formats supported for export. More...
 
enum  A3DETranslateToPkPartsHealing { kA3DE_HEALING_NO, kA3DE_HEALING_YES, kA3DE_HEALING_ONLY_IF_NOT_PARASOLID }
 Control mode of the healing in TranslateToPkParts functions. Used in A3DRWParamsTranslateToPkPartsData. More...
 
enum  A3DETranslateToPkPartsAccurate {
  kA3DE_ACCURATE_NO, kA3DE_ACCURATE_YES, kA3DE_ACCURATE_ONLY_IF_NOT_PARASOLID, kA3DE_ACCURATE_SLOW_YES,
  kA3DE_ACCURATE_SLOW_ONLY_IF_NOT_PARASOLID
}
 Control mode of the accurate edge computation in TranslateToPkParts functions. Used in A3DRWParamsTranslateToPkPartsData. More...
 
enum  A3DETranslateToPkPartsSimplifyGeometry { kA3DE_SIMPLIFY_NO, kA3DE_SIMPLIFY_YES, kA3DE_SIMPLIFY_ONLY_IF_NOT_PARASOLID }
 Control mode of the healing in TranslateToPkParts functions. Used in A3DRWParamsTranslateToPkPartsData. More...
 
enum  A3DETranslateToPkPartsMergeEntities { kA3DE_MERGE_NO, kA3DE_MERGE_YES, kA3DE_MERGE_ONLY_IF_NOT_PARASOLID }
 Control mode of the accurate edge computation in TranslateToPkParts functions. Used in A3DRWParamsTranslateToPkPartsData. More...
 
enum  A3DEU3DVersion { kA3DECMA1, kA3DECMA3 }
 U3D formats supported for export. More...
 

Functions

A3DStatus A3DAsmModelFileExportToPrcFile (const A3DAsmModelFile *pA3DAsmModelFile, const A3DRWParamsExportPrcData *pParamsExportData, const A3DUTF8Char *pcCADFileName, A3DRWParamsPrcWriteHelper **ppPrcWriteHelper)
 Writes a model file to a physical file in a PRC format. More...
 
A3DStatus A3DAsmGetFilesPathFromModelFile (const A3DAsmModelFile *pA3DAsmModelFile, A3DUns32 *uNbPartFiles, A3DUTF8Char ***ppPartFilesPaths, A3DUns32 *uNbAssemblyFiles, A3DUTF8Char ***ppAssemblyFilesPaths, A3DUns32 *uNbMissingFiles, A3DUTF8Char ***ppMissingFilesPaths)
 Extract file paths from a model file. More...
 
A3DStatus A3DAsmGetFilesContextsFromModelFile (const A3DAsmModelFile *pA3DAsmModelFile, A3DUns32 *uNbFilesContexts, A3DFileContextData ***ppFilesContexts)
 Extract all the files contexts (RefSet, Configs...) from a model file. More...
 
A3DStatus A3DAsmModelFileLoadFromPRCFiles (const A3DUTF8Char *pcRootPrcFilePath, const A3DUns32 uNbFile, const A3DUTF8Char **ppPRCFilePath, const A3DUTF8Char **ppCADFilePath, const A3DRWParamsLoadData *pParamsLoadData, A3DAsmModelFile **pA3DAsmModelFile)
 Creates a model file from multiple PRC files + an PRC assembly file + a map for file names. This function replugs all the parts And Product from a list from a PRC file loaded with an "assembly NO Dependency" mode. More...
 
A3DStatus A3DAsmModelFileLoadFromMultiplePrcFile (const A3DUTF8Char *pcFileName, const A3DUns32 uNbPart, const A3DUTF8Char **ppCADFilePath, const A3DUTF8Char **ppPRCFilePath, const A3DRWParamsLoadData *pParamsLoadData, A3DAsmModelFile **pA3DAsmModelFile)
 Creates a model file from multiple PRC files + an PRC assembly file + a map for file names. More...
 
A3DStatus A3DAsmModelFileExportToPrcStream (const A3DAsmModelFile *pA3DAsmModelFile, const A3DRWParamsExportPrcData *pParamsExportData, A3DUTF8Char *&pcStream, unsigned int &uLength, A3DRWParamsPrcWriteHelper **ppPrcWriteHelper)
 Writes a model file to a physical file in a PRC format. More...
 
A3DVoid A3DRWParamsPrcWriteHelperFree (A3DRWParamsPrcWriteHelper *pA3DRWParamsPrcWriteHelper)
 Free PRC write helper. More...
 
A3DStatus A3DAsmModelFileExportToStepFile (const A3DAsmModelFile *pA3DAsmModelFile, const A3DRWParamsExportStepData *pParamsExportData, const A3DUTF8Char *pcCADFileName)
 Writes a model file to a physical file in STEP format. More...
 
A3DStatus A3DAsmModelFileExportToIgesFile (const A3DAsmModelFile *pA3DAsmModelFile, const A3DRWParamsExportIgesData *pParamsExportData, const A3DUTF8Char *pcCADFileName)
 Writes a model file to a physical file in IGES format. More...
 
A3DStatus A3DAsmModelFileExportToParasolidFile (const A3DAsmModelFile *pA3DAsmModelFile, const A3DRWParamsExportParasolidData *pParamsExportData, const A3DUTF8Char *pcCADFileName)
 Writes a model file to a physical file in Parasolid format. More...
 
A3DStatus A3DChainedBufferFree (A3DChainedBuffer *pBuffer)
 This function is used to free memory allocated by following functions: A3DAsmModelFileExportToParasolidBuffer
A3DRepresentationItemExportToParasolidBuffer
A3DAsmModelFileExportToAcisBuffer
A3DRepresentationItemExportToAcisBuffer
A3DChainedBufferFree
. More...
 
A3DStatus A3DAsmModelFileExportToParasolidBuffer (const A3DAsmModelFile *pA3DAsmModelFile, const A3DRWParamsExportParasolidData *pParamsExportData, A3DChainedBuffer **pBuffer)
 Writes a model file to a buffer in Parasolid format. More...
 
A3DStatus A3DRepresentationItemExportToParasolidFile (const A3DRiRepresentationItem *pRepItem, const A3DUTF8Char *pcTempFileName, A3DDouble dUnit)
 Writes a representation item to a file in Parasolid format. More...
 
A3DStatus A3DRepresentationItemExportToParasolidBuffer (const A3DRiRepresentationItem *pRepItem, A3DChainedBuffer **pBuffer, double dUnit)
 Writes a representation item to a buffer in Parasolid format. More...
 
A3DStatus A3DAsmModelFileTranslateToPkParts (const A3DAsmModelFile *pA3DAsmModelFile, const A3DRWParamsExportParasolidData *pParamsExportData, const A3DRWParamsTranslateToPkPartsData *pParamsTranslateToPkPartsData, int *pNbPkParts, int **pPkParts)
 Writes a model file to parts in the current parasolid session. More...
 
A3DStatus A3DRepresentationItemTranslateToPkParts (const A3DRiRepresentationItem *pRepItem, const A3DRWParamsTranslateToPkPartsData *pParamsTranslateToPkPartsData, double dUnit, int *pNbPkParts, int **pPkParts)
 Writes a representation item to parts in the current parasolid session. More...
 
A3DStatus A3DMiscPKMapperGetPKEntitiesFromA3DEntity (const A3DMiscPKMapper *pMapper, const A3DEntity *pA3DEntity, int *piNbPKEntities, int **ppPKEntities)
 Get Parasolid entities from HOOPS Exchange entity. More...
 
A3DStatus A3DMiscPKMapperGetA3DEntitiesFromPKEntity (const A3DMiscPKMapper *pMapper, int pPKEntity, int *piNbA3DEntities, A3DEntity **ppA3DEntities)
 Get HOOPS Exchange entities from Parasolid entity. More...
 
A3DStatus A3DAsmModelFileExportToStlFile (const A3DAsmModelFile *pA3DAsmModelFile, const A3DRWParamsExportStlData *pParamsExportData, const A3DUTF8Char *pcCADFileName)
 Writes a model file to a physical file in STL format. More...
 
A3DStatus A3DAsmModelFileExportToU3DFile (const A3DAsmModelFile *pA3DAsmModelFile, const A3DRWParamsExportU3DData *pParamsExportData, const A3DUTF8Char *pcCADFileName)
 Writes a model file to a physical file in Universal 3D format. More...
 
A3DStatus A3DAsmModelFileExportToJTFile (const A3DAsmModelFile *pA3DAsmModelFile, const A3DRWParamsExportJTData *pParamsExportData, const A3DUTF8Char *pcCADFileName)
 Writes a model file to a physical file in JT format. More...
 
A3DStatus A3DAsmModelFileExportToAcisFile (const A3DAsmModelFile *pA3DAsmModelFile, const A3DRWParamsExportAcisData *pParamsExportData, const A3DUTF8Char *pcCADFileName)
 Writes a model file to a physical file in ACIS format. More...
 
A3DStatus A3DAsmModelFileExportToAcisBuffer (const A3DAsmModelFile *pA3DAsmModelFile, const A3DRWParamsExportAcisData *pParamsExportData, A3DChainedBuffer **pBuffer)
 Writes a model file to a buffer in binary ACIS format. More...
 
A3DStatus A3DRepresentationItemExportToAcisBuffer (const A3DRiRepresentationItem *pRepItem, A3DChainedBuffer **pBuffer, double dScale)
 Writes a representation item to a buffer in binary ACIS format. More...
 
A3DStatus A3DAsmModelFileExportToVrmlFile (const A3DAsmModelFile *pA3DAsmModelFile, const A3DUTF8Char *pcCADFileName)
 Writes a model file to a physical file in VRML format. More...
 
A3DStatus A3DAsmModelFileExportToXMLFile (const A3DAsmModelFile *pA3DAsmModelFile, const A3DRWParamsExportXMLData *pParamsExportData, const A3DUTF8Char *pcXMLFileName, unsigned int *uMapSize, unsigned int **puMapXmlIds, A3DEntity ***ppMapProductOccurrences)
 Writes a model file to a physical file in XML format. More...
 

Detailed Description

Writing modelfiles defined through this API.

Available formats are: PRC, ACIS, IGES, JT, STEP, Parasolid, STL and VRML.

Typedef Documentation

A structure that contains chained buffers. It is used to by: A3DAsmModelFileExportToParasolidBuffer
A3DRepresentationItemExportToParasolidBuffer
A3DAsmModelFileExportToAcisBuffer
A3DRepresentationItemExportToAcisBuffer
A3DChainedBufferFree
This structure can be used directly when loading a file from a buffer in Parasolid.

Version
4.0

Enumeration Type Documentation

WritingMode of the model file. Set which kind of content should be written.

Version
6.0
Enumerator
kA3DWriteGeomOnly 

Write only geometry.

kA3DWriteGeomAndTess 

Mixed mode: write geometry and tessellation.

kA3DWriteTessOnly 

Write only tessellation.

Level of compression used to write the model file to PRC format.

This sets the amount, in millimeters, of lossy compression that is applied to geometry. For best results when exporting geometry, use kA3DCompressionLow.

Version
3.0
Enumerator
kA3DCompressionLow 

Compression with tolerance set to 0.001 mm (low compression, high accuracy).

kA3DCompressionMedium 

Compression with tolerance set to 0.01 mm (medium compression, medium accuracy).

kA3DCompressionHigh 

Compression with tolerance set to 0.1 mm (high compression, low accuracy).

STEP formats supported for export.

Version
3.0
Enumerator
kA3DStepAP203 

AP 203.

kA3DStepAP214 

AP 214.

Control mode of the healing in TranslateToPkParts functions. Used in A3DRWParamsTranslateToPkPartsData.

Version
8.1
Enumerator
kA3DE_HEALING_NO 

Disable healing.

kA3DE_HEALING_YES 

Enable healing.

kA3DE_HEALING_ONLY_IF_NOT_PARASOLID 

Enable healing only for data coming from neither Parasolid nor from any format that embeds Parasolid data (NX, SolidWorks, Solid Edge and JT) but only if the A3DRWParamsParasolidData::m_bKeepParsedEntities reading option is enabled.

Control mode of the accurate edge computation in TranslateToPkParts functions. Used in A3DRWParamsTranslateToPkPartsData.

Version
8.1
Enumerator
kA3DE_ACCURATE_NO 

Disable accurate edge computation.

kA3DE_ACCURATE_YES 

Enable accurate edge computation.

kA3DE_ACCURATE_ONLY_IF_NOT_PARASOLID 

Enable accurate edge computation only for data coming from neither Parasolid nor from any format that embeds Parasolid data (NX, SolidWorks, Solid Edge and JT) but only if the A3DRWParamsParasolidData::m_bKeepParsedEntities reading option is enabled.

kA3DE_ACCURATE_SLOW_YES 

Enable slow accurate edge computation.

kA3DE_ACCURATE_SLOW_ONLY_IF_NOT_PARASOLID 

Enable slow accurate edge computation only for data coming from neither Parasolid nor from any format that embeds Parasolid data (NX, SolidWorks, Solid Edge and JT) but only if the A3DRWParamsParasolidData::m_bKeepParsedEntities reading option is enabled.

Control mode of the healing in TranslateToPkParts functions. Used in A3DRWParamsTranslateToPkPartsData.

Version
8.1
Enumerator
kA3DE_SIMPLIFY_NO 

Disable healing.

kA3DE_SIMPLIFY_YES 

Enable healing.

kA3DE_SIMPLIFY_ONLY_IF_NOT_PARASOLID 

Enable healing only for data coming from neither Parasolid nor from any format that embeds Parasolid data (NX, SolidWorks, Solid Edge and JT) but only if the A3DRWParamsParasolidData::m_bKeepParsedEntities reading option is enabled.

Control mode of the accurate edge computation in TranslateToPkParts functions. Used in A3DRWParamsTranslateToPkPartsData.

Version
8.1
Enumerator
kA3DE_MERGE_NO 

Disable accurate edge computation.

kA3DE_MERGE_YES 

Enable accurate edge computation.

kA3DE_MERGE_ONLY_IF_NOT_PARASOLID 

Enable accurate edge computation only for data coming from neither Parasolid nor from any format that embeds Parasolid data (NX, SolidWorks, Solid Edge and JT) but only if the A3DRWParamsParasolidData::m_bKeepParsedEntities reading option is enabled.

U3D formats supported for export.

Version
4.0
Enumerator
kA3DECMA1 

ECMA-363, version 1 writing. (Acrobat Reader 7.0 compatible).

kA3DECMA3 

ECMA-363, version 3 writing.