Application module: Machining features ISO/TS 10303-1814:2019(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definitions
   4.3 ARM entity definitions
   4.4 ARM subtype constraint definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM type definition
     5.2.2 MIM entity definition
     5.2.3 MIM rule definitions

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Change history
Bibliography
Index

(*
ISO/TC 184/SC 4/WG 12 N10172 - ISO/TS 10303-1814 Machining features - EXPRESS ARM
Supersedes ISO/TC 184/SC 4/WG 12 N9618
*)



SCHEMA Machining_features_arm;

USE FROM Elemental_geometric_shape_arm;    -- ISO/TS 10303-1004

USE FROM Feature_and_connection_zone_arm;    -- ISO/TS 10303-1671

USE FROM Group_arm;    -- ISO/TS 10303-1113

USE FROM Measure_representation_arm;    -- ISO/TS 10303-1118

USE FROM Specification_document_arm;    -- ISO/TS 10303-1747

USE FROM Value_with_unit_arm;    -- ISO/TS 10303-1054


TYPE angle_or_directed_taper = SELECT
   (Angle_taper,
    Directed_taper);
END_TYPE;

TYPE compound_feature_select = SELECT
   (Machining_feature,
    Transition_feature);
END_TYPE;

TYPE end_type_select = SELECT
   (Complete_circular_path_feature_component,
    General_path_feature_component);
END_TYPE;

TYPE hole_bottom_condition_select = SELECT
   (Blind_bottom_condition,
    Through_bottom_condition);
END_TYPE;

TYPE manufacturing_group_select = SELECT
   (Manufacturing_feature,
    Manufacturing_feature_group);
END_TYPE;

TYPE mf_additional_application_domain_enumeration = ENUMERATION BASED_ON additional_application_domain_enumeration WITH
   (machining_feature);
END_TYPE;

TYPE mf_groupable_item = SELECT BASED_ON groupable_item WITH
   (Manufacturing_feature,
    Manufacturing_feature_group);
END_TYPE;

TYPE pocket_bottom_condition_select = SELECT
   (Pocket_bottom_condition,
    Through_pocket_bottom_condition);
END_TYPE;

TYPE profile_select = SELECT
   (Profile_floor,
    Through_profile_floor);
END_TYPE;

TYPE replicate_base_select = SELECT
   (Machining_feature,
    Replicate_feature);
END_TYPE;

TYPE taper_select = SELECT
   (Angle_taper,
    Diameter_taper,
    Directed_taper);
END_TYPE;

TYPE thread_hand = ENUMERATION OF
   (left,
    right);
END_TYPE;

TYPE thread_side = ENUMERATION OF
   (internal,
    external);
END_TYPE;

TYPE volume_select = SELECT
   (Protrusion,
    Boss);
END_TYPE;

ENTITY Angle_taper;
  angle : Numerical_item_with_unit;
END_ENTITY;

ENTITY Bevel_gear
  ABSTRACT SUPERTYPE OF (ONEOF (Helical_bevel_gear,
                                Straight_bevel_gear))
  SUBTYPE OF (Defined_gear);
  tip_angle : Numerical_item_with_unit;
  root_angle : Numerical_item_with_unit;
END_ENTITY;

ENTITY Blind_bottom_condition
  ABSTRACT SUPERTYPE OF (ONEOF (Conical_hole_bottom,
                                Flat_hole_bottom,
                                Flat_with_radius_hole_bottom,
                                Flat_with_taper_hole_bottom,
                                Spherical_hole_bottom));
  start_or_end : BOOLEAN;
END_ENTITY;

ENTITY Boss
  ABSTRACT SUPERTYPE OF (ONEOF (Circular_boss,
                                General_boss,
                                Rectangular_boss))
  SUBTYPE OF (Multi_axis_feature);
  boss_height : Linear_path_feature_component;
  fillet_radius : OPTIONAL Numerical_item_with_unit;
  top_condition : Boss_top_condition;
END_ENTITY;

ENTITY Boss_top_condition
  ABSTRACT SUPERTYPE OF (ONEOF (General_top_condition,
                                Planar_top_condition));
  top_radius : OPTIONAL Numerical_item_with_unit;
  start_or_end : BOOLEAN;
END_ENTITY;

ENTITY Catalogue_gear
  SUBTYPE OF (Gear);
  documentation : Specification_definition;
END_ENTITY;

ENTITY Catalogue_knurl
  SUBTYPE OF (Knurl);
  documentation : Specification_definition;
END_ENTITY;

ENTITY Catalogue_marking
  SUBTYPE OF (Marking_feature);
  documentation : Specification_definition;
END_ENTITY;

ENTITY Catalogue_thread
  SUBTYPE OF (Thread);
  documentation : Specification_definition;
  major_diameter : OPTIONAL Numerical_item_with_unit;
END_ENTITY;

ENTITY Chamfer
  SUBTYPE OF (Transition_feature);
  chamfer_face : Face_shape_element;
  first_parameter : First_chamfer_offset;
  second_parameter : Second_chamfer_parameter;
END_ENTITY;

ENTITY Chamfer_angle
  SUBTYPE OF (Second_chamfer_parameter);
  angle_amount : Numerical_item_with_unit;
END_ENTITY;

ENTITY Circular_boss
  SUBTYPE OF (Boss);
  circular_profile : Circular_closed_profile;
  change_in_diameter : OPTIONAL taper_select;
END_ENTITY;

ENTITY Circular_closed_profile
  SUBTYPE OF (Closed_profile);
  diameter : Numerical_item_with_unit;
END_ENTITY;

ENTITY Circular_closed_shape_profile
  SUBTYPE OF (Shape_profile);
  closed_boundary : Circular_closed_profile;
END_ENTITY;

ENTITY Circular_cutout
  SUBTYPE OF (Cutout_feature);
  circular_boundary : Circular_closed_profile;
END_ENTITY;

ENTITY Circular_offset_pattern;
  index_number : INTEGER;
  angular_offset : Numerical_item_with_unit;
INVERSE
  relocated_base_feature_for : SET[1:?] OF Circular_pattern FOR relocated_base_feature;
END_ENTITY;

ENTITY Circular_omit_pattern;
  omit_index : INTEGER;
INVERSE
  missing_base_feature_for : SET[1:?] OF Circular_pattern FOR missing_base_feature;
END_ENTITY;

ENTITY Circular_path_feature_component
  ABSTRACT SUPERTYPE OF (ONEOF (Complete_circular_path_feature_component,
                                Partial_circular_path_feature_component))
  SUBTYPE OF (Path_feature_component);
  radius : length_measure;
END_ENTITY;

ENTITY Circular_pattern
  SUBTYPE OF (Replicate_feature);
  relocated_base_feature : SET[0:?] OF Circular_offset_pattern;
  missing_base_feature : SET[0:?] OF Circular_omit_pattern;
  base_feature_rotation : Numerical_item_with_unit;
  number_of_features : INTEGER;
  base_feature_diameter : OPTIONAL Numerical_item_with_unit;
  angular_spacing : Numerical_item_with_unit;
END_ENTITY;

ENTITY Closed_profile
  ABSTRACT SUPERTYPE OF (ONEOF (Circular_closed_profile,
                                General_closed_profile,
                                Ngon_profile,
                                Rectangular_closed_profile))
  SUBTYPE OF (Profile);
END_ENTITY;

ENTITY Closed_slot
  SUBTYPE OF (Slot);
  end_condition : Loop_slot_end_type;
  course_of_travel : end_type_select;
END_ENTITY;

ENTITY Complete_circular_path_feature_component
  SUBTYPE OF (Circular_path_feature_component);
END_ENTITY;

ENTITY Compound_feature
  SUBTYPE OF (Machining_feature);
  element : SET[2:?] OF Compound_feature_element;
END_ENTITY;

ENTITY Compound_feature_element;
  element : compound_feature_select;
END_ENTITY;

ENTITY Compound_feature_relationship;
  predecessor : Compound_feature_element;
  successor : Compound_feature_element;
END_ENTITY;

ENTITY Conical_hole_bottom
  SUBTYPE OF (Blind_bottom_condition);
  tip_angle : Numerical_item_with_unit;
  tip_radius : OPTIONAL Numerical_item_with_unit;
END_ENTITY;

ENTITY Constant_radius_edge_round
  SUBTYPE OF (Edge_round);
  first_face_offset : OPTIONAL Numerical_item_with_unit;
  second_face_offset : OPTIONAL Numerical_item_with_unit;
  radius : Numerical_item_with_unit;
END_ENTITY;

ENTITY Constant_radius_fillet
  SUBTYPE OF (Fillet);
  first_face_offset : OPTIONAL Numerical_item_with_unit;
  second_face_offset : OPTIONAL Numerical_item_with_unit;
  radius : Numerical_item_with_unit;
END_ENTITY;

ENTITY Counterbore_hole
  SUBTYPE OF (Hole);
  smaller_hole : Round_hole;
  larger_hole : Round_hole;
WHERE
  WR1: SIZEOF(['MACHINING_FEATURES_ARM.COUNTERSUNK_HOLE', 'MACHINING_FEATURES_ARM.ROUND_HOLE'] * TYPEOF(SELF)) = 0;
END_ENTITY;

ENTITY Countersunk_hole
  SUBTYPE OF (Hole);
  constant_diameter_hole : Round_hole;
  tapered_hole : Round_hole;
WHERE
  WR1: SIZEOF(['MACHINING_FEATURES_ARM.COUNTERBORE_HOLE', 'MACHINING_FEATURES_ARM.ROUND_HOLE'] * TYPEOF(SELF)) = 0;
END_ENTITY;

ENTITY Cutout_feature
  ABSTRACT SUPERTYPE OF (ONEOF (Circular_cutout,
                                General_cutout))
  SUBTYPE OF (Pocket);
  SELF\Pocket.bottom_condition : Through_pocket_bottom_condition;
END_ENTITY;

ENTITY Defined_gear
  ABSTRACT SUPERTYPE OF (ONEOF (Bevel_gear,
                                Helical_gear,
                                Spur_gear))
  SUBTYPE OF (Gear);
END_ENTITY;

ENTITY Defined_marking
  SUBTYPE OF (Marking_feature);
  font_name : OPTIONAL text;
  special_instruction : OPTIONAL text;
  character_spacing : OPTIONAL Numerical_item_with_unit;
  character_height : OPTIONAL Numerical_item_with_unit;
END_ENTITY;

ENTITY Defined_thread
  SUBTYPE OF (Thread);
  crest : OPTIONAL Numerical_item_with_unit;
  minor_diameter : OPTIONAL Numerical_item_with_unit;
  pitch_diameter : OPTIONAL Numerical_item_with_unit;
  major_diameter : Numerical_item_with_unit;
END_ENTITY;

ENTITY Diagonal_knurl
  SUBTYPE OF (Turned_knurl);
  helix_hand : text;
  helix_angle : Numerical_item_with_unit;
END_ENTITY;

ENTITY Diameter_taper;
  final_diameter : Numerical_item_with_unit;
END_ENTITY;

ENTITY Diamond_knurl
  SUBTYPE OF (Turned_knurl);
  helix_angle : Numerical_item_with_unit;
END_ENTITY;

ENTITY Directed_taper;
  direction : Direction_element;
  angle : Numerical_item_with_unit;
END_ENTITY;

ENTITY Direction_element
  SUBTYPE OF (Shape_element);
END_ENTITY;

ENTITY Edge_round
  SUBTYPE OF (Transition_feature);
  edge_round_face : Face_shape_element;
  first_face_shape : Face_shape_element;
  second_face_shape : Face_shape_element;
END_ENTITY;

ENTITY Face_shape_element
  SUBTYPE OF (Shape_element);
DERIVE
  SELF\Shape_element.product_definitional : BOOLEAN := TRUE;
END_ENTITY;

ENTITY Face_shape_element_relationship
  SUBTYPE OF (Shape_element_relationship);
  SELF\Shape_element_relationship.relating : Face_shape_element;
  SELF\Shape_element_relationship.related : Face_shape_element;
END_ENTITY;

ENTITY Fillet
  SUBTYPE OF (Transition_feature);
  fillet_face : Face_shape_element;
  first_face_shape : Face_shape_element;
  second_face_shape : Face_shape_element;
END_ENTITY;

ENTITY First_chamfer_offset;
  face_shape : Face_shape_element;
  offset_amount : Numerical_item_with_unit;
END_ENTITY;

ENTITY Flat_hole_bottom
  SUBTYPE OF (Blind_bottom_condition);
END_ENTITY;

ENTITY Flat_slot_end_type
  SUBTYPE OF (Slot_end_type);
  first_radius : Numerical_item_with_unit;
  second_radius : Numerical_item_with_unit;
END_ENTITY;

ENTITY Flat_with_radius_hole_bottom
  SUBTYPE OF (Blind_bottom_condition);
  corner_radius : Numerical_item_with_unit;
END_ENTITY;

ENTITY Flat_with_taper_hole_bottom
  SUBTYPE OF (Blind_bottom_condition);
  taper_diameter : Numerical_item_with_unit;
  final_diameter : Numerical_item_with_unit;
END_ENTITY;

ENTITY Gear
  ABSTRACT SUPERTYPE OF (ONEOF (Catalogue_gear,
                                Defined_gear))
  SUBTYPE OF (Machining_feature);
  nominal_tooth_depth : Numerical_item_with_unit;
  reference_pressure_angle : Numerical_item_with_unit;
  profile_shift : Numerical_item_with_unit;
  number_of_teeth : Numerical_item_with_unit;
  face_width : Numerical_item_with_unit;
  tip_diameter : Numerical_item_with_unit;
  normal_attribute : Numerical_item_with_unit;
  applied_shape : Shape_element;
  internal_or_external_gear : BOOLEAN;
  module_or_diametrical_pitch : BOOLEAN;
  root_fillet_radius : OPTIONAL Numerical_item_with_unit;
WHERE
  WR1: applied_shape.product_definitional = TRUE;
END_ENTITY;

ENTITY General_boss
  SUBTYPE OF (Boss);
  enclosed_boundary : Closed_profile;
  change_in_boundary : OPTIONAL angle_or_directed_taper;
END_ENTITY;

ENTITY General_closed_profile
  SUBTYPE OF (Closed_profile);
  closed_profile_shape : Path_element;
END_ENTITY;

ENTITY General_cutout
  SUBTYPE OF (Cutout_feature);
  boundary : Profile;
END_ENTITY;

ENTITY General_open_profile
  SUBTYPE OF (Open_profile);
  enclosed_boundary : Path_element;
END_ENTITY;

ENTITY General_outside_profile
  SUBTYPE OF (Profile_feature);
  boundary : Profile;
END_ENTITY;

ENTITY General_path_feature_component
  SUBTYPE OF (Path_feature_component);
  sweep_path : Path_element;
END_ENTITY;

ENTITY General_pattern
  SUBTYPE OF (Replicate_feature);
  feature_placement : SET[1:?] OF Axis_placement;
END_ENTITY;

ENTITY General_pocket
  SUBTYPE OF (Pocket);
  volume_not_removed : SET[0:?] OF volume_select;
  boundary : Profile;
END_ENTITY;

ENTITY General_pocket_bottom_condition
  SUBTYPE OF (Pocket_bottom_condition);
  floor : Face_shape_element;
  floor_radius : OPTIONAL Numerical_item_with_unit;
END_ENTITY;

ENTITY General_profile_floor
  SUBTYPE OF (Profile_floor);
  floor : Face_shape_element;
END_ENTITY;

ENTITY General_removal_volume
  SUBTYPE OF (Multi_axis_feature);
  removal_volume : SET[1:?] OF Shape_element;
END_ENTITY;

ENTITY General_revolution
  SUBTYPE OF (Revolved_feature);
  outer_edge_shape : General_open_profile;
END_ENTITY;

ENTITY General_rib_top_floor
  SUBTYPE OF (Rib_top_floor);
  rib_top_face : SET[1:?] OF Face_shape_element;
END_ENTITY;

ENTITY General_shape_profile
  SUBTYPE OF (Shape_profile);
  profile_boundary : Profile;
END_ENTITY;

ENTITY General_top_condition
  SUBTYPE OF (Boss_top_condition);
  top_face : Face_shape_element;
END_ENTITY;

ENTITY Groove
  SUBTYPE OF (Revolved_feature);
  sweep : Open_profile;
END_ENTITY;

ENTITY Helical_bevel_gear
  SUBTYPE OF (Bevel_gear);
  reference_helix_agle : Numerical_item_with_unit;
  left_or_right_hand_tooth : BOOLEAN;
END_ENTITY;

ENTITY Helical_gear
  SUBTYPE OF (Defined_gear);
  left_or_right_hand_tooth : BOOLEAN;
  reference_helix_angle : Numerical_item_with_unit;
END_ENTITY;

ENTITY Hole ABSTRACT
  SUBTYPE OF (Multi_axis_feature);
END_ENTITY;

ENTITY Instanced_manufacturing_feature
  SUBTYPE OF (Instanced_feature);
  definition : Manufacturing_feature;
END_ENTITY;

ENTITY Knurl
  ABSTRACT SUPERTYPE OF (ONEOF (Catalogue_knurl,
                                Turned_knurl))
  SUBTYPE OF (Machining_feature);
  partial_profile : OPTIONAL Partial_area_definition;
  applied_shape : Shape_element;
WHERE
  WR1: applied_shape.product_definitional = TRUE;
END_ENTITY;

ENTITY Linear_path_feature_component
  SUBTYPE OF (Path_feature_component);
  distance : length_measure;
  direction : Direction_element;
END_ENTITY;

ENTITY Linear_profile
  SUBTYPE OF (Open_profile);
  profile_length : Numerical_item_with_unit;
END_ENTITY;

ENTITY Location_element
  SUBTYPE OF (Shape_element);
END_ENTITY;

ENTITY Loop_slot_end_type;
END_ENTITY;

ENTITY Machining_feature
  ABSTRACT SUPERTYPE OF (ONEOF (Compound_feature,
                                Gear,
                                Knurl,
                                Marking_feature,
                                Multi_axis_feature,
                                Outer_round,
                                Revolved_feature,
                                Spherical_cap,
                                Thread))
  SUBTYPE OF (Manufacturing_feature);
  placement : Axis_placement_3d;
END_ENTITY;

ENTITY Manufacturing_feature
  ABSTRACT SUPERTYPE OF (ONEOF (Machining_feature,
                                Replicate_feature,
                                Transition_feature))
  SUBTYPE OF (Shape_feature_definition);
END_ENTITY;

ENTITY Manufacturing_feature_group
  SUBTYPE OF (Group);
  SELF\Group.elements : SET[1:?] OF manufacturing_group_select;
END_ENTITY;

ENTITY Marking_feature
  ABSTRACT SUPERTYPE OF (ONEOF (Catalogue_marking,
                                Defined_marking))
  SUBTYPE OF (Machining_feature);
  text : text;
  applied_to_shape : Shape_element;
END_ENTITY;

ENTITY Multi_axis_feature
  SUPERTYPE OF (ONEOF (Boss,
                       General_removal_volume,
                       Hole,
                       Planar_face,
                       Pocket,
                       Profile_feature,
                       Protrusion,
                       Rib_top,
                       Rounded_end,
                       Slot,
                       Step))
  SUBTYPE OF (Machining_feature);
  maximum_feature_limit : OPTIONAL Planar_element;
END_ENTITY;

ENTITY Ngon_profile
  SUBTYPE OF (Closed_profile);
  diameter : Numerical_item_with_unit;
  number_of_sides : Numerical_item_with_unit;
  corner_radius : OPTIONAL Numerical_item_with_unit;
  circumscribed_or_across_flat : BOOLEAN;
END_ENTITY;

ENTITY Open_profile
  ABSTRACT SUPERTYPE OF (ONEOF (General_open_profile,
                                Linear_profile,
                                Partial_circular_profile,
                                Rounded_u_profile,
                                Square_u_profile,
                                Tee_profile,
                                Vee_profile))
  SUBTYPE OF (Profile);
  profile_limit : OPTIONAL Planar_element;
END_ENTITY;

ENTITY Open_slot
  SUBTYPE OF (Slot);
  course_of_travel : Path_feature_component;
  end_conditions : SET[2:2] OF Slot_end_type;
END_ENTITY;

ENTITY Open_slot_end_type
  SUBTYPE OF (Slot_end_type);
END_ENTITY;

ENTITY Outer_diameter
  SUBTYPE OF (Outer_round);
  feature_length : Numerical_item_with_unit;
  diameter : Numerical_item_with_unit;
  reduced_size : taper_select;
END_ENTITY;

ENTITY Outer_diameter_to_shoulder
  SUBTYPE OF (Outer_round);
  feature_length : Numerical_item_with_unit;
  diameter : Numerical_item_with_unit;
  v_shape_boundary : Vee_profile;
END_ENTITY;

ENTITY Outer_round
  ABSTRACT SUPERTYPE OF (ONEOF (Outer_diameter,
                                Outer_diameter_to_shoulder))
  SUBTYPE OF (Machining_feature);
END_ENTITY;

ENTITY Partial_area_definition;
  maximum_length : OPTIONAL Numerical_item_with_unit;
  effective_length : Numerical_item_with_unit;
  placement : Axis_placement;
END_ENTITY;

ENTITY Partial_circular_path_feature_component
  SUBTYPE OF (Circular_path_feature_component);
  sweep_angle : length_measure;
END_ENTITY;

ENTITY Partial_circular_profile
  SUBTYPE OF (Open_profile);
  sweep_angle : Numerical_item_with_unit;
  radius : Numerical_item_with_unit;
END_ENTITY;

ENTITY Partial_circular_shape_profile
  SUBTYPE OF (Shape_profile);
  open_boundary : Partial_circular_profile;
END_ENTITY;

ENTITY Path_element
  SUBTYPE OF (Shape_element);
END_ENTITY;

ENTITY Path_feature_component
  ABSTRACT SUPERTYPE OF (ONEOF (Circular_path_feature_component,
                                General_path_feature_component,
                                Linear_path_feature_component))
  SUBTYPE OF (Shape_element);
  placement : Axis_placement;
END_ENTITY;

ENTITY Planar_element
  SUBTYPE OF (Shape_element);
  normal : Direction_element;
  location : Location_element;
END_ENTITY;

ENTITY Planar_face
  SUBTYPE OF (Multi_axis_feature);
  removal_boundary : Linear_profile;
  course_of_travel : Linear_path_feature_component;
  face_boundary : OPTIONAL Closed_profile;
  removal_direction : Direction_element;
  volume_not_removed : SET[0:?] OF volume_select;
  removal_depth : OPTIONAL Numerical_item_with_unit;
END_ENTITY;

ENTITY Planar_pocket_bottom_condition
  SUBTYPE OF (Pocket_bottom_condition);
  floor_normal : Direction_element;
  floor_location : Location_element;
  floor_radius : OPTIONAL Numerical_item_with_unit;
END_ENTITY;

ENTITY Planar_profile_floor
  SUBTYPE OF (Profile_floor);
  floor : Planar_element;
END_ENTITY;

ENTITY Planar_rib_top_floor
  SUBTYPE OF (Rib_top_floor);
  floor_face : Planar_element;
  boundary : Closed_profile;
END_ENTITY;

ENTITY Planar_top_condition
  SUBTYPE OF (Boss_top_condition);
  top_normal : Direction_element;
  top_location : Location_element;
END_ENTITY;

ENTITY Pocket
  ABSTRACT SUPERTYPE OF (ONEOF (Cutout_feature,
                                General_pocket,
                                Recess,
                                Rectangular_closed_pocket,
                                Rectangular_open_pocket))
  SUBTYPE OF (Multi_axis_feature);
  base_radius : Numerical_item_with_unit;
  change_in_boundary : OPTIONAL LIST[1:?] OF angle_or_directed_taper;
  bottom_condition : pocket_bottom_condition_select;
  pocket_depth : Linear_path_feature_component;
END_ENTITY;

ENTITY Pocket_bottom_condition
  ABSTRACT SUPERTYPE OF (ONEOF (General_pocket_bottom_condition,
                                Planar_pocket_bottom_condition));
  start_or_end : BOOLEAN;
END_ENTITY;

ENTITY Profile
  ABSTRACT SUPERTYPE OF (ONEOF (Closed_profile,
                                Open_profile));
END_ENTITY;

ENTITY Profile_feature
  ABSTRACT SUPERTYPE OF (ONEOF (General_outside_profile,
                                Shape_profile))
  SUBTYPE OF (Multi_axis_feature);
  profile_swept_shape : Linear_path_feature_component;
END_ENTITY;

ENTITY Profile_floor
  ABSTRACT SUPERTYPE OF (ONEOF (General_profile_floor,
                                Planar_profile_floor));
  floor_radius : OPTIONAL Numerical_item_with_unit;
  start_or_end : BOOLEAN;
END_ENTITY;

ENTITY Protrusion
  SUBTYPE OF (Multi_axis_feature);
  shape_volume : SET[1:?] OF Shape_element;
WHERE
  WR1: SIZEOF(QUERY(sv <* shape_volume | NOT (sv.product_definitional = TRUE))) = 0;
END_ENTITY;

ENTITY Radiused_slot_end_type
  SUBTYPE OF (Slot_end_type);
END_ENTITY;

ENTITY Recess
  SUBTYPE OF (Pocket);
  SELF\Pocket.bottom_condition : Pocket_bottom_condition;
  volume_not_removed : SET[0:?] OF volume_select;
  fillet_boundary : Profile;
END_ENTITY;

ENTITY Rectangular_boss
  SUBTYPE OF (Boss);
  rectangular_profile : Rectangular_closed_profile;
  change_in_boundary : OPTIONAL angle_or_directed_taper;
END_ENTITY;

ENTITY Rectangular_closed_pocket
  SUBTYPE OF (Pocket);
  volume_not_removed : SET[0:?] OF volume_select;
  closed_boundary : Rectangular_closed_profile;
END_ENTITY;

ENTITY Rectangular_closed_profile
  SUBTYPE OF (Closed_profile);
  profile_width : Numerical_item_with_unit;
  profile_length : Numerical_item_with_unit;
  corner_radius : OPTIONAL Numerical_item_with_unit;
END_ENTITY;

ENTITY Rectangular_closed_shape_profile
  SUBTYPE OF (Shape_profile);
  closed_boundary : Rectangular_closed_profile;
END_ENTITY;

ENTITY Rectangular_offset_pattern;
  offset_direction : Direction_element;
  offset_distance : Numerical_item_with_unit;
  column_index : INTEGER;
  row_index : INTEGER;
INVERSE
  relocated_base_feature_for : SET[1:?] OF Rectangular_pattern FOR relocated_base_feature;
END_ENTITY;

ENTITY Rectangular_omit_pattern;
  row_index : INTEGER;
  column_index : INTEGER;
INVERSE
  missing_base_feature_for : SET[1:?] OF Rectangular_pattern FOR missing_base_feature;
END_ENTITY;

ENTITY Rectangular_open_pocket
  SUBTYPE OF (Pocket);
  volume_not_removed : SET[0:?] OF volume_select;
  open_boundary : Square_u_profile;
END_ENTITY;

ENTITY Rectangular_open_shape_profile
  SUBTYPE OF (Shape_profile);
  open_boundary : Square_u_profile;
END_ENTITY;

ENTITY Rectangular_pattern
  SUBTYPE OF (Replicate_feature);
  relocated_base_feature : SET[0:?] OF Rectangular_offset_pattern;
  missing_base_feature : SET[0:?] OF Rectangular_omit_pattern;
  column_layout_direction : Direction_element;
  row_spacing : Numerical_item_with_unit;
  rows : INTEGER;
  row_layout_direction : Direction_element;
  columns : INTEGER;
  column_spacing : Numerical_item_with_unit;
END_ENTITY;

ENTITY Replicate_base;
  base_feature : replicate_base_select;
END_ENTITY;

ENTITY Replicate_feature
  ABSTRACT SUPERTYPE OF (ONEOF (Circular_pattern,
                                General_pattern,
                                Rectangular_pattern))
  SUBTYPE OF (Manufacturing_feature);
  placement : Axis_placement;
  replicate_feature_base : Replicate_base;
END_ENTITY;

ENTITY Revolved_feature
  ABSTRACT SUPERTYPE OF (ONEOF (General_revolution,
                                Groove,
                                Revolved_flat,
                                Revolved_round))
  SUBTYPE OF (Machining_feature);
  radius : Numerical_item_with_unit;
  material_side : Direction_element;
END_ENTITY;

ENTITY Revolved_flat
  SUBTYPE OF (Revolved_feature);
  flat_edge_shape : Linear_profile;
END_ENTITY;

ENTITY Revolved_round
  SUBTYPE OF (Revolved_feature);
  rounded_edge_shape : Partial_circular_profile;
END_ENTITY;

ENTITY Rib_top
  SUBTYPE OF (Multi_axis_feature);
  removal_direction : Direction;
  floor_condition : Rib_top_floor;
END_ENTITY;

ENTITY Rib_top_floor
  ABSTRACT SUPERTYPE OF (ONEOF (General_rib_top_floor,
                                Planar_rib_top_floor));
END_ENTITY;

ENTITY Round_hole
  SUBTYPE OF (Hole);
  hole_depth : Linear_path_feature_component;
  diameter : Circular_closed_profile;
  change_in_diameter : OPTIONAL taper_select;
  bottom_condition : hole_bottom_condition_select;
WHERE
  WR1: SIZEOF(['MACHINING_FEATURES_ARM.COUNTERSUNK_HOLE', 'MACHINING_FEATURES_ARM.COUNTERBORE_HOLE'] * TYPEOF(SELF)) = 0;
END_ENTITY;

ENTITY Rounded_end
  SUBTYPE OF (Multi_axis_feature);
  partial_circular_boundary : Partial_circular_profile;
  course_of_travel : Linear_path_feature_component;
END_ENTITY;

ENTITY Rounded_u_profile
  SUBTYPE OF (Open_profile);
  width : Numerical_item_with_unit;
  depth : OPTIONAL Numerical_item_with_unit;
END_ENTITY;

ENTITY Second_chamfer_offset
  SUBTYPE OF (Second_chamfer_parameter);
  offset_amount : Numerical_item_with_unit;
END_ENTITY;

ENTITY Second_chamfer_parameter
  SUPERTYPE OF (ONEOF (Chamfer_angle,
                       Second_chamfer_offset));
  second_face : Face_shape_element;
END_ENTITY;

ENTITY Shape_profile
  ABSTRACT SUPERTYPE OF (ONEOF (Circular_closed_shape_profile,
                                General_shape_profile,
                                Partial_circular_shape_profile,
                                Rectangular_closed_shape_profile,
                                Rectangular_open_shape_profile))
  SUBTYPE OF (Profile_feature);
  floor_condition : profile_select;
  removal_direction : Direction_element;
END_ENTITY;

ENTITY Slot
  ABSTRACT SUPERTYPE OF (ONEOF (Closed_slot,
                                Open_slot))
  SUBTYPE OF (Multi_axis_feature);
END_ENTITY;

ENTITY Slot_end_type
  ABSTRACT SUPERTYPE OF (ONEOF (Flat_slot_end_type,
                                Open_slot_end_type,
                                Radiused_slot_end_type,
                                Woodruff_slot_end_type));
  first_or_second : BOOLEAN;
END_ENTITY;

ENTITY Spherical_cap
  SUBTYPE OF (Machining_feature);
  internal_angle : Numerical_item_with_unit;
  radius : Numerical_item_with_unit;
END_ENTITY;

ENTITY Spherical_hole_bottom
  SUBTYPE OF (Blind_bottom_condition);
  radius : Numerical_item_with_unit;
END_ENTITY;

ENTITY Spur_gear
  SUBTYPE OF (Defined_gear);
END_ENTITY;

ENTITY Square_u_profile
  SUBTYPE OF (Open_profile);
  first_angle : Numerical_item_with_unit;
  second_angle : Numerical_item_with_unit;
  first_radius : OPTIONAL Numerical_item_with_unit;
  second_radius : OPTIONAL Numerical_item_with_unit;
  depth : Numerical_item_with_unit;
  width : OPTIONAL Numerical_item_with_unit;
END_ENTITY;

ENTITY Step
  SUBTYPE OF (Multi_axis_feature);
  removal_boundary : Vee_profile;
  course_of_travel : Linear_path_feature_component;
  volume_not_removed : SET[0:?] OF volume_select;
END_ENTITY;

ENTITY Straight_bevel_gear
  SUBTYPE OF (Bevel_gear);
END_ENTITY;

ENTITY Straight_knurl
  SUBTYPE OF (Turned_knurl);
END_ENTITY;

ENTITY Tee_profile
  SUBTYPE OF (Open_profile);
  first_angle : Numerical_item_with_unit;
  second_angle : Numerical_item_with_unit;
  first_offset : Numerical_item_with_unit;
  second_offset : Numerical_item_with_unit;
  depth : Numerical_item_with_unit;
  radius : OPTIONAL Numerical_item_with_unit;
  width : Numerical_item_with_unit;
  cross_bar_width : Numerical_item_with_unit;
  cross_bar_depth : Numerical_item_with_unit;
END_ENTITY;

ENTITY Thread
  ABSTRACT SUPERTYPE OF (ONEOF (Catalogue_thread,
                                Defined_thread))
  SUBTYPE OF (Machining_feature);
  partial_profile : Partial_area_definition;
  runout : OPTIONAL Thread_runout;
  fit_class : text;
  form : text;
  number_of_threads : OPTIONAL Numerical_item_with_unit;
  hand : thread_hand;
  side : thread_side;
  qualifier : text;
  nominal_size : OPTIONAL Numerical_item_with_unit;
  applied_shape : Shape_element;
  fit_class_2 : OPTIONAL text;
WHERE
  WR1: applied_shape.product_definitional = TRUE;
END_ENTITY;

ENTITY Thread_runout;
  length_of_runout : Numerical_item_with_unit;
  pitch_or_dimension : BOOLEAN;
  included_or_extra : BOOLEAN;
END_ENTITY;

ENTITY Through_bottom_condition;
END_ENTITY;

ENTITY Through_pocket_bottom_condition;
END_ENTITY;

ENTITY Through_profile_floor;
END_ENTITY;

ENTITY Transition_feature
  SUPERTYPE OF (ONEOF (Chamfer,
                       Edge_round,
                       Fillet))
  SUBTYPE OF (Manufacturing_feature);
END_ENTITY;

ENTITY Turned_knurl
  ABSTRACT SUPERTYPE OF (ONEOF (Diagonal_knurl,
                                Diamond_knurl,
                                Straight_knurl))
  SUBTYPE OF (Knurl);
  nominal_diameter : Numerical_item_with_unit;
  diametrical_pitch : Numerical_item_with_unit;
  root_fillet : OPTIONAL Numerical_item_with_unit;
  number_of_teeth : OPTIONAL Numerical_item_with_unit;
  tooth_depth : OPTIONAL Numerical_item_with_unit;
  major_diameter : Numerical_item_with_unit;
END_ENTITY;

ENTITY Vee_profile
  SUBTYPE OF (Open_profile);
  profile_radius : OPTIONAL Numerical_item_with_unit;
  profile_angle : Numerical_item_with_unit;
  tilt_angle : Numerical_item_with_unit;
  first_length : OPTIONAL Numerical_item_with_unit;
  second_length : OPTIONAL Numerical_item_with_unit;
END_ENTITY;

ENTITY Woodruff_slot_end_type
  SUBTYPE OF (Slot_end_type);
  radius : Numerical_item_with_unit;
END_ENTITY;

SUBTYPE_CONSTRAINT mf_shape_element_subtypes FOR Shape_element;
  ONEOF (Path_element,
         Planar_element,
         Direction_element,
         Location_element,
         Face_shape_element);
END_SUBTYPE_CONSTRAINT;

END_SCHEMA;  -- Machining_features_arm


© ISO 2019 — All rights reserved