RTF parsing
Types
Fields
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Functions
Detailed Description
- group a3d_markup_rtf
Set of functions used to parse RTF strings.
RTF strings can be present in A3DMDFCFDraftingRowData, A3DMarkupGDTData, A3DMarkupRichTextData
Sample code
/* code to get each independent field of RTF string */ /* pRTF_UTF8 is an RTF string* */ A3DVoid* pRTF = NULL; if(A3DMkpRTFInit(pRTF_UTF8, pRTF) == A3D_SUCCESS) { A3DRTFFieldData sRTFFieldData; A3D_INITIALIZE_DATA(A3DRTFFieldData, sRTFFieldData ); while(A3DMkpRTFGetField(pRTF, &sRTFFieldData) == A3D_SUCCESS) { // ....... // TODO: process sRTFFieldData // ....... A3DMkpRTFGetField(NULL, &sRTFFieldData) // memory cleanup of the sRTFFieldData structure } A3DMkpRTFDelete(pRTF); }
Type Documentation
-
enum A3DEMarkupSymbol
Symbol identifiers used in RTF strings.
- Version
4.2
Values:
-
enumerator KEA3DSymbol_UNKNOWN
Not a symbol.
-
enumerator KEA3DSymbol_Angularity
Angularity.
-
enumerator KEA3DSymbol_MoreOrLess
MoreOrLess.
-
enumerator KEA3DSymbol_Micron
Micron.
-
enumerator KEA3DSymbol_Circularity
Circularity.
-
enumerator KEA3DSymbol_Concentricity
Concentricity.
-
enumerator KEA3DSymbol_Cylindricity
Cylindricity.
-
enumerator KEA3DSymbol_Parallelism
Parallelism.
-
enumerator KEA3DSymbol_Perpendicularity
Perpendicularity.
-
enumerator KEA3DSymbol_Symmetry
Symmetry.
-
enumerator KEA3DSymbol_TotalRunout
TotalRunout.
-
enumerator KEA3DSymbol_Straightness
Straightness.
-
enumerator KEA3DSymbol_Flatness
Flatness.
-
enumerator KEA3DSymbol_LineProfile
LineProfile.
-
enumerator KEA3DSymbol_SurfaceProfile
SurfaceProfile.
-
enumerator KEA3DSymbol_Runout
Runout.
-
enumerator KEA3DSymbol_Countersink
Countersink.
-
enumerator KEA3DSymbol_Counterbore
Counterbore.
-
enumerator KEA3DSymbol_Depth
Depth.
-
enumerator KEA3DSymbol_Centerline
Centerline.
-
enumerator KEA3DSymbol_Ohm
Ohm.
-
enumerator KEA3DSymbol_Omega
Omega.
-
enumerator KEA3DSymbol_SmallerOrEqual
SmallerOrEqual.
-
enumerator KEA3DSymbol_GreaterOrEqual
GreaterOrEqual.
-
enumerator KEA3DSymbol_Slope
Slope.
-
enumerator KEA3DSymbol_ConicalTaper
ConicalTaper.
-
enumerator KEA3DSymbol_Diameter
Diameter.
-
enumerator KEA3DSymbol_FreeState
FreeState.
-
enumerator KEA3DSymbol_LeastMaterial
LeastMaterial.
-
enumerator KEA3DSymbol_MaximumMaterial
MaximumMaterial.
-
enumerator KEA3DSymbol_ProjectedTolerance
ProjectedTolerance.
-
enumerator KEA3DSymbol_TangentPlane
TangentPlane.
-
enumerator KEA3DSymbol_Statistical
Statistical.
-
enumerator KEA3DSymbol_Position
Position.
-
enumerator KEA3DSymbol_Square
Square.
-
enumerator KEA3DSymbol_Triangle
Triangle.
-
enumerator KEA3DSymbol_between
between.
-
enumerator KEA3DSymbol_RegardlessOfFeatureSize
RegardlessOfFeatureSize.
-
enumerator KEA3DSymbol_Degre
Degre.
-
enumerator KEA3DSymbol_Encompassing
Encompassing.
-
enumerator KEA3DSymbol_CircledU
CircledU.
-
enumerator KEA3DSymbol_CircledR
CircledR.
-
enumerator KEA3DSymbol_RightwardArrow
RightwardArrow.
-
enumerator KEA3DSymbol_SubsetOf
SubsetOf.
-
enumerator KEA3DSymbol_1STANG
1STANG.
-
enumerator KEA3DSymbol_3RDANG
3RDANG.
-
enumerator KEA3DSymbol_BREAK15
BREAK15.
-
enumerator KEA3DSymbol_BREAK30
BREAK30.
-
enumerator KEA3DSymbol_DATUM1
DATUM1.
-
enumerator KEA3DSymbol_DATUM2
DATUM2.
-
enumerator KEA3DSymbol_MINUS
MINUS.
-
enumerator KEA3DSymbol_PLINE
PLINE.
-
enumerator KEA3DSymbol_PLUS
PLUS.
-
enumerator KEA3DSymbol_STRETCH
STRETCH.
-
enumerator KEA3DSymbol_STS
STS.
-
enumerator KEA3DSymbol_STS_
STS_.
-
enumerator KEA3DSymbol_STS_ANG
STS_ANG.
-
enumerator KEA3DSymbol_STS_ANG_
STS_ANG_.
-
enumerator KEA3DSymbol_STS_BAS
STS_BAS.
-
enumerator KEA3DSymbol_STS_BAS_
STS_BAS_.
-
enumerator KEA3DSymbol_STS_CIR
STS_CIR.
-
enumerator KEA3DSymbol_STS_CIR_
STS_CIR_.
-
enumerator KEA3DSymbol_STS_MAT
STS_MAT.
-
enumerator KEA3DSymbol_STS_MAT_
STS_MAT_.
-
enumerator KEA3DSymbol_STS_MLT
STS_MLT.
-
enumerator KEA3DSymbol_STS_MLT_
STS_MLT_.
-
enumerator KEA3DSymbol_STS_NOM
STS_NOM.
-
enumerator KEA3DSymbol_STS_NOM_
STS_NOM_.
-
enumerator KEA3DSymbol_STS_PAR
STS_PAR.
-
enumerator KEA3DSymbol_STS_PAR_
STS_PAR_.
-
enumerator KEA3DSymbol_STS_PER
STS_PER.
-
enumerator KEA3DSymbol_STS_PER_
STS_PER_.
-
enumerator KEA3DSymbol_STS_PRT
STS_PRT.
-
enumerator KEA3DSymbol_STS_PRT_
STS_PRT_.
-
enumerator KEA3DSymbol_STS_RAD
STS_RAD.
-
enumerator KEA3DSymbol_STS_RAD_
STS_RAD_.
Field Documentation
- A3DStatus A3DGetCurveAsAnalytic param
Function to get curves as analytic (line or circle) according to a certain tolerance.
delete RTF data created by A3DMkpRTFInit
Get each independent field of a RTF data.
Calculates the bounding box of the model file entity, without using any callback functions.
Draws the markup item entities, using the callbacks defined by A3DDrawInitCallbacks.
Draws the representation item entities, using the callbacks defined by A3DDrawInitCallbacks.
Draws the model file entities, using the callbacks defined by A3DDrawInitCallbacks.
Enables internal SIGSEGV handling (Linux only)
Function to compute Hidden Line Removal on a A3DAsmModelFile.
Function to project Point Cloud on BrepModel with a A3DProjectPointCloudManager.
Function to get surface as analytic according to a certain tolerance.
Function to get curves as analytic (line or circle) according to a certain tolerance Try to use UV curves from Edges if exist, otherwise use 3D Curves.
Use A3DEntityDelete to delete the analytic curve after using it.
- Deprecated:
Use A3DSimplifyCurveWithAnalytics instead. This will be removed in version 2026.1.0.
- Deprecated:
use A3DSimplifyCurveWithAnalyticsFromCoEdge instead. This will be removed in version 2026.1.0.
- Deprecated:
use A3DSimplifySurfaceWithAnalytics instead. This will be removed in version 2026.1.0.
- Version
5.0
- Version
5.0
- Version
5.0
- Deprecated:
use A3DProjectPointCloud3 instead. This will be removed in version 2026.1.0.
- Version
8.1
Memory Management
In case of success,
ppProjectedPointCloud
contains heap allocated memory you are responsible for. To free the memory onppProjectedPointCloud
, callA3DProjectPointCloud2
by settingpManager
to 0. In this case, all other parameters are ignored:A3DProjectPointCloud2(0, 0, 0, A3D_FALSE, 0, 0.0, ppProjectedPointCloud);
- Deprecated:
use A3DComputeOrthoHLROnModelFile3 instead. This will be removed in version 2026.1.0.
- Version
8.1
- Deprecated:
use A3DComputeOrthoHLROnModelFile3 instead. This will be removed in version 2026.1.0.
- Version
9.0
Call A3DComputeOrthoHLROnModelFile2( NULL, NULL, NULL, pNumberHLRRepItem, pppHLRRepItem) to release pppHLRRepItem structure ( internal A3DCrvPolyLine was not released)
If
pOptMrkRView
is a cutting view,psSectionParametersData
can be set to0
. In this case, the cutting planes withinpOptMrkRView
are used for the computation. Planes must to ordered and be set a profile, otherwise the function will return#A3D_TOOLS_INVALID_SECTION_PLANE
.This function activates the handling of the SIGSEGV signal on Linux. When this function is activated, SIGSEGV is handled and an exception is thrown to return A3D_EXCEPTION.
Remark
If the model file doesn’t contain any representation item, the function will return
#A3D_INVALID_DATA error
- Deprecated:
the default behavior has changed with 11.2 to disable the SIGSEGV handling This will be removed in version 2026.1.0.
- Deprecated:
The Draw module is deprecated and will be removed in version 2026.1.0.
uiDrawFlags
argument, use the flags defined in Flags for Drawing Model File Entities.- Version
2.0
- Deprecated:
The Draw module is deprecated and will be removed in version 2026.1.0.
- Deprecated:
The Draw module is deprecated and will be removed in version 2026.1.0.
- Deprecated:
The Draw module is deprecated and will be removed in version 2026.1.0.
uiDrawFlags
argument, use the flags defined in Flags for Drawing Model File Entities.- Version
2.0
- Version
2.0
- Version
2.0
- Deprecated:
This function is deprecated. Please use A3DMkpRTFFieldGet instead to implement the same behaviour. This will be removed in version 2026.1.0.
- Version
4.2
- Deprecated:
This function is deprecated. Please use A3DMkpRTFFieldDelete instead to implement the same behaviour. This will be removed in version 2026.1.0.
- Version
4.2
Warning
must be deleted by the user
Warning
If A3DProjectPointCloudManagerCreateFromRI is used to create pManager, and A3DProjectPointCloudManagerDataFromRI::m_bUseExactComputation is set to false, you can’t set bUseExactComputation to true. In this case, an A3D_INVALID_DATA error is returned.
Warning
You must call this function before
A3DDllInitialize
- Retval A3D_SUCCESS:
if an analytic has been created
- Retval A3D_ERROR:
- Retval A3D_SUCCESS:
if an analytic has been created
- Retval A3D_ERROR:
- Return:
A3D_SUCCESS
on success, or an error code on failure- Return:
A3D_SUCCESS
on success, or an error code on failure- Param pSrf:
[in] The input surface
- Param dTol:
[in] Tolerance
- Param pAnalyticSurface:
[out] The new analytic surface.
- Param peAnalyticType:
[out] The type of analytic surface
- Retval A3D_SUCCESS:
- Retval A3D_INVALID_ENTITY_NULL:
- Retval A3D_INVALID_ENTITY_TYPE:
- Retval A3D_ERROR:
- Return:
A3D_SUCCESS
on success, or an error code on failure- Param pManager:
[in] A3DProjectPointCloudManager created by A3DProjectPointCloudManagerCreateFromModelFile function.
- Param uPointCloudSize:
[in] Number of points in pPointCloudToProject.
- Param pPointCloudToProject:
[in] Point cloud to project. This point cloud must be in the same coordinate system as the BrepData structures stored in BrepModel.
- Param bUseExactComputation:
[in] Flag to use exact topology. When this flag is false, the algorithm drops the point cloud on the faceted geometry, otherwise, the exact topology is used.
- Param uNbThreads:
[in] Number of threads wanted. 0 means non multi-thread. Please avoid setting a number of threads larger than the number of CPU cores.
- Param dInsidePointEdgeTolerance:
[in] Tolerance used to check if projection point which is inside a face is on edge.
- Param ppProjectedPointCloud:
[out] Point cloud projected.
- Retval A3D_SUCCESS:
- Retval A3D_INVALID_DATA_STRUCT_NULL:
- Retval A3D_INVALID_DATA_STRUCT_SIZE:
- Retval A3D_INVALID_ENTITY_TYPE:
- Retval A3D_INVALID_DATA:
- Retval A3D_ERROR:
- Return:
A3D_SUCCESS
on success, or an error code on failure- Param pModelFile:
[in] Model file to work on.
- Param pOptMrkRView:
[in] optional A3DMkpView (cut, filter and/or move entities).
- Param psHLRViewPlaneData:
[in] define a plane as a camera with orthogonal projection.
- Param pNumberHLRData:
[out] Number A3DHLRRepresentationItemData.
- Param pppHLRData:
[out] HLR curve result grouped by A3DRiRepresentationItem entity. pppHLRData is automatically allocated by A3DComputeOrthoHLROnModelFile.
- Retval A3D_SUCCESS:
- Retval A3D_INVALID_DATA_STRUCT_NULL:
- Retval A3D_INVALID_DATA_STRUCT_SIZE:
- Retval A3D_INVALID_ENTITY_TYPE:
- Retval A3D_INVALID_DATA:
- Retval A3D_ERROR:
- Retval A3D_INCOMPATIBLE_FUNCTION_WITH_KEEP_PARSED_ENTITY_MODE:
- Return:
A3D_SUCCESS
on success, or an error code on failure- Param pModelFile:
[in] Model file to work on.
- Param pOptMrkRView:
[in] optional A3DMkpView (cut, filter and/or move entities).
- Param psHLRViewPlaneData:
[in] define a plane as a camera with orthogonal projection.
- Param pNumberHLRRepItem:
[out] Number A3DHLRRepresentationItem.
- Param pppHLRRepItem:
[out] HLR curve result grouped by A3DRiRepresentationItem entity. pppHLRRepItem is automatically allocated by A3DComputeOrthoHLROnModelFile.
- Retval A3D_SUCCESS:
- Retval A3D_INVALID_DATA_STRUCT_NULL:
- Retval A3D_INVALID_DATA_STRUCT_SIZE:
- Retval A3D_INVALID_ENTITY_TYPE:
- Retval A3D_INVALID_DATA:
- Retval A3D_ERROR:
- Retval A3D_TOOLS_INVALID_SECTION_PLANE:
- Retval A3D_INCOMPATIBLE_FUNCTION_WITH_KEEP_PARSED_ENTITY_MODE:
- Return:
A3D_SUCCESS
on success, or an error code on failure- Retval A3D_SUCCESS:
- Retval A3D_ERROR:
if not on Linux
- Return:
A3D_SUCCESS
on success, or an error code on failure- Retval A3D_INITIALIZE_NOT_CALLED:
- Retval A3D_INVALID_DATA_STRUCT_SIZE:
- Retval A3D_INVALID_DATA_STRUCT_NULL:
- Retval A3D_INVALID_ENTITY_NULL:
- Retval A3D_INVALID_ENTITY_TYPE:
- Retval A3D_SUCCESS:
- Retval A3D_INITIALIZE_NOT_CALLED:
- Retval A3D_INVALID_DATA_STRUCT_SIZE:
- Retval A3D_INVALID_DATA_STRUCT_NULL:
- Retval A3D_INVALID_ENTITY_NULL:
- Retval A3D_INVALID_ENTITY_TYPE:
- Retval A3D_SUCCESS:
- Retval A3D_INITIALIZE_NOT_CALLED:
- Retval A3D_INVALID_DATA_STRUCT_SIZE:
- Retval A3D_INVALID_DATA_STRUCT_NULL:
- Retval A3D_INVALID_ENTITY_NULL:
- Retval A3D_INVALID_ENTITY_TYPE:
- Retval A3D_SUCCESS:
- Return:
A3D_SUCCESS
on success, or an error code on failure- Return:
A3D_SUCCESS
on success, or an error code on failure- Return:
A3D_SUCCESS
on success, or an error code on failure- Retval A3D_INITIALIZE_NOT_CALLED:
- Retval A3D_INVALID_DATA_STRUCT_SIZE:
- Retval A3D_INVALID_DATA_STRUCT_NULL:
- Retval A3D_INVALID_ENTITY_NULL:
- Retval A3D_INVALID_ENTITY_TYPE:
- Retval A3D_SUCCESS:
- Return:
A3D_SUCCESS
on success, or an error code on failure- Retval A3D_ERROR:
- Retval A3D_SUCCESS:
- Return:
A3D_SUCCESS
on success, or an error code on failure- Retval A3D_ERROR:
- Retval A3D_SUCCESS:
- Return:
A3D_SUCCESS
on success, or an error code on failure
Function Documentation
-
A3DStatus A3DMkpRTFFieldCreate(const A3DUTF8Char *pRTFString, A3DMkpRTFField **pRTFField)
Initialize RTF data for parsing Previously A3DMkpRTFInit.
- Version
10.1
- Return values:
A3D_ERROR –
A3D_SUCCESS –
- Returns:
A3D_SUCCESS
on success, or an error code on failure
-
A3DStatus A3DMkpRTFFieldGet(const A3DMkpRTFField *pRTFField, A3DMkpRTFFieldData *pRTFFieldData)
Get each independent field of a RTF data Previously A3DMkpRTFGetField.
- Version
10.1
- Return values:
A3D_ERROR –
A3D_SUCCESS –
- Returns:
A3D_SUCCESS
on success, or an error code on failure
-
A3DStatus A3DMkpRTFFieldDelete(const A3DMkpRTFField *pRTFField)
delete RTF data created by A3DMkpRTFInit Previously A3DMkpRTFDelete.
- Version
10.1
- Return values:
A3D_ERROR –
A3D_SUCCESS –
- Returns:
A3D_SUCCESS
on success, or an error code on failure