Model File
Fields
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 Modeller type.
A3DSDKStructure
- 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_SUCCESSon 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, andpModelFileis 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 Quickstart.
Return values: - A3D_INVALID_ENTITY_NULL –
- A3D_INVALID_ENTITY_TYPE –
- A3D_SUCCESS –
Returns: A3D_SUCCESSon 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_SUCCESSon 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
A3DAsmModelFileGetUnitfinds a suitable unit in the provided model file,pdUnitis filled with a floating-point decimal representation of this unit, as stated in Unit System.pdUnitcan then be converted into A3DEUnits using A3DUnitGetFromEnum.The unit of an entire model file depends on the value of the
m_bUnitFromCADfield, either in A3DAsmModelFileData or A3DAsmProductOccurenceData.A3DAsmModelFileGetUnitrecursively traverses the model file given bypModelFileand stops on the first entity (model file or product occurrence) wherem_bUnitFromCADis A3D_TRUE. Them_dUnitfield of this entity is then written inpdUnit.- If
pdUnitis 0, the function returnsA3D_INVALID_DATA_NULL - If
pModelFileis 0, the function returnsA3D_SUCCESSand*pdUnitis 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
Unit System, A3DUnitGetFromEnum, A3DUnitGetFromValue, A3DEUnits
Parameters: - pModelFile – A handle to a model file entity
- pdUnit – A location to an A3DDouble
Return values: - A3D_SUCCESS – if
pModelFileis zero or if a unit is found. - A3D_INITIALIZE_NOT_CALLED – if the library is not initialized.
- A3D_INVALID_DATA_NULL – if
pdUnitis zero whilepModelFileis nonzero. - A3D_ERROR – if no unit is found.
Returns: A3D_SUCCESSon success, or an error code on failure
-
A3DEUnits
A3DUnitGetFromValue(A3DDouble dUnit) Converts a units representation from
A3DDoubleto 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
A3DDoubleinput, 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
Unit System, 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
A3DDoublerepresentation.The returned value expresses the input unit in factor of millimeters, as stated in the documentation of A3DEUnits.
If
eUnitis kA3DUnitUnknown or any value outside of A3DEUnits enumerator, the function defaults to returning 1.0 (millimeters).See also
Unit System, A3DEUnit, A3DUnitGetFromValue, A3DAsmModelFileGetUnit
- Version
- 14.1
Parameters: eUnit – A unit enum Returns: A unit enumeration value.