Reads and writes a physical file containing a PRC model file; and creates and accesses model file entities. More...

Data Structures

struct  A3DAsmModelFileData
 ModelFile structure. More...
 

Enumerations

enum  A3DEModellerType {
  kA3DModellerUnknown = 0,
  kA3DModellerCatia = 2,
  kA3DModellerCatiaV5 = 3,
  kA3DModellerCadds = 4,
  kA3DModellerUnigraphics = 5,
  kA3DModellerParasolid = 6,
  kA3DModellerEuclid = 7,
  kA3DModellerIges = 9,
  kA3DModellerUnisurf = 10,
  kA3DModellerVda = 11,
  kA3DModellerStl = 12,
  kA3DModellerWrl = 13,
  kA3DModellerDxf = 14,
  kA3DModellerAcis = 15,
  kA3DModellerProE = 16,
  kA3DModellerStep = 18,
  kA3DModellerIdeas = 19,
  kA3DModellerJt = 20,
  kA3DModellerSlw = 22,
  kA3DModellerCgr = 23,
  kA3DModellerPrc = 24,
  kA3DModellerXvl = 25,
  kA3DModellerHpgl = 26,
  kA3DModellerTopSolid = 27,
  kA3DModellerOneSpaceDesigner = 28,
  kA3DModeller3dxml = 29,
  kA3DModellerInventor = 30,
  kA3DModellerPostScript = 31,
  kA3DModellerPDF = 32,
  kA3DModellerU3D = 33,
  kA3DModellerIFC = 34,
  kA3DModellerDWG = 35,
  kA3DModellerDWF = 36,
  kA3DModellerSE = 37,
  kA3DModellerOBJ = 38,
  kA3DModellerKMZ = 39,
  kA3DModellerDAE = 40,
  kA3DModeller3DS = 41,
  kA3DModellerRhino = 43,
  kA3DModellerXML = 44,
  kA3DModeller3mf = 45,
  kA3DModellerScs = 46,
  kA3DModeller3dHtml = 47,
  kA3DModellerHsf = 48,
  kA3DModellerGltf = 49,
  kA3DModellerRevit = 50,
  kA3DModellerFBX = 51,
  kA3DModellerStepXML = 52,
  kA3DModellerPLMXML = 53,
  kA3DModellerNavisworks = 54
}
 A3DSDKStructure. More...
 

Functions

A3DStatus A3DAsmModelFileCreate (const A3DAsmModelFileData *pData, A3DAsmModelFile **ppModelFile)
 Creates a new A3DAsmModelFile using the data in the given A3DAsmModelFileData structure. More...
 
A3DStatus A3DAsmModelFileDelete (A3DAsmModelFile *pModelFile)
 Deletes the entire A3DAsmModelFile entity from memory. More...
 
A3DStatus A3DAsmModelFileGet (const A3DAsmModelFile *pModelFile, A3DAsmModelFileData *pData)
 Populates the A3DAsmModelFileData structure. More...
 
A3DStatus A3DAsmModelFileGetUnit (const A3DAsmModelFile *pModelFile, A3DDouble *pdUnit)
 Gives the unit of the model. More...
 
A3DStatus A3DAsmModelFileUnloadParts (A3DAsmModelFile *pModelFile, A3DUns32 uiPartsSize, A3DAsmProductOccurrence **ppParts)
 Removes all tessellation and geometry of an A3DAsmProductOccurrence entity This can only be done on parts. More...
 
A3DDouble A3DUnitGetFromEnum (A3DEUnits eUnit)
 Gives the unit of the model. More...
 
A3DEUnits A3DUnitGetFromValue (A3DDouble dUnit)
 Gives the unit from of the model. More...
 

Detailed Description

Reads and writes a physical file containing a PRC model file; and creates and accesses model file entities.

The A3DAsmModelFile is the root entity of the PRC data. It is the starting point for parsing a PRC file. It is also one of the arguments used to create a 3D annotation within a PDF document.

Entity type is kA3DTypeAsmModelFile.

Enumeration Type Documentation

◆ A3DEModellerType

A3DSDKStructure.

Modeller type

Version
2.1
Enumerator
kA3DModellerUnknown 

User modeller.

kA3DModellerCatia 

CATIA modeller.

kA3DModellerCatiaV5 

CATIA V5 modeller.

kA3DModellerCadds 

CADDS modeller.

kA3DModellerUnigraphics 

Unigraphics modeller.

kA3DModellerParasolid 

Parasolid modeller.

kA3DModellerEuclid 

Euclid modeller.

kA3DModellerIges 

IGES modeller.

kA3DModellerUnisurf 

Unisurf modeller.

kA3DModellerVda 

VDA modeller.

kA3DModellerStl 

STL modeller.

kA3DModellerWrl 

WRL modeller.

kA3DModellerDxf 

DXF modeller.

kA3DModellerAcis 

ACIS modeller.

kA3DModellerProE 

Pro/E modeller.

kA3DModellerStep 

STEP modeller.

kA3DModellerIdeas 

I-DEAS modeller.

kA3DModellerJt 

JT modeller.

kA3DModellerSlw 

SolidWorks modeller.

kA3DModellerCgr 

CGR modeller.

kA3DModellerPrc 

PRC modeller.

kA3DModellerXvl 

XVL modeller.

kA3DModellerHpgl 

HPGL modeller.

kA3DModellerTopSolid 

TopSolid modeller.

kA3DModellerOneSpaceDesigner 

OneSpace designer modeller.

kA3DModeller3dxml 

3DXML modeller.

kA3DModellerInventor 

Inventor modeller.

kA3DModellerPostScript 

Postscript modeller.

kA3DModellerPDF 

PDF modeller.

kA3DModellerU3D 

U3D modeller.

kA3DModellerIFC 

IFC modeller.

kA3DModellerDWG 

DWG modeller.

kA3DModellerDWF 

DWF modeller.

kA3DModellerSE 

SolidEdge modeller.

kA3DModellerOBJ 

OBJ modeller.

kA3DModellerKMZ 

KMZ modeller.

kA3DModellerDAE 

COLLADA modeller.

kA3DModeller3DS 

3DS modeller.

kA3DModellerRhino 

Rhino modeller.

kA3DModellerXML 

XML modeller.

kA3DModeller3mf 

3MF modeller.

kA3DModellerScs 

SCS modeller.

kA3DModeller3dHtml 

3DHTML modeller.

kA3DModellerHsf 

Hsf modeller.

kA3DModellerGltf 

GL modeller.

kA3DModellerRevit 

Revit modeller.

kA3DModellerFBX 

FBX modeller.

kA3DModellerStepXML 

StepXML modeller.

kA3DModellerPLMXML 

PLMXML modeller.

kA3DModellerNavisworks 

Navisworks modeller.

Function Documentation

◆ A3DAsmModelFileGet()

A3DStatus A3DAsmModelFileGet ( const A3DAsmModelFile pModelFile,
A3DAsmModelFileData pData 
)

Populates the A3DAsmModelFileData structure.

Version
2.0
Parameters
pModelFileA reference to the model file, which is created by invoking A3DAsmModelFileLoadFromFile
pDataA reference to the A3DAsmModelFileData structure in which the library stores the model file data
Returns
A3D_INITIALIZE_NOT_CALLED
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_DATA_STRUCT_NULL
A3D_MODELFILE_INCONSISTENT_EMPTY
A3D_INVALID_ENTITY_NULL
A3D_INVALID_ENTITY_TYPE
A3D_SUCCESS
Sample code

◆ A3DAsmModelFileCreate()

A3DStatus A3DAsmModelFileCreate ( const A3DAsmModelFileData pData,
A3DAsmModelFile **  ppModelFile 
)

Creates a new A3DAsmModelFile using the data in the given A3DAsmModelFileData structure.

By creating a model file, you are responsible of deleting it later with A3DAsmModelFileDelete.

The new model file must have a root product occurrence. If the input data doesn't contain any, A3DAsmModelFileCreate will implicitly create one. This new product occurrence can be retrieved back on calling A3DAsmModelFileGet with ppModelFile.

Parameters
inpData The data used to create the model file.
outppModelFile a handle to the newly created model file.
Returns
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_DATA_STRUCT_NULL
A3D_SUCCESS
Version
2.0

◆ A3DAsmModelFileDelete()

A3DStatus A3DAsmModelFileDelete ( A3DAsmModelFile pModelFile)

Deletes the entire A3DAsmModelFile entity from memory.

This operation will recursively delete all entities inside the model file, thus deleting the whole PRC tree. This function is responsible for freeing the all memory allocated for pModelFile. After this call, access to the model file is no longer possible, and pModelFile is invalid.

Returns
A3D_INVALID_ENTITY_NULL
A3D_INVALID_ENTITY_TYPE
A3D_SUCCESS
Remarks
This function is only applicable to a model file.
Warning
This function must not be applied within an HOOPS Visualize Context.

See A3DEntityDelete for a more generic approach.

See also
Deleting a PRC tree
Version
2.0

◆ A3DAsmModelFileUnloadParts()

A3DStatus A3DAsmModelFileUnloadParts ( A3DAsmModelFile pModelFile,
A3DUns32  uiPartsSize,
A3DAsmProductOccurrence **  ppParts 
)

Removes all tessellation and geometry of an A3DAsmProductOccurrence entity This can only be done on parts.

Version
9.1
Parameters
pModelFileThe model file
uiPartsSizeSize of input array.
ppPartsArray of parts to unload.
Returns
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_DATA_STRUCT_NULL
A3D_PRODUCTOCCURRENCE_INCONSISTENT_PART_EXTERNAL
A3D_PRODUCTOCCURRENCE_INCONSISTENT_EMPTY
A3D_SUCCESS.

◆ A3DAsmModelFileGetUnit()

A3DStatus A3DAsmModelFileGetUnit ( const A3DAsmModelFile pModelFile,
A3DDouble pdUnit 
)

Gives the unit of the model.

Version
12.0
Parameters
pModelFileA reference to the model file, which is created by invoking A3DAsmModelFileLoadFromFile
pdUnitA reference to the unit value
Returns
A3D_INITIALIZE_NOT_CALLED
A3D_INVALID_ENTITY_NULL
A3D_INVALID_ENTITY_TYPE
A3D_SUCCESS
A3D_ERROR

◆ A3DUnitGetFromValue()

A3DEUnits A3DUnitGetFromValue ( A3DDouble  dUnit)

Gives the unit from of the model.

Version
14.1
Parameters
dUnitA unit value (in millimeter)
Returns
A3DEUnits

◆ A3DUnitGetFromEnum()

A3DDouble A3DUnitGetFromEnum ( A3DEUnits  eUnit)

Gives the unit of the model.

Version
14.1
Parameters
eUnitA unit enum
Returns
A3DDouble
scale to the unit in millimeter. If eUnit is set to kA3DUnitUnknown, the function return 1.0