DATAKIT API  V2025.3
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_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 tessellation tessellated_geometric_set + list of tessellated_curve_set & complex_triangulated_surface_set AP242 - all texts, symbols, leaders, geometries
Writing mode : FDT graphics as 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 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
Dtk_GeometricalTolerance with several Dtk_ToleranceSpecificationContainer geometric_tolerance_relationship + 1 geometric_tolerance per Dtk_ToleranceSpecification  
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypeUnknown geometric_tolerance
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypeAngularity angularity_tolerance
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypeCircularity roundness_tolerance  
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypeCircularRunout circular_runout_tolerance
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypeConcentricity concentricity_tolerance
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypeCylindricity cylindricity_tolerance  
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypeFlatness flatness_tolerance  
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypeLineProfile line_profile_tolerance  
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypeSurfaceProfile surface_profile_tolerance  
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypeParallelism parallelism_tolerance
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypePerpendicularity perpendicularity_tolerance
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypePosition position_tolerance  
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypeStraightness straightness_tolerance  
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypeSymmetry symmetry_tolerance
Dtk_ToleranceSpecificationContainer of type Dtk_ToleranceSpecificationContainer::TypeTotalRunout total_runout_tolerance

MaterialModifier of Dtk_ToleranceSpecification (DTK_FDT_MODIFIER) modified_geometric_tolerance + Material Modifier AP214/AP203E2
MaterialModifier of Dtk_ToleranceSpecification (DTK_FDT_MODIFIER) geometric_tolerance_with_modifiers + list of Material Modifier AP242
Tolerance Zone identified in MainValue of Dtk_ToleranceSpecification (Dtk_CompositeText) tolerance_zone + tolerance_zone_form AP242
Projected Zone identified in MainValue of Dtk_ToleranceSpecification (Dtk_CompositeText) projected_zone_definition AP242
Unequal identified in MainValue of Dtk_ToleranceSpecification (Dtk_CompositeText) unequally_disposed_geoemtric_tolerance AP242
Defined Unit identified in MainValue of Dtk_ToleranceSpecification (Dtk_CompositeText) geometric_tolerance_with_defined_unit
Maximum Value identified in MainValue of Dtk_ToleranceSpecification (Dtk_CompositeText) geometric_tolerance_with_maximum_tolerance AP242
Dtk_ReferenceFrame in Dtk_ToleranceSpecification datum_system AP242
Dtk_ReferenceBlock with format "A" datum_reference AP214/AP203E2
Dtk_ReferenceBlock with MaterialModifier (DTK_FDT_MODIFIER) referenced_modified_datum AP214/AP203E2
Dtk_ReferenceBlock with format "A-B" common_datum + datum_reference or referenced_modified_datum AP214/AP203E2
Dtk_ReferenceBlock with format "A" datum_reference_compartment AP242
Dtk_ReferenceBlock with format "A-B" datum_reference_compartment + common_datum_list + datum_reference_element AP242


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 ( Ⓔ Ⓘ ) 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_ModelDisplay camera_model_d3 + draughting_model lists the annotations in the view + the 3D main model
 
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