DATAKIT API  V2025.1
Step FDT


In STEP, FDT are also known as GD&T for Geometrical Dimensioning And Tolerancing.
Notice : in STEP files, semantic description and graphic display of FDT are described separately.
FDT can be read as Symbols (Graphics) or as Semantics+Graphics.
Settings : after call to Dtk_API::StartAPI,
- use call form of API : stepr_SetModeReadFdt (inMode) ,


Where inMode is an integer value, it can have one of these values :

  • 0 : no reading of FDT and Views
  • 1 : read views, and FDT as graphic only
  • 2 or 3 (2 : default from V2019.2) : read views, and FDT as graphic + semantic
  • (from V2023.2) for case of dual graphics of FDT (a "frozen" one and a placeholder) :
  • 2 to prefer the "frozen" graphics
  • 3 to prefer the placeholder



FDT as graphic + semantic : because of the organization of FDT in STEP, they are read in a specific way.

In STEP,

  • generally, graphic and semantic parts of a FDT are completely separated, then globally associated
  • a graphic FDT has NO text (there is a possibility of texts but it is now deprecated) and NO leader line, just a set of polylines or triangles
  • a FDT can be written as semantic+graphic, or graphic only
  • a capability of "semantics with embedded graphics" (known as "placeholder") comes in AP242 Edition 2 but its use will remain optional
  • in the same move, a FDT can be written with 2 graphics : one frozen (curves, tessellation) and one placeholder

When reading FDT in semantic mode ( inMode=2 ), the Dtk_Info of the Dtk_Fdt (and of the Dtk_Node) has an attribute "Dtk_SemanticFdt" (an integer)

  • If the FDT is graphic only (no semantics at all), a Dtk_Node of type FDT is created, "Dtk_SemanticFdt" = -1
  • If the FDT is semantic+graphic , with frozen graphics (as curves or tessellation) : 2 Dtk_Nodes of type FDT are created as follows :
    – the Dtk_Node for the FDT brings the SEMANTIC FDT, also the Node Connectors to the affected geometries, but not to be displayed : "Dtk_SemanticFdt" = 1 , the FDT is set Blanked (BlankedStatus=1)
    – it has a subnode, another Dtk_Node of type FDT, which brings the GRAPHIC FDT (no semantics, no geometrical link), ready to be displayed : "Dtk_SemanticFdt" = 0 , the FDT is visible (BlankedStatus=0)
  • If the FDT is semantic+placeholder graphics (= minimal graphics) : the graphic part is recomputed when reading :
    – one Dtk_Node of type FDT is created, ready to be displayed :"Dtk_SemanticFdt" = 2, no subnode, the FDT is visible
  • It can occur that a semantic FDT has no graphics at all : same as above but "Dtk_SemanticFdt" = 3 to distinguish this case
  • In case of dual graphics (a FDT is written with both a frozen graphics and a placeholder) : one graphics is selected; before V2023.2 the frozen graphics, from V2023.2 choice is made according to stepr_SetModeReadFdt (value 2 or 3)

General Information on FDT

STEP Entities DATAKIT Class Remarks
product (id=FDT standard) + document_product_equivalence + product_definition_context_association .. (Dtk_Component:)Dtk_Info: Dtk_PMIGlobalStandard Fdt Standard : ISO / ASME
measure_representation_item used in a semantic FDT (Dtk_Text) length/angle value with unit  
value_format_type_qualifier Dtk_Text:Dtk_Info: DtkPrecision nb of significant digits


Graphic and Textual Data of FDT

FDT as Symbols

STEP Entities DATAKIT Class Remarks
draughting_model with no camera_model Dtk_FdtAnnotationSet or set of Dtk_Node according to switch /b ActivateNewFdt< graphic part of the annotations attached to the model
See also Views
callout or sub-type, alone Dtk_Fdt with 2dEntity as Dtk_Symbol (in graphic read mode, semantics is ignored even if present)
callout or sub-type, associated to a semantic FDT Dtk_Fdt : graphical part (recorded in the 2dEntity) (semantic read mode only)
annotation_occurrence or sub-type alone Dtk_Fdt with 2dEntity as Dtk_Symbol (case of graphics described by polylines)
each annotation_occurrence or sub-type a graphic item of the Dtk_Fdt Items are : texts, leaders, other geometries
annotation_occurrence_relationship / _associativity Dtk_Fdt with 2dEntity as Dtk_Symbol (used for graphics as polylines with no semantics)
each annotation_placeholder_occurrence graphic part of Dtk_Fdt (not separated) The graphics is rebuilt from minimal informations of the placeholder (position, text size, attachment points)


Geometrical Links of FDT

STEP Entities DATAKIT Class Remarks
shape_aspect and sub-types a Geometrical Link of the Dtk_Fdt or a Dtk_NodeConnector (only within a Part) to designate a 3D item : face, edge, etc
composite_shape_aspect several Geometrical Links of the Dtk_Fdt or Dtk_NodeConectors cumulates several shape_aspect
component_path_shape_aspect + multi_level_reference_designator Dtk_NodeConnector with Path AP242 - only within a same file <! shape_aspect_associativity or shape_aspect_relationship : semantic only >
shape_definition_representation on shape_aspect, or geometric_item_specific_usage   designates the 3D item(s)
draughting_model_item_association   associates a FDT
- to a geometry via a shape_aspect,
- or to a component as a whole via a product_definition_shape
Also used in STEP to associate the semantic and graphic parts of a FDT

Leader Curve of FDT

STEP Entities DATAKIT Class Remarks
annotation_symbol_occurrence / terminator_symbol attaches a Terminator to the Leader Curve designates the geometry with an annotation_curve_occurrence
annotation_symbol_occurrence
not a terminator_symbol
not supported (for a symbol without a leader curve)
annotation_curve_occurrence and leader_curve The geometry of the Leader Curve (see below for geometries of FDT)
defined_symbol Definition of the terminator symbol (designates type, size, style)
pre_defined_terminator_symbol type of the symbol  
symbol_target size of the symbol  
symbol_style , symbol_colour style of the symbol (color)  


Other Geometries of FDT

STEP Entities DATAKIT Class Remarks
annotation_curve_occurrence or annotation_occurrence (basic type) the geometries of the FDT lists geometrical items, see hereafter
tessellated_annotation_curve_occurrence , tessellated_geometric_set , tessellated_curve_set and content the geometries of the FDT (wireframe) AP242 - converted to polylines (Dtk_Polyline)
triangulated_surface_set and sub-types the geometries of the FDT (filled faces) AP242 - set of Dtk_Polyline with Dtk_Info: PolygonCurve=1
point_style , pre_defined_marker style of a point (color, marker) common to the whole annotation
curve_style , draughting_pre_defined_curve_font style of a curve (color, thickness, font) common to the whole annotation
geometric_curve_set as its list of items if several geometrical items in an annotation
geometric_set as its list of items variant used for filled polylines
line or polyline or circle or trimmed_curve converted to Polyline in the Dtk_Fdt individual geometrical item
face_surface with polyloop converted to outline Polylines in the Dtk_Fdt

for a filled polyline


Texts of FDT

STEP Entities DATAKIT Class Remarks
annotation_text_occurrence Dtk_CompositeText, parameters common to all its texts designates one or several texts together
text_style_with_box_characteristics Definition of characters (height, width, slant, rotate angle)
text_style_for_defined_font Style of the texts (color)  
composite_text case of several Dtk_Text  
text_literal a Dtk_Text, general case  
text_literal_with_delineation a Dtk_Text, with a frame  
text_literal_with_extent + planar_extent a Dtk_Text with specific size for outer box can be combined with delineation



Semantic Data of FDT


FDT Standard

STEP Entities DATAKIT Class Remarks
product + application_context "geometrical dimensioning and tolerancing rpresentation"
  • document_product_equivalence with name="equivalence"
FDT Standard in product.name, see below defines the FDT Standard
product.name = "ISO 1101" FDT Standard : ISO  
product.name starting by "ASME Y14" FDT Standard : ASME  


Datum Elements

STEP Entities DATAKIT Class Remarks
datum + datum_feature Dtk_Fdt + Dtk_Symbol typed TypeDatum (Simple Datum)  
placed_datum_target_feature , datum_target Dtk_Fdt + Dtk_DatumTarget  


Geometrical Tolerances

STEP Entities DATAKIT Class Remarks
geometric_tolerance_relationship a Dtk_GeometricalTolerance with several Dtk_ToleranceSpecification's  
geometric_tolerance with various sub-types a Dtk_GeometricalTolerance with a Dtk_ToleranceSpecification type and other data : see below
angularity_tolerance type Angularity  
roundness_tolerance type Circularity  
circular_runout_tolerance type CircularRunout  
coaxiality_tolerance type CircularRunout  
concentricity_tolerance type Concentricity  
cylindricity_tolerance type Cylindricity  
flatness_tolerance type Flatness  
line_profile_tolerance type LineProfile  
surface_profile_tolerance type SurfaceProfile  
parallelism_tolerance type Parallelism  
perpendicularity_tolerance type Perpendicularity  
position_tolerance type Position  
straightness_tolerance type Straightness  
symmetry_tolerance type Symmetry  
total_runout_tolerance type TotalRunout  
+ combined sub-type modified_geometric_tolerance + Material Modifier in the Dtk_ToleranceSpecification : Material Modifier AP203/AP214 - can be &#x24C1; &#x24C2; &#x24C7;
+ combined sub-type geometric_tolerance_with_modifiers + list of Modifier(s) in the Dtk_ToleranceSpecification : Modifiers (in the value of the text) AP242
tolerance_zone + tolerance_zone_form in the Dtk_ToleranceSpecification : value prefixed by diameter or spherical diameter info  
projected_zone_definition in the Dtk_ToleranceSpecification : modifier for projection ( &#x24C5; ) + value  
+ combined sub-type unequally_disposed_geometric_tolerance in the Dtk_ToleranceSpecification :
- if FDT Standard is ISO : UZ[..] with value
- if FDT Standard is ASME : &#x24CA; with value
 
+ combined sub-type geometric_tolerance_with_defined_unit in the Dtk_ToleranceSpecification : defined unit (after the value, notation "/val1[Xval2]")
+ combined sub-type geometric_tolerance_with_maximum_tolerance in the Dtk_ToleranceSpecification : "MAX val" (end of the value text) AP242
datum_reference (if no material modifier) or referenced_modified_datum (if material modifier) a Reference Block to one Datum AP203/AP214
common_datum + datum_reference or referenced_modified_datum a Reference Block to several Datums AP203/AP214
(geometric_tolerance_with_datum_reference +) datum_system list of a Reference Blocks AP242
datum_reference_compartment a Reference Block to a Datum AP242
datum_reference_compartment + common_datum_list a Reference Block to several Datums AP242


Dimensions

STEP Entities DATAKIT Class Remarks
dimensional_size , angular_size Dtk_Dimension on one set of 3d items
dimensional_location , angular_location Dtk_Dimension between 2 sets of 3D items
field "name" of the dimension its DimensionType  
for each value : length_measure_with_unit , plane_angle_measure_with_unit details below  
one value in the dimension, named "nominal value" (alone or with a tolerance) in the Dtk_Dimension : nominal value  
one value + modifier "theoretical" in the Dtk_Dimension : nominal value in a rectangular frame  
one value + modifier "auxiliary" in the Dtk_Dimension : nominal value between parentheses  
plus_minus_tolerance + tolerance_value in the Dtk_Dimension : tolerance as plus value and minus value  
plus_minus_tolerance + limits_and_fits in the Dtk_Dimension : tolerance as tabulated (standardized text)  
one value , named "lower limit" AND one value , named "upper limit" in the Dtk_Dimension : lower value and upper value  
one value + type_qualifier "minimum" in the Dtk_Dimension : lower value only (MINI)  
one value + type_qualifier "maximum" in the Dtk_Dimension : upper value only (MAXI)  
modifier : descriptive_representation_item listed in the</> shape_dimension_representation in the Dtk_Dimension : additional prefix or suffix  
name of the shape_dimension_representation in the Dtk_Dimension : additional suffix independency gives &#x24BE;
envelope gives &#x24BA;


Notes as Editable Text

STEP Entities DATAKIT Class Remarks
property_definition_representation with property_definition, name = "semantic text" Dtk_Symbol

Texts themselves are in descriptive_representation_item



Associated Data


Construction Geometries

STEP Entities DATAKIT Class Remarks
constructive_geometry_representation + axis2_placement_3d Dtk_AxisSystem  
constructive_geometry_representation with a geometry a Dtk_Body : in the Dtk_FdtAnnotationSet as Construction Geometry or in a Dtk_Node type Body subtype NODE_FDT, according to switch ActivateNewFdt infinite plane : gives a Dtk_Face based on a Dtk_Plane, with no loop
constructive_geometry_representation_relationship  

link to the Component


Views and Captures

STEP Entities DATAKIT Class Remarks
draughting_model with camera_model(s) Per camera_model : one Dtk_FdtCapture or Dtk_ModelDisplay according to switch ActivateNewFdt lists the annotations in the view
camera_model_d3 Dtk_FdtCapture or Dtk_ModelDisplay according to switch ActivateNewFdt  
camera_model_d3_multi_clipping + plane Dtk_FdtCapture or Dtk_ModelDisplay + clipping plane Section View (limitation :one plane)
view_volume , planar_box parameters of the Dtk_FdtCapture or Dtk_ModelDisplay

(position, axes, scale)

model_geometric_view , field name prior to define the name of the Dtk_ModelDisplay from AP242E3
default_model_geometric_view status "Active" of the Dtk_ModelDisplay from AP242E3
context_dependent_over_riding_styled_item + invisibility listed in the draughting_model in the Dtk_Node : NodeConnector "forceHidden" with instance path  
context_dependent_over_riding_styled_item + styled_item(color) listed in the draughting_model in the root Dtk_Component : Dtk_Override/Dtk_OverrideSet with Dtk_Info (color) and NodeConnector (instance path)

if Override mode is active