In STEP format, FDT (also known as GD&T for Geometrical Dimensioning And Tolerancing ) have their semantic description and graphic display described separately.
Thus, they can be represented with our data structure in different ways : (1) as symbols ( or graphical display ) only, or (2) as a bundle gathering their semantic description and graphical display.
The graphical display can come in different forms, either :
In case of dual graphics (a FDT is written with both a frozen graphics and a placeholder) : one graphic has to be selected.
To choose which representation you want, see StepReader::SetModeFDTRepresentation( FDTRepresentation ).
FDTRepresentation is an enum that can have one of these values :
STEP FDT, either graphical display or semantic representation, are mapped using Dtk_Node of type Dtk_Node::FdtType.
Each Dtk_Info of the corresponding Dtk_Node will hold an integer attribute "Dtk_SemanticFdt" to help you determine which part of the FDT it represents.
More details on their content :
- A first node for the semantic part of the FDT.
- A second node, contained in the first sermantic one, for the graphical display of the FDT.
If no semantic definition has been found for a STEP FDT, its node "Dtk_SemanticFdt" attribute has the value -1.
Vice versa, if a semantic FDT has no graphic display at all, its node "Dtk_SemanticFdt" attribute has the value 3.
| STEP Entities (1) | DATAKIT Class | Remarks |
|---|---|---|
| product (with id = FDT standard) + document_product_equivalence + product_definition_context_association | Attribute "Dtk_PMIGlobalStandard" in Dtk_Info of Dtk_Component | Fdt Standard : ISO / ASME |
| value_format_type_qualifier | Attribute "DtkPrecision" in Dtk_Info of Dtk_Text | Number of significant digits |
| STEP Entities (1) | DATAKIT Class | Remarks |
|---|---|---|
| draughting_model with no camera_model | Set of Dtk_Node | Graphic part of the annotations attached to the model See also Views |
| draughting_callout or sub-type, alone | Dtk_Fdt with Dtk_2dEntity as Dtk_Symbol (see (1)) | In mode StepReader::FDTRepresentation::GraphicalOnly, semantic part is ignored |
| draughting_callout or sub-type, associated to a semantic FDT | Depends on draughting_callout graphical part, see (2) | Only in mode StepReader::FDTRepresentation::SemanticWithFrozenGraphicPriority or StepReader::FDTRepresentation::SemanticWithPlaceholderPriority |
| Isolated annotation_occurrence or sub-type | Dtk_Fdt with Dtk_2dEntity as Dtk_Symbol (see (1)) | Purely graphical part of STEP FDT |
| annotation_occurrence_relationship / _associativity | Part of Dtk_Fdt with Dtk_2dEntity as Dtk_Symbol (see (1)) | Purely graphical part of STEP FDT |
| annotation_placeholder_occurrence | Dtk_Fdt with Dtk_2dEntity as Dtk_Dimension, Dtk_DatumTarget or Dtk_GeometricalTolerance see (2), placeholder part | The display is rebuilt from minimal information of the placeholder (position, text size, attachment points) |
| STEP Entities (1) | DATAKIT Class | Remarks |
|---|---|---|
| shape_aspect and sub-types | Dtk_NodeConnector in Dtk_Node of type Dtk_Node::FdtType | Points to geometry : Dtk_Face, Dtk_Edge, etc. |
| composite_shape_aspect | Several Dtk_NodeConnector in Dtk_Node of type Dtk_Node::FdtType | Cumulates several shape_aspect |
| component_path_shape_aspect + multi_level_reference_designator | Dtk_NodeConnector in Dtk_Node of type Dtk_Node::FdtType with associated path component Id (see Dtk_NodeConnector::GetAssociatedPathComponentID) | 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 | Dtk_NodeConnector::SubEntity | Points to geometry : Dtk_Face, Dtk_Edge, etc. |
| draughting_model_item_association | Associates a FDT either : - to a geometry via a shape_aspect, - to a whole component via a product_definition_shape Also used in STEP to associate the semantic and graphic parts of a FDT |
| STEP Entities (1) | DATAKIT Class | Remarks |
|---|---|---|
| annotation_symbol_occurrence / terminator_symbol | Dtk_Leader::LeaderTerminatorTypeEnum | Designates the geometry with an annotation_curve_occurrence |
| annotation_symbol_occurrence , other than terminator_symbol | Not supported | For a symbol without a leader curve |
| annotation_curve_occurrence and leader_curve | Dtk_Curve of Dtk_Leader (see Dtk_Leader::GetLeaderCurve) | See below for geometries of FDT |
| defined_symbol | Dtk_Leader::ArrowHead | Its Dtk_Leader::LeaderTerminatorTypeEnum, width/height, Dtk_Info |
| pre_defined_terminator_symbol | Dtk_Leader::LeaderTerminatorTypeEnum | |
| symbol_target | Width/height of Dtk_Leader::ArrowHead | |
| symbol_style , symbol_colour | Attribute Color in Dtk_Info of Dtk_Leader::ArrowHead | see Dtk_Info::GetColor |
| STEP Entities (1) | DATAKIT Class | Remarks |
|---|---|---|
| annotation_curve_occurrence or annotation_occurrence (basic type) | Additionnal geometries in the Dtk_2dEntity of the Dtk_Fdt | see Dtk_2dEntity::GetAdditionnalGeometries |
| tessellated_annotation_curve_occurrence , tessellated_geometric_set , tessellated_curve_set and content | Additionnal geometries in the Dtk_2dEntity of the Dtk_Fdt, as wireframe (Dtk_Shell) | AP242 - converted to polylines (Dtk_Polyline) |
| triangulated_surface_set and sub-types | Additionnal geometries in the Dtk_2dEntity of the Dtk_Fdt, as filled Dtk_Face | AP242 - set of Dtk_Polyline with attribute PolygonCurve=1 in its Dtk_Info |
| point_style , pre_defined_marker | Attribute Color and PointSymbolType in point Dtk_Info | Common to the whole annotation |
| curve_style , draughting_pre_defined_curve_font | Attribute "CurveThicknessInMM", Color and FontId in curve Dtk_Info | Common to the whole annotation |
| geometric_curve_set | Additionnal geometries in the Dtk_2dEntity of the Dtk_Fdt | If several geometrical items in an annotation |
| geometric_set | Additionnal geometries in the Dtk_2dEntity of the Dtk_Fdt | Variant used for filled polylines |
| line or polyline or circle or trimmed_curve | Additionnal geometries in the Dtk_2dEntity of the Dtk_Fdt, as Dtk_Polyline | Individual geometrical item |
| face_surface with polyloop | Additionnal geometries in the Dtk_2dEntity of the Dtk_Fdt, as outline Dtk_Polyline | For a filled polyline |
| STEP Entities (1) | DATAKIT Class | Remarks |
|---|---|---|
| annotation_text_occurrence | Dtk_CompositeText, parameters common to all its Dtk_Text | Designates one or several texts together |
| text_style_with_box_characteristics | Dtk_TextStyle of Dtk_Text | Height, width, slant, pitch |
| text_style_for_defined_font | Attribute Color in Dtk_Info of Dtk_Text | See Dtk_Info::GetColor |
| composite_text | Several Dtk_Text | |
| text_literal | Dtk_Text | |
| text_literal_with_delineation | Dtk_Frame of Dtk_Text | |
| text_literal_with_extent + planar_extent | Dtk_Text with specific size for outer Dtk_Oriented2dBBox | Can be combined with delineation |
| measure_representation_item used in a semantic FDT | Dtk_Text with DTK_Text_type dtk_text_type_value + Attribute "DtkUnit" in its Dtk_Info |
| STEP Entities (1) | DATAKIT Class | Remarks |
|---|---|---|
product + application_context "geometrical dimensioning and tolerancing representation"
| Attribute "Dtk_PMIGlobalStandard" in Dtk_Info of Dtk_Component | Defines the FDT Standard (ISO, ASME) |
| STEP Entities (1) | DATAKIT Class | Remarks |
|---|---|---|
| datum + datum_feature | Dtk_Fdt with Dtk_2dEntity as Dtk_Symbol typed Dtk_Symbol::TypeDatum | |
| placed_datum_target_feature , datum_target | Dtk_Fdt with Dtk_2dEntity as Dtk_DatumTarget |
| STEP Entities (1) | DATAKIT Class | Remarks |
|---|---|---|
| geometric_tolerance_relationship | Dtk_GeometricalTolerance with several Dtk_ToleranceSpecification's | |
| geometric_tolerance and its sub-types | Dtk_GeometricalTolerance with a single Dtk_ToleranceSpecification | |
| angularity_tolerance | Dtk_ToleranceSpecificationContainer::TypeAngularity | |
| roundness_tolerance | Dtk_ToleranceSpecificationContainer::TypeCircularity | |
| circular_runout_tolerance | Dtk_ToleranceSpecificationContainer::TypeCircularRunout | |
| coaxiality_tolerance | Dtk_ToleranceSpecificationContainer::TypeCircularRunout | |
| concentricity_tolerance | Dtk_ToleranceSpecificationContainer::TypeConcentricity | |
| cylindricity_tolerance | Dtk_ToleranceSpecificationContainer::TypeCylindricity | |
| flatness_tolerance | Dtk_ToleranceSpecificationContainer::TypeFlatness | |
| line_profile_tolerance | Dtk_ToleranceSpecificationContainer::TypeLineProfile | |
| surface_profile_tolerance | Dtk_ToleranceSpecificationContainer::TypeSurfaceProfile | |
| parallelism_tolerance | Dtk_ToleranceSpecificationContainer::TypeParallelism | |
| perpendicularity_tolerance | Dtk_ToleranceSpecificationContainer::TypePerpendicularity | |
| position_tolerance | Dtk_ToleranceSpecificationContainer::TypePosition | |
| straightness_tolerance | Dtk_ToleranceSpecificationContainer::TypeStraightness | |
| symmetry_tolerance | Dtk_ToleranceSpecificationContainer::TypeSymmetry | |
| total_runout_tolerance | Dtk_ToleranceSpecificationContainer::TypeTotalRunout | |
| + combined sub-type modified_geometric_tolerance + Material Modifier | DTK_FDT_MODIFIER in the Dtk_ToleranceSpecification | AP203/AP214 - can be : |
| + combined sub-type geometric_tolerance_with_modifiers + list of Modifier(s) | Modifiers in the Dtk_ToleranceSpecification main value (Dtk_CompositeText) | AP242 see Dtk_ToleranceSpecification::GetMainValue |
| tolerance_zone + tolerance_zone_form | Value prefixed by diameter or spherical diameter info in the Dtk_ToleranceSpecification main value (Dtk_CompositeText) | see Dtk_ToleranceSpecification::GetMainValue |
| projected_zone_definition | see Dtk_ToleranceSpecification::GetMainValue | |
| + combined sub-type unequally_disposed_geometric_tolerance | - if FDT Standard is ISO : UZ[..] in the Dtk_ToleranceSpecification main value (Dtk_CompositeText) - if FDT Standard is ASME : | see Dtk_ToleranceSpecification::GetMainValue |
| + combined sub-type geometric_tolerance_with_defined_unit | defined unit in the Dtk_ToleranceSpecification main value (Dtk_CompositeText) | see Dtk_ToleranceSpecification::GetMainValue (after the value, notation "/val1[Xval2]") |
| + combined sub-type geometric_tolerance_with_maximum_tolerance | "MAX val" in the Dtk_ToleranceSpecification main value (Dtk_CompositeText) | AP242 see Dtk_ToleranceSpecification::GetMainValue |
| datum_reference (if no material modifier) or referenced_modified_datum (if material modifier) | Dtk_ReferenceBlock to one Datum in Dtk_ReferenceFrame | AP203/AP214 |
| common_datum + datum_reference or referenced_modified_datum | Dtk_ReferenceBlock to several Datums in Dtk_ReferenceFrame | AP203/AP214 |
| (geometric_tolerance_with_datum_reference +) datum_system | Several Dtk_ReferenceBlock in Dtk_ReferenceFrame | AP242 |
| datum_reference_compartment | Dtk_ReferenceBlock to a Datum in Dtk_ReferenceFrame | AP242 |
| datum_reference_compartment + common_datum_list | Dtk_ReferenceBlock to several Datums in Dtk_ReferenceFrame | AP242 |
| STEP Entities (1) | 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 | Dtk_Dimension::DimensionTypeEnum | |
| 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) | Dtk_Text with DTK_Text_type dtk_text_type_value in the Dtk_Dimension Dtk_CompositeText + Attribute "DtkOriginalValue" in its Dtk_Info | see Dtk_Dimension::GetTexts |
| one value + modifier "theoretical" | Same as above + Dtk_Dimension with Dtk_Dimension::BasicDimensionTypeEnum = Dtk_Dimension::BasicTypeRectangle | see Dtk_Dimension::GetBasicDimensionType |
| one value + modifier "auxiliary" | Same as above + parentheses in the Dtk_Text | |
| plus_minus_tolerance + tolerance_value | Dtk_Text with symetrical tolerance value in the Dtk_Dimension Dtk_CompositeText + Attribute "DtkOriginalTolMin" / "DtkOriginalTolMax" in its Dtk_Info | see DTK_Text_subtype::IsTolSymetricalTol |
| plus_minus_tolerance + limits_and_fits | Dtk_Text with tolerance as tabulated (standardized text) in the Dtk_Dimension Dtk_CompositeText | |
| one value , named "lower limit" AND one value , named "upper limit" | Dtk_Text with tolerance lower and upper value in the Dtk_Dimension Dtk_CompositeText + Attribute "DtkOriginalTolMin" / "DtkOriginalTolMax" | see DTK_Text_subtype::IsTolUpperTol and DTK_Text_subtype::IsTolLowerTol |
| one value + type_qualifier "minimum" | Dtk_Text with lower tolerance in the Dtk_Dimension Dtk_CompositeText + Attribute "DtkOriginalTolMin" | |
| one value + type_qualifier "maximum" | Dtk_Text with upper tolerance in the Dtk_Dimension Dtk_CompositeText + Attribute "DtkOriginalTolMax" | |
| modifier : descriptive_representation_item, listed in the shape_dimension_representation | Additional prefix or suffix in the Dtk_Dimension Dtk_CompositeText | |
| name of the shape_dimension_representation | Additional suffix in the Dtk_Dimension Dtk_CompositeText | independency gives envelope gives |
| STEP Entities (1) | DATAKIT Class | Remarks |
|---|---|---|
| property_definition_representation with property_definition, name = "semantic text" | Dtk_Symbol | Texts themselves are in descriptive_representation_item |
| STEP Entities (1) | DATAKIT Class | Remarks |
|---|---|---|
| constructive_geometry_representation + axis2_placement_3d | Dtk_AxisSystem | |
| constructive_geometry_representation with a geometry | Dtk_Body in a Dtk_Node of type BodyType subtype DTK_TYPE_FDT | Infinite plane is translated as a Dtk_Face flagged as infinite geometry See Dtk_Info::GetInfiniteGeometryFlag |
| constructive_geometry_representation_relationship | Link to the Dtk_Component |
| STEP Entities (1) | DATAKIT Class | Remarks |
|---|---|---|
| draughting_model with camera_model(s) | One Dtk_ModelDisplay per camera_model | Lists the annotations in the view |
| camera_model_d3 | Dtk_ModelDisplay | |
| camera_model_d3_multi_clipping + plane | Dtk_ModelDisplay + clipping plane | See Dtk_ModelDisplay::GetClippingEntity |
| view_volume , planar_box | Parameters of the Dtk_ModelDisplay | Position, axes, scale |
| model_geometric_view.name | Prior to define the name of the Dtk_ModelDisplay | From AP242E3 |
| default_model_geometric_view | Status "Activated" of the Dtk_ModelDisplay | From AP242E3
|