Model File
Fields
kA3DModellerUnknown |
|
kA3DModellerCatia |
|
kA3DModellerCatiaV5 |
|
kA3DModellerCadds |
|
kA3DModellerUnigraphics |
|
kA3DModellerParasolid |
|
kA3DModellerEuclid |
|
kA3DModellerIges |
|
kA3DModellerUnisurf |
|
kA3DModellerVda |
|
kA3DModellerStl |
|
kA3DModellerWrl |
|
kA3DModellerDxf |
|
kA3DModellerAcis |
|
kA3DModellerProE |
|
kA3DModellerStep |
|
kA3DModellerIdeas |
|
kA3DModellerJt |
|
kA3DModellerSlw |
|
kA3DModellerCgr |
|
kA3DModellerPrc |
|
kA3DModellerXvl |
|
kA3DModellerHpgl |
|
kA3DModellerTopSolid |
|
kA3DModellerOneSpaceDesigner |
|
kA3DModeller3dxml |
|
kA3DModellerInventor |
|
kA3DModellerPostScript |
|
kA3DModellerPDF |
|
kA3DModellerU3D |
|
kA3DModellerIFC |
|
kA3DModellerDWG |
|
kA3DModellerDWF |
|
kA3DModellerSE |
|
kA3DModellerOBJ |
|
kA3DModellerKMZ |
|
kA3DModellerDAE |
|
kA3DModeller3DS |
|
kA3DModellerRhino |
|
kA3DModellerXML |
|
kA3DModeller3mf |
|
kA3DModellerScs |
|
kA3DModeller3dHtml |
|
kA3DModellerHsf |
|
kA3DModellerGltf |
|
kA3DModellerRevit |
|
kA3DModellerFBX |
|
kA3DModellerStepXML |
|
kA3DModellerPLMXML |
|
kA3DModellerNavisworks |
|
kA3DModellerDGN |
|
kA3DModellerQIF |
|
kA3DModellerLast |
Functions
A3DStatus |
A3DAsmModelFileCreate |
A3DStatus |
A3DAsmModelFileDelete |
A3DStatus |
A3DAsmModelFileUnloadParts |
A3DStatus |
A3DAsmModelFileGetUnit |
A3DEUnits |
A3DUnitGetFromValue |
A3DDouble |
A3DUnitGetFromEnum |
Detailed Description
-
group
a3d_modelfile
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.
Type Documentation
-
enum
A3DEModellerType
A3DSDKStructure.
Modeller type
- Version
- 2.1
Values:
-
enumerator
kA3DModellerUnknown
User modeller.
-
enumerator
kA3DModellerCatia
CATIA modeller.
-
enumerator
kA3DModellerCatiaV5
CATIA V5 modeller.
-
enumerator
kA3DModellerCadds
CADDS modeller.
-
enumerator
kA3DModellerUnigraphics
Unigraphics modeller.
-
enumerator
kA3DModellerParasolid
Parasolid modeller.
-
enumerator
kA3DModellerEuclid
Euclid modeller.
-
enumerator
kA3DModellerIges
IGES modeller.
-
enumerator
kA3DModellerUnisurf
Unisurf modeller.
-
enumerator
kA3DModellerVda
VDA modeller.
-
enumerator
kA3DModellerStl
STL modeller.
-
enumerator
kA3DModellerWrl
WRL modeller.
-
enumerator
kA3DModellerDxf
DXF modeller.
-
enumerator
kA3DModellerAcis
ACIS modeller.
-
enumerator
kA3DModellerProE
Pro/E modeller.
-
enumerator
kA3DModellerStep
STEP modeller.
-
enumerator
kA3DModellerIdeas
I-DEAS modeller.
-
enumerator
kA3DModellerJt
JT modeller.
-
enumerator
kA3DModellerSlw
SolidWorks modeller.
-
enumerator
kA3DModellerCgr
CGR modeller.
-
enumerator
kA3DModellerPrc
PRC modeller.
-
enumerator
kA3DModellerXvl
XVL modeller.
-
enumerator
kA3DModellerHpgl
HPGL modeller.
-
enumerator
kA3DModellerTopSolid
TopSolid modeller.
-
enumerator
kA3DModellerOneSpaceDesigner
OneSpace designer modeller.
-
enumerator
kA3DModeller3dxml
3DXML modeller.
-
enumerator
kA3DModellerInventor
Inventor modeller.
-
enumerator
kA3DModellerPostScript
Postscript modeller.
-
enumerator
kA3DModellerPDF
PDF modeller.
-
enumerator
kA3DModellerU3D
U3D modeller.
-
enumerator
kA3DModellerIFC
IFC modeller.
-
enumerator
kA3DModellerDWG
DWG modeller.
-
enumerator
kA3DModellerDWF
DWF modeller.
-
enumerator
kA3DModellerSE
SolidEdge modeller.
-
enumerator
kA3DModellerOBJ
OBJ modeller.
-
enumerator
kA3DModellerKMZ
KMZ modeller.
-
enumerator
kA3DModellerDAE
COLLADA modeller.
-
enumerator
kA3DModeller3DS
3DS modeller.
-
enumerator
kA3DModellerRhino
Rhino modeller.
-
enumerator
kA3DModellerXML
XML modeller.
-
enumerator
kA3DModeller3mf
3MF modeller.
-
enumerator
kA3DModellerScs
SCS modeller.
-
enumerator
kA3DModeller3dHtml
3DHTML modeller.
-
enumerator
kA3DModellerHsf
Hsf modeller.
-
enumerator
kA3DModellerGltf
GL modeller.
-
enumerator
kA3DModellerRevit
Revit modeller.
-
enumerator
kA3DModellerFBX
FBX modeller.
-
enumerator
kA3DModellerStepXML
StepXML modeller.
-
enumerator
kA3DModellerPLMXML
PLMXML modeller.
Navisworks modeller.
-
enumerator
kA3DModellerDGN
DGN modeller.
-
enumerator
kA3DModellerQIF
QIF modeller.
-
enumerator
kA3DModellerLast
Function Documentation
-
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
.- Version
- 2.0
Parameters: - pData – [in] The data used to create the model file.
- ppModelFile – [out] a handle to the newly created model file.
Return values: - A3D_INVALID_DATA_STRUCT_SIZE –
- A3D_INVALID_DATA_STRUCT_NULL –
- A3D_SUCCESS –
Returns: A3D_SUCCESS
on success, or an error code on failure
-
A3DStatus
A3DAsmModelFileDelete
(A3DAsmModelFile *pModelFile) Deletes the entire A3DAsmModelFile entity from memory.
This function frees all the all memory allocated for
pModelFile
. It recursively deletes all entities inside the model file, thus deleting the whole PRC tree. After the call, access to the model file is no longer possible, andpModelFile
is invalid.See A3DEntityDelete for a more generic approach.
Remark
This function is only applicable to a model file.
See also
- Version
- 2.0
Warning
This function must not be applied within an HOOPS Visualize context. See Evaluating HOOPS Publish.
Return values: - A3D_INVALID_ENTITY_NULL –
- A3D_INVALID_ENTITY_TYPE –
- A3D_SUCCESS –
Returns: A3D_SUCCESS
on success, or an error code on failure
-
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: - pModelFile – The model file
- uiPartsSize – Size of input array.
- ppParts – Array of parts to unload.
Return values: - A3D_INVALID_DATA_STRUCT_SIZE –
- A3D_INVALID_DATA_STRUCT_NULL –
- A3D_PRODUCTOCCURRENCE_INCONSISTENT_PART_EXTERNAL –
- A3D_PRODUCTOCCURRENCE_INCONSISTENT_EMPTY –
- A3D_SUCCESS –
Returns: A3D_SUCCESS
on success, or an error code on failure
-
A3DStatus
A3DAsmModelFileGetUnit
(const A3DAsmModelFile *pModelFile, A3DDouble *pdUnit) Retrieves the unit a model file should be displayed with.
- Version
- 12.0
Behavior
When
A3DAsmModelFileGetUnit
finds a suitable unit in the provided model file,pdUnit
is filled with a floating-point decimal representation of this unit, as stated in /guide/units.pdUnit
can then be converted into A3DEUnits using A3DUnitGetFromEnum.The unit of an entire model file depends on the value of the
m_bUnitFromCAD
field, either in A3DAsmModelFileData or A3DAsmProductOccurenceData.A3DAsmModelFileGetUnit
recursively traverses the model file given bypModelFile
and stops on the first entity (model file or product occurrence) wherem_bUnitFromCAD
is A3D_TRUE. Them_dUnit
field of this entity is then written inpdUnit
.- If
pdUnit
is 0, the function returnsA3D_INVALID_DATA_NULL
- If
pModelFile
is 0, the function returnsA3D_SUCCESS
and*pdUnit
is set to 0.0.
The traversal may complete without finding any unit. In this case, the function returns
A3D_ERROR
.Memory Management
The caller is reponsible from the memory pointed to by
pdUnit
.See also
/guide/units, A3DUnitGetFromEnum, A3DUnitGetFromValue, A3DEUnits
Parameters: - pModelFile – A handle to a model file entity
- pdUnit – A location to an A3DDouble
Return values: - A3D_SUCCESS – if
pModelFile
is zero or if a unit is found. - A3D_INITIALIZE_NOT_CALLED – if the library is not initialized.
- A3D_INVALID_DATA_NULL – if
pdUnit
is zero whilepModelFile
is nonzero. - A3D_ERROR – if no unit is found.
Returns: A3D_SUCCESS
on success, or an error code on failure
-
A3DEUnits
A3DUnitGetFromValue
(A3DDouble dUnit) Converts a units representation from
A3DDouble
to A3DEUnits.HOOPS Exchange stores most of its unit information as factors of millimeters, as described in A3DEUnits. This function allows you to retrieve the correct unit enumeration given an input value. For example, a value of 10. returns kA3DUnitCentimeter.
- Version
- 14.1
Behavior
To properly retrieve the correct A3DEUnits for a given
A3DDouble
input, HOOPS Exchange compares it with the expected float value of each unit (as returned by A3DUnitGetFromEnum) given a unit-specific threshold as presented by this table:Enumerator Value (millimeters) Threshold kA3DUnitAngstrom 1.e-7 1.e-9 kA3DUnitAstronomical 1.495978707e14 1.e2 kA3DUnitCentimeter 10.0 0.01 kA3DUnitDecimeter 1.e2 0.01 kA3DUnitDekameter 1.e4 0.01 kA3DUnitFoot 12.0 * 25.4 0.01 kA3DUnitGigameter 1.e12 1. kA3DUnitHectometer 1.e5 0.01 kA3DUnitInch 25.4 0.01 kA3DUnitKilometer 1000000.0 0.01 kA3DUnitLightYear 9.4607304725808e18 1.e6 kA3DUnitMeter 1000.0 0.01 kA3DUnitMicroInch 2.54e-5 1.e-7 kA3DUnitMicron 1.e-3 1.e-4 kA3DUnitMil 0.0254 1.e-4 kA3DUnitMile 1760.0 * 3.0 * 12.0 * 25.4 0.01 kA3DUnitMillimeter 1.0 0.01 kA3DUnitNanometer 1.e-6 1.e-8 kA3DUnitParsec 64800.0 / PI * 1.495978707e14 1.e7 kA3DUnitPicas 25.4 / 6.0 0.01 kA3DUnitPoint 25.4 / 72.0 0.01 kA3DUnitUSSurveyFoot 1200000.0 / 3937.0 1.e-4 kA3DUnitUSSurveyInch 100000.0 / 3937.0 1.e-5 kA3DUnitUSSurveyMile 1760.0 * 3600000.0 / 3937.0 3937.,0.01 kA3DUnitUSSurveyYard 3.0 * 1200000.0 / 3937.0 1.e-4 kA3DUnitYard 3.0 * 12.0 * 25.4 0.01 If the provided value does not fall under any of these value ranges, the function returns kA3DUnitUnknown.
See also
/guide/units, A3DEUnit, A3DUnitGetFromEnum, A3DAsmModelFileGetUnit
Parameters: dUnit – A unit value (in millimeter) Returns: An A3DEUnits value
-
A3DDouble
A3DUnitGetFromEnum
(A3DEUnits eUnit) Converts a units representation from A3DEUnits to its
A3DDouble
representation.The returned value expresses the input unit in factor of millimeters, as stated in the documentation of A3DEUnits.
If
eUnit
is kA3DUnitUnknown or any value outside of A3DEUnits enumerator, the function defaults to returning 1.0 (millimeters).See also
/guide/units, A3DEUnit, A3DUnitGetFromValue, A3DAsmModelFileGetUnit
- Version
- 14.1
Parameters: eUnit – A unit enum Returns: A unit enumeration value.