DATAKIT API  V2025.1
Step Write FDT



Writing FDT as Symbols (Full Graphics or Polylines). Writing of Semantics applies with AP203E2 and later.
To switch on/off this mode, Settings : before starting the STEP writer, call (after stepw_InitFile and before any other writing action) :
stepw_SetModeFdt(inMode,inPolyline) .


inMode in an integer value to drive writing of FDT globally, it can have one of these values

  • -1 : writing of Views and Graphics of FDT only (no semantics)
  • 0 : no writing of Views and FDT
  • 1 (default) : complete writing of Views and FDT (semantics and full graphics)


When this mode is active, the STEP schema used for writing the file is defaulted to AP242.

inPolyline is an integer value to drive writing of graphics of FDT, it can have one of these values

  • 0 (default) : Polyline
  • 1 : From AP242E2 : minimal presentation (see placeholder) , this mode is active only when writing FDT with Semantics (inMode = 1 or 2)
    (in previous versions of STEP, or FDT as Graphics only : Polyline)
  • 2 (default) : Polyline
  • 3 : (only AP242) Tessellation 2D + Position
  • 4 : (only AP242) Tessellation 3D
  • 5 : From AP242, dual graphics : both a "frozen" Tessellation 3D and a Placeholder are written (will be selected by readers) , only with Semantics



General Information on FDT

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




Graphic and Textual Data of FDT


Step Write FDT

DATAKIT Class STEP Entity Remarks
Dtk_FdtAnnotationSet draughting_model graphic part of the annotations attached to the model
Dtk_Fdt (as a symbol) leader_directed_callout converted to Dtk_Symbol (graphic mode)
Each graphical item of the 2dEntity annotation_occurrence or sub-type

Items are : texts, leaders, other geometries

Transformation of the Dtk_Fdt : Dtk_transfo - Text : position of the text : axis2_placement_3d
- others : integrated in 3D coordinates
 
Writing mode : FDT graphics as polyline geometric_curve_set + list of polyline all texts, symbols, leaders, geometries
Writing mode : FDT graphics as /b tessellation tessellated_geometric_set + list of tessellated_curve_set & complex_triangulated_surface_set AP242 - all texts, symbols, leaders, geometries
Writing mode : FDT graphics as /b placeholder (from AP242E2) annotation_placeholder_occurrence with : position, character height, attachment points (leader ends) AP242E2 - minimal presentation; full presentation to be recomputed by the reader
Writing mode : FDT graphics as /b placeholder (from AP242E3) annotation_placeholder_occurrence_with_leader_line with : position, character height, points of leader lines AP242E3 - enhanced placeholder introduced in AP242E3


Geometrical Links of FDT

DATAKIT Class STEP Entity Remarks
Dtk_NodeConnector (only within a Part) shape_aspect + geometric_item_specific_usage (to the 3D)
  • draughting_model_item_association (to the symbol)
 
Dtk_NodeConnector with Path component_path_shape_aspect + multi_level_reference_designator AP242 - monolithic mode only
Dtk_Fdt (Tolerance) with no Geometrical Link attached to the whole Product  


Leader Curve of FDT

DATAKIT Class STEP Entity Remarks
Leader Curve : general - Geometry : a dedicated annotation_curve_occurrence
- Terminator : annotation_symbol_occurrence / terminator_symbol
 
Leader Curve : definition of the terminator defined_symbol (gathers the definition) designated by the terminator_symbol :
- pre_defined_terminator_symbol : type of the terminator
- symbol_target : size of the terminator
- symbol_style , symbol_colour : style of the terminator (color)
 
Leader Curve : Geometry an individual item designated by the annotation_curve_occurrence see below


Other Geometries of FDT

(only in mode Polyline)

DATAKIT Class STEP Entity Remarks
Geometrical Items not Leader Curves one annotation_curve_occurrence to gather them designates the item or list of items
style of curve(s) (color, thickness, font) curve_style , draughting_pre_defined_curve_font common to the whole annotation
style of point(s) (color, marker) point_style , pre_defined_marker common to the whole annotation
case of several Geometrical Items geometric_curve_set lists the individual items
each Geometrical Item : Line or Polyline polyline  
each Geometrical Item : Circle or Arc of Circle circle if complete, or trimmed_curve(circle) if arc  


Texts of FDT

(only in mode Character Based)

DATAKIT Class STEP Entity Remarks
Dtk_CompositeText : general annotation_text_occurrence one per common definition of characters (size ..)
Definition of characters text_style_with_box_characteristics (height, width, slant, rotate angle)
Style of the text test_style_for_defined_font (color)
case of several Dtk_Text composite_text lists the individual texts
each Dtk_Text, general case text_literal  
each Dtk_Text, with a frame text_literal_with_delineation  




Semantic Data of FDT (AP203E2, AP242)

FDT Standard

DATAKIT Class STEP Entity

Remarks

in Dtk_Component:GetInfos, parameter "Dtk_PMIGlobalStandard" 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 (ISO 1101 or ASME Y14)
parameter "Dtk_PMIGlobalStandard" = "ISO" FDT Standard : ISO  
parameter "Dtk_PMIGlobalStandard" = "ASME" FDT Standard : ASME  



Datum Elements

DATAKIT Class STEP Entity Remarks
Dtk_Fdt + Dtk_Symbol typed TypeDatum (Simple Datum) datum + datum_feature a datum embeds the geometrical link (acts as a shape aspect)
Dtk_Fdt + Dtk_DatumTarget placed_datum_target_feature  
Dtk_Fdt + Dtk_Region geometry (Dtk_Face) as construction geometry  


Geometrical Tolerances

DATAKIT Class STEP Entity Remarks
a Dtk_GeometricalTolerance with several Dtk_ToleranceSpecification's geometric_tolerance_relationship + 1 geometric_tolerance per Dtk_ToleranceSpecification  
a Dtk_GeometricalTolerance with one Dtk_ToleranceSpecification geometric_tolerance with various sub-types type and other data : see below
type Angularity angularity_tolerance + datum refs required
type Circularity roundness_tolerance  
type CircularRunout circular_runout_tolerance + datum refs required
type Concentricity concentricity_tolerance + datum refs required
type Cylindricity cylindricity_tolerance  
type Flatness flatness_tolerance  
type LineProfile line_profile_tolerance  
type SurfaceProfile surface_profile_tolerance  
type Parallelism parallelism_tolerance + datum refs required
type Perpendicularity perpendicularity_tolerance + datum refs required
type Position position_tolerance  
type Straightness straightness_tolerance  
type Symmetry symmetry_tolerance + datum refs required
type TotalRunout total_runout_tolerance

+ datum refs required

in the Dtk_ToleranceSpecification : Material Modifier + combined sub-type modified_geometric_tolerance + Material Modifier AP214/AP203E2 - Modifier Ⓛ Ⓜ Ⓡ
in the Dtk_ToleranceSpecification : Material Modifier + combined sub-type geometric_tolerance_with_modifiers + list of Material Modifier AP242 - Modifier Ⓛ Ⓜ Ⓕ u v w x y z ...
in the Dtk_ToleranceSpecification : Tolerance Zone tolerance_zone + tolerance_zone_form AP242 - notation diameter before the value
in the Dtk_ToleranceSpecification : Projected Zone projected_zone_definition AP242 - notation "Ⓟ with a value"
in the Dtk_ToleranceSpecification : Unequal, if FDT Standard = "ISO" + combined sub-type unequally_disposed_geoemtric_tolerance AP242 - notation "UZ[<i>value</i>]"
in the Dtk_ToleranceSpecification : Unequal, if FDT Standard = "ASME" + combined sub-type unequally_disposed_geoemtric_tolerance AP242 - notation "&#x24CA; with a value"
in the Dtk_ToleranceSpecification : defined unit + combined sub-type geometric_tolerance_with_defined_unit notation "/<i>val1[</i>X<i>val2]</i>" after the value
in the Dtk_ToleranceSpecification : maximum value + combined sub-type geometric_tolerance_with_maximum_tolerance AP242 - notation "MAX val" after the value
in the Dtk_ToleranceSpecification : if there are datum(s) datum_system for AP242 only
Dtk_ReferenceBlock, to one datum, no modifier datum_reference AP214/AP203E2 - Notation A
Dtk_ReferenceBlock, to one datum, with modifier referenced_modified_datum AP214-AP203E2 - Notation A + modifier
Dtk_ReferenceBlock, to 2 datums common_datum + datum_reference or referenced_modified_datum AP214/AP203E2 - Notation A-B
Dtk_ReferenceBlock, to one datum datum_reference_compartment AP242 - Notation A [modifiers]
Dtk_ReferenceBlock, to 2-3 datums datum_reference_compartment + common_datum_list + 2-3 datum_reference_element AP242 - Notation A-B


Dimensions

DATAKIT Class STEP Entity Remarks
Dtk_Dimension as a size dimensional_size , angular_size on one set of 3d items
Dtk_Dimension as a distance dimensional_location , angular_location between 2 sets of 3d items
DimensionType of the Dtk_Dimension field "name" of the dimensional_size or dimensional_location Chamfer out of scope of the standard
for each value (nominal, mini, maxi, plus, minus) length_measure_with_unit , plane_angle_measure_with_unit role : see below
for each value , number of significant digits (when known) value_format_type_qualifier determined from Dtk_Info:DtkPrecision
nominal value one value in the dimension, named "nominal value"  
nominal value in a rectangular frame one value in the dimension + modifier "theoretical"  
nominal value between parentheses one value in the dimension + modifier "auxiliary"  
tolerance as plus value and minus value plus_minus_tolerance + tolerance_value  
tolerance as tabulated (standardized text) plus_minus_tolerance + limits_and_fits  
2 values mini-maxi one value in the dimension, named "lower limit" and "upper limit"  
one value "MINI" one value in the dimension + type_qualifier "minimum"  
one value "MAXI" one value in the dimension + type_qualifier "maximum"  
additional : suffix ( &#x24BA; &#x24BE; ) name of the shape_dimension_representation resp. "envelope requirement" or "independency"
additional : prefix (CR square), suffix (others) descriptive_representation_item (text) for modifier  


Note as Editable Text

From AP242 - previously ignored (considered as just graphics)

DATAKIT Class STEP Entity Remarks
Dtk_Symbol with a list of Dtk_Text property_definition_representation + property_definition, name = "semantic text" AP242
list of Dtk_Text representation + list of descriptive_representation_item AP242


Associated Data

Construction Geometries

DATAKIT Class STEP Entity Remarks
Dtk_AxisSystem axis2_placement_3d + constructive_geometry_representation + constructive_geometry_representation_relationship  
Construction Geometry in the Dtk_FdtAnnotationSet (this geometry) + constructive_geometry_representation + constructive_geometry_representation_relationship infinite geometry : only the curve/surface is written
Dtk_Body in a Dtk_Node of sub-type DTK_NODE_FDT (this geometry) + constructive_geometry_representation + constructive_geometry_representation_relationship infinite geometry : only the curve/surface is written
Dtk_Body : Infinite Geometry (this geometry) + constructive_geometry_representation + constructive_geometry_representation_relationship  


Views and Captures

DATAKIT Class STEP Entity Remarks <! Dtk_FdtView : deprecated - STEP View maps with Dtk_FdtCapture not Dtk_FdtView>
Dtk_FdtCapture camera_model_d3 + draughting_model lists the annotations in the view + the 3D main model
 
Dtk_ModelDisplay camera_model_d3 + draughting_model lists the annotations in the view + the 3D main model
 
Dtk_FdtCapture or Dtk_ModelDisplay with a Clipping Plane camera_model_d3_multi_clipping + plane + draughting_model Section View - limited to one clipping plane
 
parameters of the view view_volume , planar_box  
status "active" of the ModelDisplay default_model_geometric_view

From AP242E2 - only one per component
 

in the Dtk_Node : NodeConnector "forceHidden" with instance path context_dependent_over_riding_styled_item + invisibility listed in the draughting_model  
in the root Dtk_Component : Dtk_Override/Dtk_OverrideSet with Dtk_Info (color) and NodeConnector (instance path) context_dependent_over_riding_styled_item + styled_item(color) listed in the draughting_model

syntax stepw_AddOverrideInstanceInfo