DATAKIT API  V2025.1
Step Write General Mapping


Assembly

DATAKIT Class STEP Entity Remarks
Product (a Prototype Component) shape_definition_representation, with
- product : field name = name of the Product - must be unique
- shape_representation , according to content (see below)
either an assembly node or a basic component
MetaData attached to a Prototype Component Product Data detailed in Properties and Metadata
Product with no proper 3D geometry : no Dtk_Body the shape_representation lists only one item : axis_placement typically an assembly node <! or an external reference)>
Product with proper 3D geometry : at least one Dtk_Body one or several shape_representation according of content
- For Closed Shells (solids) : advanced_brep_shape_repr..
- For Open Shells (connected faces) : manifold_surface_shape_repr..
- For Wireframe (free edges and wires) : geometrically_bounded_wireframe_shape_repr.. + geometric_curve_set
- For Wireframe + free Points : geometrically_bounded_surface_shape_repr.. + geometric_set
(if several, bound by a shape_representation_relationship)
typically a basic component
Instance : a sub-component of an assembly set of entities : next_assembly_usage_occurence , context_dependent_shape_representation, shape_representation_with_transformation

refers to another product with a relative position

Dtk_transfo item_defined_transformation

the relative position of the instance

Request for an External Reference on a Component (Prototype) applied_document_reference, applied_external_identification_assignment, identification_role, document_file, document_type

in the 2 allowed modes : basic (only leaf parts are external) or nested (each component in a separate STEP file)


BREP : set of Faces

DATAKIT Class STEP Entity Remarks
Dtk_Body with one Dtk_Shell as closed manifold_solid_brep with closed_shell  
Dtk_Body with Dtk_Shell(s) as open (sets of connected faces) shell_based_surface_model with open_shell(s)  
Dtk_Body with several closed Dtk_Shell brep_with_voids with a closed_shell for outer shell, and oriented_closed_shell for inner shell(s) A solid with internal depressions(s) (included inner shells)


Face and Trimmings

DATAKIT Class STEP Entity Remarks
Dtk_Face advanced_face  
Dtk_Loop (with Dtk_Edge) face_bound or face_outer_bound + edge_loop (inner or outer)
Dtk_Loop as VertexLoop (with Dtk_Vertex) face_bound or face_outer_bound + vertex_loop (inner or outer)
Dtk_Coedge oriented_edge (no pcurve written) <!br + surface_curve and pcurve if there is a curve UV /td>  
Dtk_Edge edge_curve  
Dtk_Edge with 2 Dtk_Coedge on a same Face seam_edge (both coedges on a same face)
Dtk_Vertex vertex_point + cartesian_point  


Surfaces

DATAKIT Class STEP Entity Remarks
Dtk_NurbsSurface b_spline_surface_with_knots or rational_b_spline_surface+b_spline_surface_with_knots  
Dtk_ConicalSurface conical_surface  
Dtk_CylindricalSurface cylindrical_surface  
Dtk_LinearExtrusionSurface surface_of_linear_extrusion  
Dtk_OffsetSurface offset_surface or b_spline_surface, according to configuration settings
Dtk_PlaneSurfac plane  
Dtk_StandardRevolutionSurface surface_of_revolution  
Dtk_RevolutionSurface surface_of_revolution  
Dtk_SphericalSurface spherical_surface  
Dtk_ToroidalSurface toroidal_surface  
Dtk_ToroidalSurface as degenerated degenerate_toroidal_surface where Rmajor < Rminor
Dtk_MeshSurface a triangulated_face in a tessellated_shell topology ignored
Dtk_TransformedSurface, when transformation is isometric the basis surface after transformation otherwise converted to b_spline
Dtk_Surface : other types rational_b_spline_surface converted to b_spline


Curves

DATAKIT Class STEP Entity Remarks
Dtk_Line line  
Dtk_Ellipse, as a Circle (one radius) circle  
Dtk_Ellipse, not a Circle ellipse  
Dtk_Polyline, 2 points line or trimmed_curve(line) trimmed_curve in wireframe
Dtk_Polyline, more than 2 points polyline in wireframe only
Dtk_NurbsCurve b_spline_curve_with_knots or rational_b_spline_curve+b_spline_curve_with_knots  
Dtk_Curve : other types rational_b_spline_curve converted to b_spline


Wireframe

DATAKIT Class STEP Entity Remarks
Dtk_Body with Wire(s), Curves and/or Point geometric_curve_set  
a WireSet in a Dtk_Body, if more than one curve composite_curve + list of composite_curve_segment  
Dtk_Curve (free) curve according to type, with trimming if defined trimming : trimmed_curve
Dtk_Point (free) cartesian_point  


Mesh

DATAKIT Class STEP Entity Remarks
  /b Meshings to AP203 , AP214 , Mockups to any AP  
Dtk_mesh faceted_brep_model mockups have priority - if no mockup defined, individual triangles are written
Dtk_MeshFace with MOCKUP(s) one face_surface + plane per mockup  
each polygon of a mockup in Dtk_MeshFace face_bound + polyline  
each vertex of the Dtk_mesh cartesian_point  
Dtk_MeshFace with no mockup : its TRIANGLES, FANS, STRIPS one face_surface + plane per triangle (resolved to triangles : for each, 1 polyline of 3 vertices)
Dtk_MeshFace with POLYGON(s) one polyline per polygon  
Dtk_MeshFace with free POINT(s) one cartesian_point per free point  
  /b Meshings to AP242 except Mockups AP242
Dtk_mesh (general case) tessellated_shape_representation, content see below  
Dtk_mesh with tessellation parameters in Dtk_Info tessellated_shape_representation_with_accuracy_parameters parameters : Dtk_tesselation_LinearTol, Dtk_tesselation_AngleTol, Dtk_tesselation_Ratio, Dtk_tesselation_MaxSize
Dtk_MeshFace with POLYGON(s) tessellated_wire + list of tessellated_edge  
Dtk_mesh (surfacic) tessellated_shell + coordinates_list (for the vertices)  
Dtk_mesh (from a volume) tessellated_solid + coordinates_list (for the vertices)  
Dtk_MeshFace with only triangles triangulated_face  
Dtk_MeshFace with triangles, strips, fans complex_triangulated_face  


Attributes

DATAKIT Class STEP Entity Remarks
Graphical attributes in the Dtk_Info of a Dtk_Entity styled_item / over_riding_styled_item + presentation_style_assignment + values below over_riding_styled_item : for attributes redefined on a face inside a shell
color defined as any R,G,B values colour_rgb or draughting_pre_defined_color predefined when applicable
Color of a Dtk_Face or Shell or Volume surface_style_usage  
CurveLineType information (of a Dtk_Curve) pre_defined_curve_font default : continuous
ThicknessInMM information (of a Dtk_Curve) curve_style, field curve_width  
PointMarkerType information (of a Dtk_Point) pre_defined_marker default : x
ThicknessInMM information (of a Dtk_Point) point_style, field marker_size  
Layer information in the Dtk_Info presentation_layer_assignment  
Visibility information in the Dtk_Info invisibility when invisible
Transparency information in the Dtk_Info as A surface_style_transparent , surface_style_rendering_with_properties when A not maximum (transparency = 1-A)
AP242 only
Color / Invisibility on a Dtk_Component, type Instance (1 level) context_dependent_over_riding_styled_item with only one level of instance (If Override Mode is INACTIVE)


Properties and Metadata

Controlled by configuration setting

DATAKIT Class STEP Entity Remarks
MetaData on Dtk_Component, type STRING, title :
  • Nomenclature
  • Definition
  • Description
  • Revision
  • Source
mapped to entity and field :
  • product.name
  • product_definition.definition
  • product.description
  • product_definition_formation.revision
  • product_definition_formation + with_specified_source
Source must be "made" or "bought", otherwise ignored
MetaData on Dtk_Component, other values of title : property_definition_representation (name = the title) + property_definition + subtype of representation_item for the value + general_property + general_property_association
(User Defined Attribute)
if /c stepw_SetModeProperty (2 or 3) has been set
Value and Type : see below
Dtk_Val in general - type of value, see below property_definition_representation + property_definition + subtype of representation_item for the value title as "definition : representation : value_name", otherwise the Dtk_Val is ignored
Value and Type : see below
if type is STRING, or cases not covered below descriptive_representation_item  
if type is CHARACTER as BOOLEAN
  • before AP203E2 : descriptive_representation_item "TRUE" or "FALSE"
    - AP203E2 and later : boolean_representation_item
in: t f T F 1 0
if type is CHARACTER, other cases descriptive_representation_item  
if type is INTEGER
  • before AP203E2 : value_representation_item(count_measure)
    - AP203E2 and later : integer_representation_item
 
if type is REAL
  • before AP203E2 : value_representation_item(count_measure)
    - AP203E2 and later : real_representation_item
value with no unit
if type is POINT cartesian_point  
if type is DIR direction  
other cases, if value is "realvalue unit" measure_representation_item + unit unit in: mm cm dm m in ft mm2 .. mm3 .. kg g lb and combinations like kg/mm3