Overview

The first edition of AP242 is formally known as STEP Part 242: Application Protocol For Managed Model-based 3D Engineering. The standard was published in 2014 as ISO 10303-242:2014(E). It was intended to replace both AP203 and AP214 for mechanical CAD data. This has since been replaced by a second edition, published in 2020.

Programming Notes

The AP242 schema is identified by the StplibSchemaType stplib_schema_ap242 enum. The schema name is the same for the first and second editions. We append the second edition ASN/1 version identifier to the schema name when creating new files. See the AP242e2 notes for more discussion.

RoseDesign * d;

// schema name "AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF"
stplib_put_schema (d, stplib_schema_ap242);

switch (stplib_get_schema(d)) {
case stplib_schema_ap242:
    // ap242 first or second edition
}

In addition to the many new entities, AP242 changed the type of attributes in product_definition_relationship. The Part 21 file representation of the data remains the same, which is important for upward compatibility, but programmatic access is slightly different. The related and relating attributes were changed from a product_definition to a select that can take several different types of entity.

There were other changes of this kind through the model, but this one is noteworthy because it affects every application that processes STEP assemblies. The following functions will simplify adjusting your code:

stix_get_related_pdef(rel)  --> replaces rel->related_product_definition()
stix_get_relating_pdef(rel) --> replaces rel->relating_product_definition()


stix_put_related_pdef(rel, pd)  --> replaces rel->related_product_definition(pd)
stix_put_relating_pdef(rel, pd) --> replaces rel->relating_product_definition(pd)

A number of recommended practice documents are available on the CAx-IF site for things introduced in AP242.

New Entity Definitions

The 2014 first edition of AP242 contains about 533 new EXPRESS entities beyond AP214 and AP203 second edition. It also retires 53 entities from AP214, mostly in the kinematics model, that have been replaced with completely new definitions.

abrupt_change_of_surface_normal
abstracted_expression_function
actuated_kinematic_pair
add_element
agc_with_dimension
all_around_shape_aspect
angle_assembly_constraint_with_dimension
angle_geometric_constraint
application_defined_function
area_with_outer_boundary
array_placement_group
assembly_bond_definition
assembly_component
assembly_geometric_constraint
assembly_group_component
assembly_group_component_definition_placement_link
assembly_joint
atom_based_literal
b_spline_basis
b_spline_curve_knot_locator
b_spline_curve_segment
b_spline_function
b_spline_surface_knot_locator
b_spline_surface_patch
b_spline_surface_strip
basic_sparse_matrix
between_shape_aspect
binary_assembly_constraint
binary_literal
boolean_result_2d
bound_parameter_environment
bound_variational_parameter
boundary_curve_of_b_spline_or_rectangular_composite_surface
cartesian_complex_number_region
cdgc_with_dimension
chain_based_geometric_item_specific_usage
chain_based_item_identified_representation_usage
change_composition_relationship
change_element
change_element_sequence
change_group
change_group_assignment
characterized_chain_based_item_within_representation
characterized_item_within_representation
characterized_representation
circular_area
circular_path
clgc_with_dimension
closed_curve_style_parameters
coaxial_assembly_constraint
coaxial_geometric_constraint
complex_area
complex_number_literal
complex_number_literal_polar
complex_triangulated_face
complex_triangulated_surface_set
component_definition
component_feature
component_feature_joint
component_feature_relationship
component_mating_constraint_condition
component_path_shape_aspect
component_terminal
composite_curve_transition_locator
composite_group_shape_aspect
composite_unit_shape_aspect
connection_zone_based_assembly_joint
connection_zone_interface_plane_relationship
constant_function
constrained_kinematic_motion_representation
contacting_feature
context_dependent_kinematic_link_representation
continuous_shape_aspect
convex_hexahedron
coordinates_list
csg_2d_shape_representation
csg_primitive_solid_2d
csg_solid_2d
current_change_element_assignment
curve_based_path
curve_based_path_with_orientation
curve_based_path_with_orientation_and_parameters
curve_distance_geometric_constraint
curve_length_geometric_constraint
curve_segment_set
curve_smoothness_geometric_constraint
curve_style_parameters_representation
curve_style_parameters_with_ends
curve_with_excessive_segments
curve_with_small_curvature_radius
cyclide_segment_solid
cylindrical_pair_with_range
data_quality_assessment_measurement_association
data_quality_assessment_specification
data_quality_criteria_representation
data_quality_criterion
data_quality_criterion_assessment_association
data_quality_criterion_measurement_association
data_quality_definition
data_quality_definition_relationship
data_quality_definition_representation_relationship
data_quality_inspection_criterion_report
data_quality_inspection_criterion_report_item
data_quality_inspection_instance_report
data_quality_inspection_instance_report_item
data_quality_inspection_report
data_quality_inspection_result
data_quality_inspection_result_representation
data_quality_inspection_result_with_judgement
data_quality_measurement_requirement
data_quality_report_measurement_association
data_quality_report_request
datum_reference_compartment
datum_reference_element
datum_reference_modifier_with_value
datum_system
defined_constraint
definite_integral_expression
definite_integral_function
delete_element
detailed_report_request
detailed_report_request_with_number_of_data
dimensional_location_with_datum_feature
dimensional_size_with_datum_feature
disallowed_assembly_relationship_usage
disconnected_face_set
discontinuous_geometry
eccentric_cone
edge_with_excessive_segments
elementary_function
elementary_space
ellipsoid
elliptic_area
entirely_narrow_face
entirely_narrow_solid
entirely_narrow_surface
equal_parameter_constraint
erroneous_b_spline_curve_definition
erroneous_b_spline_surface_definition
erroneous_data
erroneous_geometry
erroneous_manifold_solid_brep
erroneous_topology
erroneous_topology_and_geometry_relationship
evaluated_characteristic_of_product_as_individual_test_result
excessive_use_of_groups
excessive_use_of_layers
excessively_high_degree_curve
excessively_high_degree_surface
explicit_constraint
explicit_geometric_constraint
explicit_table_function
expression_denoted_function
expression_extension_numeric
expression_extension_string
expression_extension_to_select
extended_tuple_space
externally_conditioned_data_quality_criteria_representation
externally_conditioned_data_quality_criterion
externally_conditioned_data_quality_inspection_instance_report_item
externally_conditioned_data_quality_inspection_result
externally_conditioned_data_quality_inspection_result_representation
externally_defined_item_with_multiple_references
externally_defined_representation
externally_listed_data
extreme_instance
extreme_patch_width_variation
face_shape_representation_relationship
face_surface_with_excessive_patches_in_one_direction
faceted_primitive
feature_definition_with_connection_area
feature_for_datum_target_relationship
finite_function
finite_integer_interval
finite_real_interval
finite_space
fixed_constituent_assembly_constraint
fixed_element_geometric_constraint
fixed_instance_attribute_set
flat_face
free_edge
free_form_assignment
free_form_constraint
free_form_relation
free_kinematic_motion_representation
frozen_assignment
function_application
function_space
g1_discontinuity_between_adjacent_faces
g1_discontinuous_curve
g1_discontinuous_surface
g2_discontinuity_between_adjacent_faces
g2_discontinuous_curve
g2_discontinuous_surface
gap_between_adjacent_edges_in_loop
gap_between_edge_and_base_surface
gap_between_faces_related_to_an_edge
gap_between_pcurves_related_to_an_edge
gap_between_vertex_and_base_surface
gap_between_vertex_and_edge
gear
gear_pair_with_range
general_datum_reference
general_linear_function
generated_finite_numeric_space
generic_product_definition_reference
geometric_contact
geometric_gap_in_topology
geometric_representation_context_with_parameter
geometric_tolerance_with_defined_area_unit
geometric_tolerance_with_maximum_tolerance
geometric_tolerance_with_modifiers
geometry_with_local_irregularity
geometry_with_local_near_degeneracy
half_space_2d
high_degree_axi_symmetric_surface
high_degree_conic
high_degree_linear_curve
high_degree_planar_surface
high_order_kinematic_pair
homogeneous_linear_function
implicit_explicit_positioned_sketch_relationship
implicit_intersection_curve
implicit_model_intersection_curve
implicit_planar_curve
implicit_planar_intersection_point
implicit_planar_projection_point
implicit_point_on_plane
implicit_projected_curve
implicit_silhouette_curve
imported_curve_function
imported_point_function
imported_surface_function
imported_volume_function
inappropriate_element_visibility
inappropriate_use_of_layer
inapt_data
inapt_geometry
inapt_manifold_solid_brep
inapt_topology
inapt_topology_and_geometry_relationship
incidence_assembly_constraint
incidence_geometric_constraint
inconsistent_adjacent_face_normals
inconsistent_curve_transition_code
inconsistent_edge_and_curve_directions
inconsistent_element_reference
inconsistent_face_and_closed_shell_normals
inconsistent_face_and_surface_normals
inconsistent_surface_transition_code
indistinct_curve_knots
indistinct_surface_knots
instance_attribute_reference
instance_report_item_with_extreme_instances
integer_interval_from_min
integer_interval_to_max
integer_tuple_literal
interfaced_group_component
interpolated_configuration_representation
interpolated_configuration_segment
intersecting_connected_face_sets
intersecting_loops_in_face
intersecting_shells_in_solid
item_link_motion_relationship
kinematic_loop
kinematic_path_defined_by_curves
kinematic_path_defined_by_nodes
kinematic_path_segment
kinematic_property_definition_representation
kinematic_property_mechanism_representation
kinematic_property_topology_representation
kinematic_topology_directed_structure
kinematic_topology_network_structure
kinematic_topology_structure
kinematic_topology_substructure
kinematic_topology_tree_structure
linear_array_component_definition_link
linear_array_placement_group_component
linear_flexible_and_pinion_pair
linear_flexible_and_planar_curve_pair
linear_flexible_link_representation
linear_path
linear_profile
linearized_table_function
link_motion_relationship
link_motion_representation_along_path
link_motion_transformation
listed_data
listed_product_space
location_in_aggregate_representation_item
low_order_kinematic_pair
low_order_kinematic_pair_value
low_order_kinematic_pair_with_motion_coupling
low_order_kinematic_pair_with_range
make_from_feature_relationship
marking
mated_part_relationship
maths_enum_literal
maths_function
maths_space
maths_tuple_literal
maths_variable
mechanism_representation
mechanism_state_representation
modify_element
multi_level_reference_designator
multiply_defined_cartesian_points
multiply_defined_curves
multiply_defined_directions
multiply_defined_edges
multiply_defined_faces
multiply_defined_geometry
multiply_defined_placements
multiply_defined_solids
multiply_defined_surfaces
multiply_defined_vertices
narrow_surface_patch
near_point_relationship
nearly_degenerate_geometry
nearly_degenerate_surface_boundary
nearly_degenerate_surface_patch
neutral_sketch_representation
non_agreed_accuracy_parameter_usage
non_agreed_scale_usage
non_agreed_unit_usage
non_manifold_at_edge
non_manifold_at_vertex
non_referenced_coordinate_system
non_smooth_geometry_transition_across_edge
non_uniform_zone_definition
open_closed_shell
open_edge_loop
oriented_joint
outer_round
outside_profile
over_used_vertex
overcomplex_geometry
overcomplex_topology_and_geometry_relationship
overlapping_geometry
pair_representation_relationship
parallel_assembly_constraint
parallel_assembly_constraint_with_dimension
parallel_composed_function
parallel_geometric_constraint
parallel_offset_geometric_constraint
partial_derivative_expression
partial_derivative_function
partly_overlapping_curves
partly_overlapping_edges
partly_overlapping_faces
partly_overlapping_solids
partly_overlapping_surfaces
path_area_with_parameters
path_node
path_parameter_representation
path_parameter_representation_context
pdgc_with_dimension
perpendicular_assembly_constraint
perpendicular_geometric_constraint
pgc_with_dimension
physical_component
physical_component_feature
physical_component_terminal
planar_pair_with_range
plane_angle_and_length_pair
plane_angle_and_ratio_pair
pogc_with_dimension
point_distance_geometric_constraint
point_on_edge_curve
point_on_face_surface
point_on_planar_curve_pair_with_range
point_on_surface_pair_with_range
point_to_point_path
polar_complex_number_region
polygonal_area
pre_defined_character_glyph
prescribed_path
previous_change_element_assignment
primitive_2d
primitive_2d_with_inner_boundary
prismatic_pair_with_range
product_as_planned
product_data_and_data_quality_relationship
product_definition_kinematics
product_definition_reference
product_definition_reference_with_local_representation
product_definition_relationship_kinematics
product_design_to_individual
product_design_version_to_individual
product_planned_to_realized
product_relationship
profile_floor
projected_zone_definition_with_offset
protrusion
quantifier_expression
rack_and_pinion_pair_with_range
radius_geometric_constraint
rationalize_function
real_interval_from_min
real_interval_to_max
real_tuple_literal
rectangular_area
rectangular_array_placement_group_component
rectangular_composite_surface_transition_locator
rectangular_pyramid
reindexed_array_function
removal_volume
repackaging_function
repositioned_neutral_sketch
repositioned_tessellated_item
representation_proxy_item
representative_shape_representation
restriction_function
revolute_pair_with_range
revolved_profile
rgc_with_dimension
rib_top
rib_top_floor
rigid_link_representation
rigid_subsketch
rounded_end
screw_pair_with_range
sdgc_with_dimension
selector_function
self_intersecting_curve
self_intersecting_geometry
self_intersecting_loop
self_intersecting_shell
self_intersecting_surface
series_composed_function
shape_aspect_relationship_representation_association
shape_criteria_representation_with_accuracy
shape_data_quality_assessment_by_logical_test
shape_data_quality_assessment_by_numerical_test
shape_data_quality_criteria_representation
shape_data_quality_criterion
shape_data_quality_criterion_and_accuracy_association
shape_data_quality_inspected_shape_and_result_relationship
shape_data_quality_inspection_criterion_report
shape_data_quality_inspection_instance_report
shape_data_quality_inspection_instance_report_item
shape_data_quality_inspection_result
shape_data_quality_inspection_result_representation
shape_data_quality_lower_value_limit
shape_data_quality_upper_value_limit
shape_data_quality_value_limit
shape_data_quality_value_range
shape_inspection_result_accuracy_association
shape_inspection_result_representation_with_accuracy
shape_measurement_accuracy
shape_summary_request_with_representative_value
short_length_curve
short_length_curve_segment
short_length_edge
simultaneous_constraint_group
single_area_csg_2d_shape_representation
single_boundary_csg_2d_shape_representation
single_property_is_definition
skew_line_distance_geometric_constraint
small_area_face
small_area_surface
small_area_surface_patch
small_volume_solid
software_for_data_quality_check
solid_with_excessive_number_of_voids
solid_with_wrong_number_of_voids
spherical_cap
spherical_pair_with_pin
spherical_pair_with_pin_and_range
spherical_pair_with_range
steep_angle_between_adjacent_edges
steep_angle_between_adjacent_faces
steep_geometry_transition_across_edge
step
su_parameters
subsketch
summary_report_request
surface_distance_assembly_constraint_with_dimension
surface_distance_geometric_constraint
surface_pair_with_range
surface_patch_set
surface_smoothness_geometric_constraint
surface_with_excessive_patches_in_one_direction
surface_with_small_curvature_radius
swept_curve_surface_geometric_constraint
swept_point_curve_geometric_constraint
symmetry_geometric_constraint
tangent_assembly_constraint
tangent_geometric_constraint
tessellated_annotation_occurrence
tessellated_connecting_edge
tessellated_curve_set
tessellated_edge
tessellated_face
tessellated_geometric_set
tessellated_item
tessellated_point_set
tessellated_shape_representation
tessellated_shell
tessellated_solid
tessellated_structured_item
tessellated_surface_set
tessellated_vertex
tessellated_wire
tetrahedron
thermal_component
thread_runout
topology_related_to_multiply_defined_geometry
topology_related_to_nearly_degenerate_geometry
topology_related_to_overlapping_geometry
topology_related_to_self_intersecting_geometry
triangulated_face
triangulated_surface_set
turned_knurl
unbound_parameter_environment
unbound_variational_parameter
unbound_variational_parameter_semantics
unequally_disposed_geometric_tolerance
uniform_product_space
universal_pair_with_range
unused_patches
unused_shape_element
value_format_type_qualifier
variable_expression
variational_current_representation_relationship
variational_parameter
variational_representation
volume
wrong_element_name
wrongly_oriented_void
wrongly_placed_loop
wrongly_placed_void
zero_surface_normal

The following definitions are no longer present in AP242 but have been retained in the class library for compatibility with older AP214 and AP203e2 data. Most of these definitions come from the AP214 kinematics model, which has been replaced with completely new definitions.

application_context_relationship
approximation_tolerance
approximation_tolerance_deviation
approximation_tolerance_parameter
composite_assembly_definition
configuration_definition
configuration_interpolation
cylindrical_pair_range
derived_unit_variable
draughting_specification_reference
element_delivery
event_occurrence_context_assignment
event_occurrence_context_role
featured_shape
founded_kinematic_path
gear_pair_range
initial_state
kinematic_frame_background_representation
kinematic_frame_background_representation_association
kinematic_frame_based_transformation
kinematic_ground_representation
kinematic_link_representation_relation
kinematic_property_definition
kinematic_property_representation_relation
kinematic_structure
language_assignment
mechanism
mechanism_base_placement
motion_link_relationship
named_unit_variable
pair_actuator
percentage_laminate_definition
percentage_ply_definition
physically_modelled_product_definition
planar_pair_range
ply_laminate_definition
point_on_planar_curve_pair_range
point_on_surface_pair_range
polar_complex_number_literal
pre_defined_presentation_style
prismatic_pair_range
rack_and_pinion_pair_range
revolute_pair_range
rib
scattering_parameter
screw_pair_range
seam_edge
shape_aspect_transition
simple_pair_range
spherical_pair_range
surface_pair_range
thickness_laminate_definition
universal_pair_range