ISO 10303-238:2022(E)

4 Information requirements

4.1 General

This clause specifies the information required for model based integrated manufacturing, including information requirements defined by the ISO 14649 data model for computerized numerical controllers.

The information requirements are specified as a set of units of functionality, application objects, and application assertions. These assertions pertain to individual application objects and to relationships between application objects. The information requirements are defined using the terminology of the subject area of this application protocol.

NOTE 1 A graphical representation of the information requirements is given in Annex G.

NOTE 2 The information requirements correspond to those of the activities identified as being within the scope of this application protocol in Annex F.

NOTE 3 The mapping specification given in clause 5.1 defines how the integrated resources and application interpreted constructs are used to meet the information requirements of this application protocol.

4.2 Units of functionality

4.2.1 General

This subclause specifies the units of functionality for the model based integrated manufacturing application protocol. This document specifies the following units of functionality:

The units of functionality and a description of the functions that each UoF supports are given below. The application objects included in the UoFs are defined in 4.3, ISO 14649, or ISO 10303 application modules as indicated below.

4.2.2 Measure

The measure UoF specifies the representation of physical quantities by its value and its unit, along with the representation of allowable variation in that quantity.

NOTE 1 The previous edition of this document referenced application object definitions from ISO 14649-10, extended the definitions in several places, and defined mappings into the integrated definitions. These have been replaced by a reference to equivalent application object definitions and mappings defined by the documents listed below.

The names of some application objects are changed from the previous edition. The former Area_measure application object is now Area_data_element; Length_measure is now Length_data_element; Mass_measure is now Mass_data_element; Plane_angle_measure is now Angle_data_element; Pressure_measure is now Pressure_data_element; Rot_speed_measure is now Frequency_data_element; Speed_measure is now Velocity_data_element; Time_measure is now Duration; Volume_measure is now Volume_data_element.

The Value_with_tolerance and Toleranced_length_measure defined by the previous edition have been replaced by one of three different application objects depending on their use. Value_with_unit when no tolerance limits are applied, Value_with_tolerances for values with a plus/minus limit, and Qualified_numerical_item_with_unit for other limits. Limit_qualifier, Limits_and_fits, and Plus_minus_value are now the value_qualifier of Qualified_numerical_item_with_unit, or Dimension_value_with_limitation when used with dimensions.

NOTE 2 As defined in ISO 14649-10, these measurements do not explicitly specify a unit. Instead, a default unit is defined for each quantity (mm for length, degrees for angles, etc). In addition, only length parameters could be qualified with a tolerance. The definitions used by this document allow units to be explicitly specified, allow tolerance qualification for any of the measure types, and adds a maximum/minimum Limit_qualifier to the types of qualifications available.

The following application objects are used by the measure UoF, and shall be as defined by ISO 10303-1054.

The following application objects are used by the measure UoF, and shall be as defined by ISO 10303-1106.

The following application objects are used by the measure UoF, and shall be as defined by ISO 10303-1753.

The following application object is used by the measure UoF, and shall be as defined by ISO 10303-1782.

4.2.3 Project

The project UoF specifies where to begin interpretation of a machining program, as well as additional management information about the machining program.

The following application object is used by the project UoF, and shall be as defined by ISO 14649-10:

NOTE 1 The name Manufacturing_project is used to avoid a conflict with the Project definition in ISO 10303-1061.

The following application object is used by the project UoF, and shall be as defined by ISO 10303-1011.

NOTE 2 The previous edition of this document referenced the Person_and_address application object definition from ISO 14649-10. This has been replaced by a reference to the equivalent Person_in_organization application object definition.

4.2.4 Workpiece

The workpiece UoF specifies the mechanical product that is to be produced by a machining program. This description can include material, surface condition, features, and the AS-IS and TO-BE shape of the product.

The following application object is used by the workpiece UoF, and shall be as defined by ISO 14649-10. This document extends the following application object with additional information requirements beyond those specified by ISO 14649-10.

NOTE 1The previous edition of this document referenced the application object definition for Manufacturing_feature from ISO 14649-10 and defined a mapping into the integrated definitions. This has been moved to the manufacturing features UoF and replaced by a reference to the definition to the Manufacturing_feature object defined by ISO 10303-1814.

The following application objects are used by the workpiece UoF, and shall be as defined by ISO 10303-1006.

NOTE 2The previous edition of this document included definitions and mappings for the Property_parameter and Descriptive_parameter application objects. These have been replaced by a reference to the Representation_item and String_representation_item objects. The integrated representation of this information is unchanged from previous edition of this document.

The following application object is used by the workpiece UoF, and shall be as defined by ISO 10303-1026.

NOTE 3The previous edition of this document included definitions and mappings for the Workpiece_assembly_component application object. This has been replaced by a reference to the Next_assembly_usage application object. The integrated representation of this information is unchanged from previous edition of this document.

The following application object is used by the workpiece UoF, and shall be as defined by ISO 10303-1030.

NOTE 4The previous edition of this document included definitions and mappings for the General_property, Part_property, and Process_property application objects, which extended a Workpiece with additional information. These have been replaced by a reference to the Assigned_property application object. The integrated representation of this information is unchanged from previous edition of this document. The Process_property name has been reused for an application object that extends an Executable with additional information.

The following application objects are used by the workpiece UoF, and shall be as defined by ISO 10303-1110.

NOTE 5The previous edition of this document included definitions and mappings for the Hardness and Surface_property application objects. These have been replaced by references to the Hardness and Surface_condition objects defined in ISO 10303-1110. The integrated representation of Surface_condition is unchanged from previous edition of this document. The integrated representation of Hardness has changed from material_property_representation to hardness_representation for harmonization with ISO 10303-242.

The following application object is used by the workpiece UoF, and shall be as defined by ISO 10303-1118.

NOTE 6The previous edition of this document included definitions and mappings for the Numeric_parameter application object. This has been replaced by a reference to the Numerical_item_with_unit object. The integrated representation of this information is unchanged from previous edition of this document.

The following application objects are used by the workpiece UoF, and shall be as defined by ISO 10303-1681.

NOTE 7The previous edition of this document included definitions and mappings for the Material and Material_property application objects. These have been replaced by references to the Material_identification and Material_property objects defined in ISO 10303-1110. The integrated representation of this information is unchanged from previous edition of this document.

4.2.5 Manufacturing feature

The manufacturing feature UoF specifies the information necessary to identify shapes of interest on a mechanical product. These shapes represent volumes of material that are removed by machining operations or which result from a series of machining operations. This UoF also specifies the information necessary to describe a feature using a 2D profile swept along a path, as well as information describing the top, bottom, and other boundaries of a feature.

The following application objects are used by the manufacturing feature UoF, and shall be as defined by ISO 10303-1814.

NOTEThe previous edition of this document referenced application object definitions for the following from ISO 14649-10 and ISO 14649-12, extended the definitions in several places, and defined mappings into the integrated definitions. These have been replaced by a reference to equivalent application object definitions defined by ISO 10303-1814. The mappings for these objects have also been removed from this document and are now found in ISO 10303-1814.

The following application objects are used by the manufacturing feature UoF, and shall be as defined by ISO 10303-1846.

4.2.6 Executable

The executable UoF specifies the information necessary to describe control flow of a machining program as well as the non-machining actions that can be performed by a numerical control. This includes sequential, parallel, and conditional control flow, as well as the logical expressions and variable elements necessary to describe the conditions for conditional control flow. This UoF also specifies the information necessary to describe how a mechanical product, products, or multiple copies thereof are positioned and orientated relative to any machine tool on which a machining program is to be executed.

The following application objects are used by the executable UoF, and shall be as defined by ISO 14649-10.

This document extends the following application objects with additional information requirements beyond those specified by ISO 14649-10.

In addition, the following application objects are used by the executable UoF, and shall be as defined by this document:

The following application objects are used by the executable UoF, and shall be as defined by ISO 10303-1526.

NOTEThe previous edition of this document included definitions and mappings for the expression application objects listed below. These have been replaced by references to the definitions with the same names in ISO 10303-1526. The integrated representation of this information is unchanged from previous edition of this document.

4.2.7 Operation

The operation UoF specifies the information necessary to describe the technology-independent aspects of machining actions that can be performed by a numerical control.

NOTE This UoF only describes the basic aspects common to all machining actions. The technology-specific aspects of machining actions such as milling, drilling, turning, and knurling are described by the process data for milling UoF and process data for turning UoF.

The following application objects are used by the operation UoF, and shall be as defined by ISO 14649-10.

This document extends the following application objects with additional information requirements beyond those specified by ISO 14649-10.

In addition, the following application object is used by the operation UoF, and shall be as defined by this document:

4.2.8 Toolpath

The toolpath UoF specifies the information necessary to describe the motion of a cutting tool as either a precalculated movement trajectory or as a set of motion parameters that can be converted to an exact movement by a numerical control. This includes the information necessary to describe movement trajectories relative to the tip of the cutting tool, the contact point of the cutting tool, or an axis of a machine, as well as to describe the path and rate of movement using splines and other curves.

The following application objects are used by the toolpath UoF, and shall be as defined by ISO 14649-10.

This document extends the following application objects with additional information requirements beyond those specified by ISO 14649-10.

4.2.9 Process data for milling

The process data for milling UoF specifies the information necessary to describe the milling and drilling-specific aspects of machining actions that can be performed by a numerical control. This includes the information necessary to describe strategies and process parameters for milling and drilling.

The following application objects are used by the process data for milling UoF, and shall be as defined by ISO 14649-11.

This document extends the following application object with additional information requirements beyond those specified by ISO 14649-11.

In addition, the following application objects are used by the process data for milling UoF, and shall be as defined by this document:

4.2.10 Cutting tools for milling

The cutting tools for milling UoF specifies the information necessary to describe the milling and drilling-specific tool requirements for machining actions.

The following application objects are used by the cutting tools for milling UoF, and shall be as defined by ISO 14649-111.

In addition, the following application object is used by the cutting tools for milling UoF, and shall be as defined by this document:

4.2.11 Process data for turning

The process data for turning UoF specifies the information necessary to describe the turning-specific aspects of machining actions that can be performed by a numerical control. This includes the information necessary to describe strategies and process parameters for turning.

The following application objects are used by the process data for turning UoF, and shall be as defined by ISO 14649-12.

This document extends the following application object with additional information requirements beyond those specified by ISO 14649-12.

4.2.12 Cutting tools for turning

The cutting tools for turning UoF specifies the information necessary to describe the turning-specific tool requirements for machining actions.

The following application objects are used by the cutting tools for turning UoF, and shall be as defined by ISO 14649-121.

4.2.13 Process data for additive manufacturing

The process data for additive manufacturing UoF specifies the information necessary to describe the additive manufacturing-specific aspects of machining actions that can be performed by a numerical control. This includes the information necessary to describe strategies and process parameters for additive manufacturing.

The following application objects are used by the process data for additive manufacturing UoF, and shall be as defined by ISO 14649-17.

This document extends the following application objects with additional information requirements beyond those specified by ISO 14649-17.

4.2.14 Geometric dimensioning and tolerancing

The geometric dimensioning and tolerancing UoF specifies the information necessary to describe geometric dimensions, as well as the allowable variation in those dimensions for the purposes of manufacturing. In addition, this UoF specifies the information necessary to describe geometric tolerances with a datum reference, such as parallelism or perpendicularity, and geometric tolerances without a datum reference, such as straightness or flatness. This includes the information necessary to describe single datum references, common datum references, datum targets, and tolerance zones.

NOTEThe previous edition of this document included definitions and mappings for geometric dimension and tolerance application objects. These have been replaced by a reference to the geometric dimension and tolerance objects defined by ISO 10303-1050, ISO 10303-1051, and ISO 10303-1052. The integrated representation of this information is unchanged from previous edition of this document.

The following application objects are used by the geometric dimensioning and tolerancing UoF, and shall be as defined by ISO 10303-1050.

The following application objects are used by the geometric dimensioning and tolerancing UoF, and shall be as defined by ISO 10303-1051.

The following application objects are used by the geometric dimensioning and tolerancing UoF, and shall be as defined by ISO 10303-1052.

4.2.15 Library reference

The library reference UoF provides the capability and mechanisms by which references can be made to information in external libraries.

The following application object is used by the library reference UoF, and shall be as defined by ISO 10303-1129.

NOTE 1The previous edition of this document included definitions and mappings for the Property_BSU application object. This has been replaced by a reference to the Plib_property_reference object.

The following application object is used by the library reference UoF, and shall be as defined by ISO 10303-1291.

NOTE 2The previous edition of this document included definitions and mappings for the Class_BSU and Supplier_BSU application objects. These have been replaced by a reference to the Plib_class_reference object.

The following application object is used by the library reference UoF, and shall be as defined by ISO 10303-1331.

NOTE 3The previous edition of this document included definitions and mappings for the Library_part_assignment application object. This has been replaced by a reference to the definition for the External_source object.

The following application objects are used by the library reference UoF, and shall be as defined by ISO 10303-1779.

NOTE 4The previous edition of this document included definitions and mappings for the Externally_defined_representation and Library_property_value application objects. These have been replaced by a reference to the definition for the Externally_defined_representation and External_representation_item objects.

4.2.16 Management

The management UoF specifies the information necessary to describe the management aspects of a mechanical product or machining program. This includes the information necessary to describe the approval process, security classifications, persons and dates.

The following application object is used by the management UoF, and shall be as defined by this document.

The following application objects are used by the management UoF, and shall be as defined by ISO 10303-1012.

NOTE 1The previous edition of this document included application object definitions and mappings for the following four approval application objects. These have been replaced by a reference to the objects with the same names defined by ISO 10303-1012. The integrated representation of this information is unchanged from previous edition of this document.

The following application object is used by the management UoF, and shall be as defined by ISO 10303-1013.

NOTE 2The previous edition of this document included application object definitions and mappings for Assigned_organization and Assigned_person. These have been replaced by a reference to the Organization_or_person_in_organization_assignment object defined by ISO 10303-1013. The integrated representation of this information is unchanged from previous edition of this document.

The following application object is used by the management UoF, and shall be as defined by ISO 10303-1014.

NOTE 3The previous edition of this document included application object definitions and mappings for Assigned_date and Assigned_time. These have been replaced by a reference to the Date_or_date_time_assignment application defined by ISO 10303-1014. The integrated representation of this information is unchanged from previous edition of this document.

The following application objects are used by the management UoF, and shall be as defined by ISO 10303-1015.

NOTE 4The previous edition of this document included application object definitions and mappings for the following two security classification application objects. These have been replaced by a reference to the objects with the same names defined by ISO 10303-1015. The integrated representation of this information is unchanged from previous edition of this document.

4.3 Application objects

4.3.1 General

This subclause specifies the application objects for the model based integrated manufacturing application protocol. Each application object is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the object. The application objects and their definitions are given below.

NOTE For application objects defined by ISO 14649, a normative reference to the originating document is provided, as well as an informative note containing the ISO 14649 EXPRESS description. Full definitions are provided for all objects not defined in the ISO 14649 documents as well as extensions to the application objects defined in the ISO 14649 documents.

Map ARM

4.3.2 Adaptive_control

The Adaptive_control application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Adaptive_control is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Adaptive_control; 
END_ENTITY;
Map ARM

4.3.3 Air_strategy

The Air_strategy application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Air_strategy is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Air_strategy
  ABSTRACT SUPERTYPE OF (ONEOF (Ap_retract_angle, Ap_retract_tangent))
  SUBTYPE OF (Approach_retract_strategy);
END_ENTITY;
Map ARM

4.3.4 Along_path

The Along_path application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Along_path is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Along_path
  SUBTYPE OF (Approach_retract_strategy);
  path: Toolpath_list;
END_ENTITY;
Map ARM

4.3.5 Am_compound_feature

The Am_compound_feature application object shall be as defined by ISO 14649-17.

NOTE The ISO 14649 EXPRESS description for Am_compound_feature is shown below. Refer to ISO 14649-17 for the complete definition and explanation of usage.

ENTITY Am_compound_feature 
  SUBTYPE OF (Am_feature);
  its_am_features:	SET [2:?] OF Am_feature;
END_ENTITY;
Map ARM

4.3.6 Am_construction

The Am_construction application object shall be as defined by ISO 14649-17.

NOTE The ISO 14649 EXPRESS description for Am_construction is shown below. Refer to ISO 14649-17 for the complete definition and explanation of usage.

ENTITY Am_construction
  ABSTRACT SUPERTYPE OF (ONEOF(Am_infill, Am_solid));
END_ENTITY;
Map ARM

4.3.7 Am_feature

The Am_feature application object shall be as defined by ISO 14649-17. This document adds the following information requirements.

The data associated with a Am_feature are the following:

NOTE This document modifies the definition of Am_feature in ISO 14649-17 to add an its_material attribute. The EXPRESS description for Am_feature, as adapted by this document, is shown below.

ENTITY Am_feature 
  ABSTRACT SUPERTYPE OF (ONEOF (Am_compound_feature,
    Am_simple_feature, Am_gradient_feature, Am_heterogenuous_feature))
  SUBTYPE OF (Manufacturing_feature);
  primary_colour:	OPTIONAL Colour;

INVERSE
  -- 10303-238: material is used with gradient_feature.  As with
  -- other places in the ARM, change to inverse to accommodate the
  -- definition of Material_identification.

  its_material: SET[0:1] OF Material_identification FOR items;
END_ENTITY;

4.3.7.1 its_material

The its_material parameter defined by ISO 14649-17 as an inherited value shall be represented by the set of Material_identification application objects with an items parameter that contains the Am_feature.

Map ARM

4.3.8 Am_gradient_feature

The Am_gradient_feature application object shall be as defined by ISO 14649-17. This document adds the following information requirements.

The data associated with a Am_feature are the following:

ENTITY Am_gradient_feature 
  SUBTYPE OF (Am_feature);

  -- 10303-238: change to relate two features.  The attributes of the
  -- secondary feature give the original secondary_* attributes.  The
  -- primary_shape_representation of each feature provides the
  -- surfaces.
     
  -- primary_surface:	elementary_surface;
  -- secondary_surface: elementary_surface;
  -- secondary_colour: 	OPTIONAL Colour;
  -- secondary_material: OPTIONAL material;
  secondary_feature:	 Am_feature;

  its_construction: 	OPTIONAL Am_construction;
END_ENTITY;

4.3.8.1 primary_surface

The primary_surface parameter defined by ISO 14649-17 shall be represented by the inherited primary_shape_representation attribute.

4.3.8.2 secondary_surface

The secondary_surface parameter defined by ISO 14649-17 shall be represented by the inherited primary_shape_representation attribute of the secondary_feature.

4.3.8.3 secondary_colour

The secondary_colour parameter defined by ISO 14649-17 shall be represented by the inherited primary_colour attribute of the secondary_feature.

4.3.8.4 secondary_material

The secondary_material parameter defined by ISO 14649-17 shall be represented by the inherited its_material attribute of the secondary_feature.

4.3.8.5 secondary_feature

The secondary_feature specifies an Am_feature which describes the end of the gradient. See Am_gradient_feature to Am_feature for the application assertion.

Map ARM

4.3.9 Am_heterogenuous_atom

The Am_heterogenuous_atom application object shall be as defined by ISO 14649-17. This document adds the following information requirements.

The data associated with a Am_heterogenuous_atom are the following:

NOTE The ISO 14649 EXPRESS description for Am_heterogenuous_atom, as adapted by this document, is shown below. Refer to ISO 14649-17 for the complete definition and explanation of usage.

ENTITY Am_heterogenuous_atom; 
  local_coord_axes:	Axis_placement_3d;
  -- its_material: 	material;
  its_colour: 		Colour;
  its_construction: 	OPTIONAL Am_construction;
  governing_function: 	Function_application;

INVERSE
  -- 10303-238: As with other places in the ARM, change to inverse to
  -- accommodate the definition of Material_identification.
  its_material: SET[0:1] OF Material_identification FOR items;
END_ENTITY;

4.3.9.1 its_material

The its_material parameter defined by ISO 14649-17 shall be represented by the set of Material_identification application objects with an items parameter that contains the Am_heterogenuous_atom.

Map ARM

4.3.10 Am_heterogenuous_feature

The Am_heterogenuous_feature application object shall be as defined by ISO 14649-17.

NOTE The ISO 14649 EXPRESS description for Am_heterogenuous_feature is shown below. Refer to ISO 14649-17 for the complete definition and explanation of usage.

ENTITY Am_heterogenuous_feature 
  SUBTYPE OF (Am_feature);
  items:	SET [1:?] OF Am_heterogenuous_atom;
END_ENTITY;
Map ARM

4.3.11 Am_infill

The Am_infill application object shall be as defined by ISO 14649-17.

NOTE The ISO 14649 EXPRESS description for Am_infill is shown below. Refer to ISO 14649-17 for the complete definition and explanation of usage.

ENTITY Am_infill
  SUBTYPE OF (Am_construction);
  infill_percentage:	OPTIONAL REAL;
  its_direction:	OPTIONAL direction;
  its_pattern:		OPTIONAL Am_patterns;
END_ENTITY;

TYPE Am_patterns = STRING;
END_TYPE;
Map ARM

4.3.12 Am_machine_functions

The Am_machine_functions application object shall be as defined by ISO 14649-17. This document adds the following information requirements.

The data associated with a Am_machine_functions are the following:

NOTE The ISO 14649 EXPRESS description for Am_machine_functions, as adapted by this document, is shown below. Refer to ISO 14649-17 for the complete definition and explanation of usage.

ENTITY Am_machine_functions
  SUBTYPE OF (Machine_functions);
  -- 10303-238: functions moved to supertype as other_functions for
  --   consistent handling across technologies
  -- functions: OPTIONAL SET [1:?] OF Representation_item;
END_ENTITY;

4.3.12.1 functions

The functions parameter defined by ISO 14649-17 shall be replaced by the other_functions parameter defined by the Machine_functions application object.

Map ARM

4.3.13 Am_oned_operation

The Am_oned_operation application object shall be as defined by ISO 14649-17.

NOTE The ISO 14649 EXPRESS description for Am_oned_operation is shown below. Refer to ISO 14649-17 for the complete definition and explanation of usage.

ENTITY Am_oned_operation
  SUBTYPE OF (Am_operation);
  approach:	Approach_retract_strategy;
  retract: 	Approach_retract_strategy;
END_ENTITY;
Map ARM

4.3.14 Am_operation

The Am_operation application object shall be as defined by ISO 14649-17. This document adds the following information requirements.

The data associated with a Am_operation are the following:

NOTE The ISO 14649 EXPRESS description for Am_operation, as adapted by this document, is shown below. Refer to ISO 14649-17 for the complete definition and explanation of usage.

ENTITY Am_operation
  ABSTRACT SUPERTYPE OF (ONEOF (Am_twod_operation, Am_oned_operation))
  SUBTYPE OF (Operation);
  machine_functions:	am_machine_functions;
  -- 10303-238: moved to am_workingstep to match other shape handling.
  -- its_support_geometry: OPTIONAL advanced_brep_shape_representation;
END_ENTITY;

4.3.14.1 its_support_geometry

The its_support_geometry parameter defined by ISO 14649-17 shall be replaced by the its_support_geometry parameters defined by the Am_workingstep application object.

Map ARM

4.3.15 Am_simple_feature

The Am_simple_feature application object shall be as defined by ISO 14649-17.

NOTE The ISO 14649 EXPRESS description for Am_simple_feature is shown below. Refer to ISO 14649-17 for the complete definition and explanation of usage.

ENTITY Am_simple_feature 
  SUBTYPE OF (Am_feature);
  skin_thickness:	OPTIONAL Length_data_element;
  skin_construction: 	OPTIONAL Am_construction;
  core_construction: 	OPTIONAL Am_construction;
END_ENTITY;
Map ARM

4.3.16 Am_solid

The Am_solid application object shall be as defined by ISO 14649-17.

NOTE The ISO 14649 EXPRESS description for Am_solid is shown below. Refer to ISO 14649-17 for the complete definition and explanation of usage.

ENTITY Am_solid
  SUBTYPE OF (Am_construction);
END_ENTITY;
Map ARM

4.3.17 Am_twod_operation

The Am_twod_operation application object shall be as defined by ISO 14649-17.

NOTE The ISO 14649 EXPRESS description for Am_twod_operation is shown below. Refer to ISO 14649-17 for the complete definition and explanation of usage.

ENTITY Am_twod_operation
  SUBTYPE OF (Am_operation);
  layer_thickness:	OPTIONAL Length_data_element;
  base_layer: 		OPTIONAL elementary_surface;
  normal_direction: 	OPTIONAL direction;
END_ENTITY;
Map ARM

4.3.18 Am_workingstep

The Am_workingstep application object shall be as defined by ISO 14649-17. This document adds the following information requirements.

The data associated with a Am_workingstep are the following:

NOTE The ISO 14649 EXPRESS description for Am_workingstep, as adapted by this document, is shown below. Refer to ISO 14649-17 for the complete definition and explanation of usage.

ENTITY Am_workingstep
  SUBTYPE OF (Workingstep);
  -- 10303-238: as_is, to_be, and removal now inherited from Executable
  -- its_effect:       OPTIONAL in_process_geometry;

  -- 10303-238: its_operation now inherited from Workingstep
  -- its_operation: 	Am_operation;

  -- 10303-238: relax to general manufacturing feature for integration
  its_feature: 		Manufacturing_feature;

  -- 10303-238: same as the to_be attribute inherited from Executable
  -- its_resulting_part:         Am_workpiece

  -- 10303-238: moved from Am_operation and changed from raw geometry
  -- into a product to match handling of as_is/to_be/removal
  -- description.  
  its_support_geometry:   OPTIONAL Product_view_definition;

WHERE
  WR1: 'AP238_ARM_SCHEMA.AM_OPERATION' IN
	TYPEOF(SELF\Workingstep.its_operation);
END_ENTITY;

4.3.18.1 its_effect

The its_effect parameter defined by ISO 14649-17 shall be replaced by the set of as-is, to-be, and removal parameters inherited from the Executable application object.

4.3.18.2 its_feature

The its_feature set shall be as defined by ISO 14649-17 to be of type Am_feature, but this document relaxes this requirement to allow any type of Manufacturing_feature.

4.3.18.3 its_operation

The its_operation parameter defined by ISO 14649-17 shall be replaced by the its_operation parameter inherited from the Workingstep application object.

4.3.18.4 its_resulting_part

The its_resulting_part defined by ISO 14649-17 shall be replaced by the to-be parameter inherited from the Executable application object.

4.3.18.5 its_support_geometry

The its_support_geometry specifies a Product_view_definition which describes the shape and other properties of the support structure required by the workingstep. The its_support_geometry may not be specified for a particular Executable. See Am_workingstep to Product_view_definition for the application assertion.

NOTE The support geometry is relocated from Am_operation by this document and changed to a Product_view_definition. This change follows the usage established with as_is, to_be, and removal Product_view_definitions and permits use of any supported shape description, not just advanced brep shapes.

Map ARM

4.3.19 Am_workpiece

The Am_workpiece application object shall be as defined by ISO 14649-17.

NOTE The ISO 14649 EXPRESS description for Am_workpiece is shown below. Refer to ISO 14649-17 for the complete definition and explanation of usage.

ENTITY Am_workpiece 
  SUBTYPE OF (Workpiece);
END_ENTITY;
Map ARM

4.3.20 Ap_lift_path_angle

The Ap_lift_path_angle application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Ap_lift_path_angle is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Ap_lift_path_angle 
  SUBTYPE OF (Approach_lift_path);
  angle:                      Angle_data_element;
  benddist:                   Length_data_element;
END_ENTITY;
Map ARM

4.3.21 Ap_lift_path_tangent

The Ap_lift_path_tangent application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Ap_lift_path_tangent is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Ap_lift_path_tangent 
  SUBTYPE OF (Approach_lift_path);
  radius:                     Length_data_element;
END_ENTITY;
Map ARM

4.3.22 Ap_retract_angle

The Ap_retract_angle application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Ap_retract_angle is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Ap_retract_angle 
  SUBTYPE OF (Air_strategy);
  angle:         Angle_data_element;
  travel_length: Length_data_element;
END_ENTITY;
Map ARM

4.3.23 Ap_retract_tangent

The Ap_retract_tangent application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Ap_retract_tangent is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Ap_retract_tangent
  SUBTYPE OF (Air_strategy);
  radius: Length_data_element;
END_ENTITY;
Map ARM

4.3.24 Approach_lift_path

The Approach_lift_path application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Approach_lift_path is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Approach_lift_path 
  ABSTRACT SUPERTYPE OF (ONEOF (Ap_lift_path_angle, Ap_lift_path_tangent))
  SUBTYPE OF (Parameterised_path);
  fix_point:                  cartesian_point; 
  fix_point_dir:              OPTIONAL direction; 
END_ENTITY;
Map ARM

4.3.25 Approach_retract_strategy

The Approach_retract_strategy application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Approach_retract_strategy is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Approach_retract_strategy
  ABSTRACT SUPERTYPE OF (ONEOF (Plunge_strategy, Air_strategy, Along_path));
  tool_orientation: OPTIONAL direction;
END_ENTITY;
Map ARM

4.3.26 Assignment

The Assignment application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Assignment is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Assignment
  SUBTYPE OF (Program_structure);
  its_lvalue:                 Nc_variable;
  its_rvalue:                 Rvalue;
END_ENTITY;

TYPE Rvalue = SELECT(Nc_constant, Nc_variable);
END_TYPE;
Map ARM

4.3.27 Axis_trajectory

The Axis_trajectory application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with an Axis_trajectory are the following:

NOTE The ISO 14649 EXPRESS description for Axis_trajectory is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Axis_trajectory	(* m0 *)
  SUBTYPE OF (Trajectory);
  axis_list:                  LIST [1:?] OF identifier;
  commands:                   LIST [1:?] OF bounded_curve;
WHERE
  WR1: SIZEOF(QUERY(cmd <* commands | 
    cmd\geometric_representation_item.dim <> 1)) = 0;
END_ENTITY;

4.3.27.1 commands

The commands parameter is as defined by ISO 14649-10, but this document adds the requirement that the parameterisation of each bounded_curve shall be the same. See Matching curve parameterization for additional discussion on curve parameterization.

Map ARM

4.3.28 Back_boring

The Back_boring application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Back_boring is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Back_boring      
  SUBTYPE OF (Drilling_type_operation);
WHERE
  WR1:  EXISTS(SELF.its_machine_functions.oriented_spindle_stop);
END_ENTITY;
Map ARM

4.3.29 Ballnose_endmill

The Ballnose_endmill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Ballnose_endmill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Ballnose_endmill
  SUBTYPE OF (Endmill);
  WHERE
  WR1: NOT EXISTS(SELF.edge_radius)
       OR (EXISTS(SELF.edge_radius) AND
           EXISTS(SELF.effective_cutting_diameter) AND
          (SELF.edge_radius = SELF.effective_cutting_diameter/2));
END_ENTITY;
Map ARM

4.3.30 Bidirectional

The Bidirectional application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Bidirectional is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Bidirectional    
  SUBTYPE OF (Two5d_milling_strategy);
  feed_direction:        OPTIONAL direction;
  stepover_direction:    OPTIONAL Left_or_right;
  its_stroke_connection_strategy: OPTIONAL Stroke_connection_strategy;
END_ENTITY;

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

TYPE Stroke_connection_strategy = ENUMERATION OF 
   (straghtline, lift_shift_plunge, degouge, loop_back);
END_TYPE;
Map ARM

4.3.31 Bidirectional_contour

The Bidirectional_contour application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Bidirectional_contour is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Bidirectional_contour    
  SUBTYPE OF (Two5d_milling_strategy);
  feed_direction: 	OPTIONAL direction;
  stepover_direction: 	OPTIONAL Left_or_right;
  rotation_direction: 	OPTIONAL Rot_direction;
  spiral_cutmode: 	OPTIONAL Cutmode_type;
END_ENTITY;

TYPE Rot_direction = ENUMERATION OF (cw,ccw);
END_TYPE;
Map ARM

4.3.32 Bidirectional_turning

The Bidirectional_turning application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Bidirectional_turning is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Bidirectional_turning
  SUBTYPE OF (Turning_machining_strategy);
  feed_direction:	OPTIONAL direction;
  stepover_direction: 	OPTIONAL direction;
  stepover_feed: 	OPTIONAL Feed_select;
END_ENTITY;
Map ARM

4.3.33 Boring

The Boring application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Boring is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Boring   
  SUBTYPE OF (Boring_operation);
END_ENTITY;
Map ARM

4.3.34 Boring_operation

The Boring_operation application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Boring_operation is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Boring_operation 
  ABSTRACT SUPERTYPE OF (ONEOF(Boring, Reaming))
  SUBTYPE OF (Drilling_type_operation);
  spindle_stop_at_bottom:         BOOLEAN;
  depth_of_testcut:               OPTIONAL Length_data_element;
  waiting_position:               OPTIONAL cartesian_point;
END_ENTITY;
Map ARM

4.3.35 Bottom_and_side_finish_milling

The Bottom_and_side_finish_milling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Bottom_and_side_finish_milling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Bottom_and_side_finish_milling
  SUBTYPE OF (Bottom_and_side_milling);
END_ENTITY;
Map ARM

4.3.36 Bottom_and_side_milling

The Bottom_and_side_milling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Bottom_and_side_milling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Bottom_and_side_milling  
  ABSTRACT SUPERTYPE OF (ONEOF(Bottom_and_side_rough_milling,
      Bottom_and_side_finish_milling))
  SUBTYPE OF (Two5d_milling_operation);
  axial_cutting_depth:    OPTIONAL Length_data_element;
  radial_cutting_depth:   OPTIONAL Length_data_element;
  allowance_side:         OPTIONAL Length_data_element;
  allowance_bottom:       OPTIONAL Length_data_element;
END_ENTITY;
Map ARM

4.3.37 Bottom_and_side_rough_milling

The Bottom_and_side_rough_milling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Bottom_and_side_rough_milling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Bottom_and_side_rough_milling    
  SUBTYPE OF (Bottom_and_side_milling);
WHERE
  WR1: EXISTS(SELF.allowance_side) AND (SELF.allowance_side>=0.0);
  WR2: EXISTS(SELF.allowance_bottom) AND (SELF.allowance_bottom>=0.0);
END_ENTITY;
Map ARM

4.3.38 Bullnose_endmill

The Bullnose_endmill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Bullnose_endmill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Bullnose_endmill
  SUBTYPE OF (Endmill);
  WHERE
  WR1:  EXISTS(SELF.edge_radius) AND
        EXISTS(SELF.effective_cutting_diameter) AND
        (SELF.edge_radius < SELF.effective_cutting_diameter/2);
END_ENTITY;
Map ARM

4.3.39 Center_drilling

The Center_drilling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Center_drilling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Center_drilling  
  SUBTYPE OF (Drilling_operation);
END_ENTITY;
Map ARM

4.3.40 Center_milling

The Center_milling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Center_milling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Center_milling   
  SUBTYPE OF (Two5d_milling_strategy);
END_ENTITY;
Map ARM

4.3.41 Chamfered_corner

The Chamfered_corner application object shall be as defined by ISO 14649-121.

NOTE The ISO 14649 EXPRESS description for Chamfered_corner is shown below. Refer to ISO 14649-121 for the complete definition and explanation of usage.

ENTITY Chamfered_corner;
  corner_chamfer_angle: 	Angle_data_element;
  corner_chamfer_length: 	OPTIONAL Length_data_element;
  corner_chamfer_width: 	OPTIONAL Length_data_element;
END_ENTITY;
Map ARM

4.3.42 Channel

The Channel application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Channel is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Channel; 
  its_id: identifier;
END_ENTITY;
Map ARM

4.3.43 Combined_drill_and_reamer

The Combined_drill_and_reamer application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Combined_drill_and_reamer is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Combined_drill_and_reamer
  SUBTYPE OF (Reaming_cutting_tool);
  drill_length: Length_data_element;
END_ENTITY;
Map ARM

4.3.44 Combined_drill_and_tap

The Combined_drill_and_tap application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Combined_drill_and_tap is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Combined_drill_and_tap
  SUBTYPE OF (Tapping_cutting_tool);
  drill_length: OPTIONAL Length_data_element;
END_ENTITY;
Map ARM

4.3.45 Connect_direct

The Connect_direct application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Connect_direct is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Connect_direct  
  SUBTYPE OF (Connector);
END_ENTITY;
Map ARM

4.3.46 Connect_secplane

The Connect_secplane application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Connect_secplane is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Connect_secplane 
  SUBTYPE OF (Connector);
  up_dir  : OPTIONAL direction;
  down_dir: OPTIONAL direction;
END_ENTITY;
Map ARM

4.3.47 Connector

The Connector application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Connector is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Connector 
  ABSTRACT SUPERTYPE OF (ONEOF(Connect_secplane, Connect_direct)) 
  SUBTYPE OF (Parameterised_path);
END_ENTITY;
Map ARM

4.3.48 Const_cutting_speed

The Const_cutting_speed application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Const_cutting_speed is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Const_cutting_speed;
  speed:	Velocity_data_element;
  max_speed: 	OPTIONAL Frequency_data_element;
END_ENTITY;
Map ARM

4.3.49 Const_spindle_speed

The Const_spindle_speed application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Const_spindle_speed is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Const_spindle_speed;
  rot_speed:	Frequency_data_element;
END_ENTITY;
Map ARM

4.3.50 Contour_bidirectional

The Contour_bidirectional application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Contour_bidirectional is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Contour_bidirectional    
  SUBTYPE OF (Two5d_milling_strategy);
  feed_direction:       OPTIONAL direction;
  stepover_direction:   OPTIONAL Left_or_right;
  rotation_direction:   OPTIONAL Rot_direction;
  spiral_cutmode:       OPTIONAL Cutmode_type;
END_ENTITY;
Map ARM

4.3.51 Contour_parallel

The Contour_parallel application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Contour_parallel is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Contour_parallel         
  SUBTYPE OF (Two5d_milling_strategy);
  rotation_direction:   OPTIONAL Rot_direction;
  cutmode:              OPTIONAL Cutmode_type;
END_ENTITY;
Map ARM

4.3.52 Contour_spiral

The Contour_spiral application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Contour_spiral is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Contour_spiral   
  SUBTYPE OF (Two5d_milling_strategy);
  rotation_direction:     OPTIONAL Rot_direction;
  cutmode:                OPTIONAL Cutmode_type;
END_ENTITY;
Map ARM

4.3.53 Contour_turning

The Contour_turning application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Contour_turning is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Contour_turning
  SUBTYPE OF (Turning_machining_strategy);
  feed_direction:	OPTIONAL direction;
  back_path_direction: 	OPTIONAL direction;
  lift_direction: 	OPTIONAL direction;
  stepover_direction: 	OPTIONAL direction;
  lift_height: 		OPTIONAL Length_data_element;
  lift_feed: 		OPTIONAL Feed_select;
  stepover_feed: 	OPTIONAL Feed_select;
  variable_stepover_feed: OPTIONAL Ratio_data_element;
END_ENTITY;
Map ARM

4.3.54 Contouring

The Contouring application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Contouring is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Contouring
  ABSTRACT SUPERTYPE OF (ONEOF(Contouring_rough, Contouring_finish))
  SUBTYPE OF (Turning_machining_operation);
  allowance:	OPTIONAL Length_data_element;
END_ENTITY;
Map ARM

4.3.55 Contouring_finish

The Contouring_finish application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Contouring_finish is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Contouring_finish
  SUBTYPE OF (Contouring);
END_ENTITY;
Map ARM

4.3.56 Contouring_rough

The Contouring_rough application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Contouring_rough is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Contouring_rough
  SUBTYPE OF (Contouring);
WHERE
  WR1: EXISTS(SELF.allowance) AND (SELF.allowance >= 0.0);
END_ENTITY;
Map ARM

4.3.57 Corner_transition

The Corner_transition application object shall be as defined by ISO 14649-121.

NOTE The ISO 14649 EXPRESS description for Corner_transition is shown below. Refer to ISO 14649-121 for the complete definition and explanation of usage.

ENTITY Corner_transition;
  corner_identity:      INTEGER;
  transition:           Corner_transition_select;
END_ENTITY;

TYPE Corner_transition_select = SELECT (
    Chamfered_corner, Rounded_corner, Profiled_corner);
END_TYPE;
Map ARM

4.3.58 Counter_sinking

The Counter_sinking application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Counter_sinking is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Counter_sinking  
  SUBTYPE OF (Drilling_operation);
END_ENTITY;
Map ARM

4.3.59 Counterbore

The Counterbore application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Counterbore is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Counterbore
  SUBTYPE OF (Drilling_cutting_tool);
END_ENTITY;
Map ARM

4.3.60 Countersink

The Countersink application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Countersink is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Countersink
  SUBTYPE OF (Drilling_cutting_tool);
  minimum_cutting_diameter: OPTIONAL Length_data_element;
  maximum_usable_length:    Length_data_element;
END_ENTITY;
Map ARM

4.3.61 Curve_with_normal_vector

The Curve_with_normal_vector application object shall be as defined by ISO 14649-10. See Matching curve parameterization for additional discussion on the curve parameterization requirements defined by ISO 14649 on the basiccurve and surface_normal data associated with a Curve_with_normal_vector.

NOTE The ISO 14649 EXPRESS description for Curve_with_normal_vector is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Curve_with_normal_vector; 
  basiccurve:                 bounded_curve;
  surface_normal:             bounded_curve;
END_ENTITY;
Map ARM

4.3.62 Cutter_contact_trajectory

The Cutter_contact_trajectory application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with a Cutter_contact_trajectory are the following:

See Matching curve parameterization for additional discussion on the curve parameterization requirements defined by ISO 14649 on the basiccurve, its_toolaxis, and its_toolref_direction data associated with a Cutter_contact_trajectory.

NOTE The ISO 14649 EXPRESS description for Cutter_contact_trajectory, as adapted by this document, is shown below. Refer to ISO 14649-10 for the original definition and explanation of usage.

ENTITY Cutter_contact_trajectory 
  SUBTYPE OF (Trajectory);
  basiccurve:                  Curve_with_surface_normal;
  its_toolaxis:                OPTIONAL bounded_curve;
  its_toolref_direction:       OPTIONAL bounded_curve;      -- ADDED BY 10303-238
  its_contact_type:            OPTIONAL Contact_type;
  path_maximum_deviation:      OPTIONAL Length_data_element;-- ADDED BY 10303-238
  tool_axis_maximum_deviation: OPTIONAL Angle_data_element; -- ADDED BY 10303-238
END_ENTITY;

TYPE Curve_with_surface_normal = SELECT (bounded_pcurve, Curve_with_normal_vector);
END_TYPE;

TYPE Contact_type = ENUMERATION OF (side, front);
END_TYPE;

4.3.62.1 its_toolaxis

The its_toolaxis parameter is defined by ISO 14649-10 to contain tilt and yaw angles, but this document modifies this requirement so that its_toolaxis shall contain the IJK components of the tool axis vector, as is defined by the Cutter_location_trajectory its_toolaxis parameter.

4.3.62.2 its_toolref_direction

The its_toolref_direction specifies the orientation of an asymmetric tool measured in the plane defined by the its_toolaxis data. This is specified as a three-dimensional curve specifying IJK direction components at each point along the Cutter_contact_trajectory. The curve shall obey the same parameterization constraints as the "its_toolaxis" data. The its_toolref_direction may not be specified for a particular Cutter_contact_trajectory.

4.3.62.3 path_maximum_deviation

The path_maximum_deviation specifies a linear distance. If this distance is specified, the NC control shall not allow the physical motion of the cutter contact point during execution of the toolpath to exceed this distance from the basiccurve specified by the toolpath. The path_maximum_deviation may not be specified for a particular Cutter_contact_trajectory.

4.3.62.4 tool_axis_maximum_deviation

The tool_axis_maximum_deviation specifies a plane angle. If this angle is specified, the NC control shall not allow the physical orientation of the tool axis during execution of the toolpath to exceed this angular distance from the its_toolaxis direction. The tool_axis_maximum_deviation may not be specified for a particular Cutter_contact_trajectory.

NOTE Figure 1 illustrates the range of deviations described by the tool_direction_maximum_deviation and path_maximim_deviation parameters. It is expected than an NC controller will adjust linearization tolerances (for 5-axis operation, as with the APT-CL LINTOL concept) as well as feed and acceleration rates to remain within the allowed deviations.

toolpath deviation parameters
Key

1 actual path of the tool

2 basiccurve defined by the toolpath

3 its_toolaxis

4 tool_direction_maximum_deviation

5 path_maximim_deviation

Figure 1 — Toolpath deviation parameters
Map ARM

4.3.63 Cutter_location_trajectory

The Cutter_location_trajectory application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with a Cutter_location_trajectory are the following:

See Matching curve parameterization for additional discussion on the curve parameterization requirements defined by ISO 14649 on the basiccurve, its_toolaxis, its_toolref_direction, and surface_normal data associated with a Cutter_location_trajectory.

NOTE The ISO 14649 EXPRESS description for Cutter_location_trajectory, as adapted by this document, is shown below. Refer to ISO 14649-10 for the original definition and explanation of usage.

ENTITY Cutter_location_trajectory
  SUBTYPE OF (Trajectory);
  basiccurve:                  bounded_curve; 
  its_toolaxis:                OPTIONAL bounded_curve;
  its_toolref_direction:       OPTIONAL bounded_curve;      -- ADDED BY 10303-238
  surface_normal:              OPTIONAL bounded_curve;
  path_maximum_deviation:      OPTIONAL Length_data_element;-- ADDED BY 10303-238
  tool_axis_maximum_deviation: OPTIONAL Angle_data_element; -- ADDED BY 10303-238
END_ENTITY;

4.3.63.1 its_toolref_direction

The its_toolref_direction specifies the orientation of an asymmetric tool measured in the plane defined by the its_toolaxis data. This is specified as a three-dimensional curve specifying IJK direction components at each point along the Cutter_location_trajectory. The curve shall obey the same parameterization constraints as the "its_toolaxis" data. The its_toolref_direction may not be specified for a particular Cutter_location_trajectory.

4.3.63.2 surface_normal

The surface_normal parameter shall be as defined by ISO 14649-10 remains unchanged, but this document clarifies the contents of this parameter so that surface_normal shall contain the IJK components of the surface normal vector.

4.3.63.3 path_maximum_deviation

The path_maximum_deviation specifies a linear distance. If this distance is specified, the NC control shall not allow the physical motion of the cutter centre point during execution of the toolpath to exceed this distance from the basiccurve specified by the toolpath. The path_maximum_deviation may not be specified for a particular Cutter_location_trajectory.

4.3.63.4 tool_axis_maximum_deviation

The tool_axis_maximum_deviation specifies a plane angle. If this angle is specified, the NC control shall not allow the physical orientation of the tool axis during execution of the toolpath to exceed this angular distance from the its_toolaxis direction. The tool_axis_maximum_deviation may not be specified for a particular Cutter_location_trajectory.

NOTE Figure 1 illustrates the range of deviations described by the tool_direction_maximum_deviation and path_maximim_deviation parameters.

Map ARM

4.3.64 Cutting_component

The Cutting_component application object shall be as defined by ISO 14649-111. This document adds the following information requirements.

The data associated with a Cutting_component are the following:

NOTE The ISO 14649 EXPRESS description for Cutting_component, as adapted by this document, is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Cutting_component;
  tool_functional_length: Length_data_element;

  -- 10303-238: its_material now defined as inverse described below
  -- its_material:        OPTIONAL material;
  expected_tool_life:     OPTIONAL Duration;
  its_technology:         OPTIONAL Technology;

INVERSE
  -- 10303-238: changed type to material_identification for ARM
  --   integration.  Changed to inverse attribute to accommodate
  --   definition of Material_identification.  The integrated
  --   representation is unchanged.
  its_material: SET[0:1] OF Material_identification FOR items;
END_ENTITY;

4.3.64.1 its_material

The its_material parameter defined by ISO 14649-111 shall be represented by the set of Material_identification application objects with an items parameter that contains the Cutting_component.

NOTE The integrated representation of this information is unchanged from previous edition of this document.

Map ARM

4.3.65 Cutting_edge_properties

The Cutting_edge_properties application object shall be as defined by ISO 14649-121. This document adds the following information requirements.

The data associated with a Cutting_component are the following:

NOTE The ISO 14649 EXPRESS description for Cutting_edge_properties is shown below. Refer to ISO 14649-121 for the complete definition and explanation of usage.

ENTITY Cutting_edge_properties;
  -- 10303-238: its_material now defined as inverse described below
  -- its_material:		OPTIONAL material;

  expected_tool_life:		OPTIONAL Duration;
  its_technology: 		OPTIONAL Technology;
  cutting_edge_length: 		OPTIONAL Length_data_element;
  tool_cutting_edge_angle: 	OPTIONAL Angle_data_element;
  tool_cutting_edge_angle_type: OPTIONAL STRING;
  tool_included_angle: 		OPTIONAL Angle_data_element;
  corner_transitions: 		LIST [0:?] OF Corner_transition;
  maximum_side_cutting_depth: 	OPTIONAL Length_data_element;
  maximum_end_cutting_depth: 	OPTIONAL Length_data_element;

INVERSE
  -- 10303-238: changed type to material_identification for ARM
  --   integration.  Changed to inverse attribute to accommodate
  --   definition of Material_identification.  The integrated
  --   representation is unchanged.
  its_material: SET[0:1] OF Material_identification FOR items;
END_ENTITY;

4.3.65.1 its_material

The its_material parameter defined by ISO 14649-121 shall be represented by the set of Material_identification application objects with an items parameter that contains the Cutting_edge_properties.

NOTE The integrated representation of this information is unchanged from previous edition of this document.

Map ARM

4.3.66 Cutting_in

The Cutting_in application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Cutting_in is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Cutting_in
  SUBTYPE OF (Grooving);
WHERE
  WR1: NOT(EXISTS(SELF.allowance));
END_ENTITY;
Map ARM

4.3.67 Display_message

The Display_message application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Display_message is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Display_message
  SUBTYPE OF (Nc_function);
  its_text:                   text;
END_ENTITY;
Map ARM

4.3.68 Dovetail_mill

The Dovetail_mill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Dovetail_mill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Dovetail_mill
  SUBTYPE OF (Milling_cutting_tool);
  included_angle: Angle_data_element;
END_ENTITY;
Map ARM

4.3.69 Drilling

The Drilling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Drilling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Drilling 
  SUBTYPE OF (Drilling_operation);
END_ENTITY;
Map ARM

4.3.70 Drilling_cutting_tool

The Drilling_cutting_tool application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Drilling_cutting_tool is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Drilling_cutting_tool
  SUPERTYPE OF (ONEOF(Counterbore, Countersink, Spade_drill, Spotdrill,
     Step_drill, Twist_drill))
  SUBTYPE OF (Milling_machine_cutting_tool);
  point_angle: Angle_data_element;
END_ENTITY;
Map ARM

4.3.71 Drilling_operation

The Drilling_operation application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Drilling_operation is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Drilling_operation
  ABSTRACT SUPERTYPE OF (ONEOF(Drilling, Center_drilling, Counter_sinking,
    Multistep_drilling))
  SUBTYPE OF (Drilling_type_operation);
END_ENTITY;
Map ARM

4.3.72 Drilling_type_operation

The Drilling_type_operation application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Drilling_type_operation is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Drilling_type_operation  
  ABSTRACT SUPERTYPE OF (ONEOF(Drilling_operation, Boring_operation, Back_boring, 
      Tapping, Thread_drilling))
  SUBTYPE OF (Milling_machining_operation);
  cutting_depth:              OPTIONAL Length_data_element;
  previous_diameter:          OPTIONAL Length_data_element;
  dwell_time_bottom:          OPTIONAL Duration;
  feed_on_retract:            OPTIONAL Ratio_data_element;
  its_machining_strategy:     OPTIONAL Drilling_type_strategy;
END_ENTITY;
Map ARM

4.3.73 Drilling_type_strategy

The Drilling_type_strategy application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Drilling_type_strategy is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Drilling_type_strategy;   
  reduced_cut_at_start:       OPTIONAL Ratio_data_element;
  reduced_feed_at_start:      OPTIONAL Ratio_data_element;
  depth_of_start:             OPTIONAL Length_data_element;
  reduced_cut_at_end:         OPTIONAL Ratio_data_element;
  reduced_feed_at_end:        OPTIONAL Ratio_data_element;
  depth_of_end:               OPTIONAL Length_data_element;
WHERE
  WR1: EXISTS(depth_of_start) OR 
       NOT (EXISTS(reduced_cut_at_start) OR EXISTS(reduced_feed_at_start));
  WR2: EXISTS(depth_of_end) OR 
       NOT (EXISTS(reduced_cut_at_end) OR EXISTS(reduced_feed_at_end));
END_ENTITY;
Map ARM

4.3.74 Endmill

The Endmill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Endmill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Endmill
  SUPERTYPE OF (ONEOF(Ballnose_endmill, Bullnose_endmill, Profiled_end_mill))
  SUBTYPE OF (Milling_cutting_tool);
  tool_cutting_edge_angle: Angle_data_element;
END_ENTITY;
Map ARM

4.3.75 Exchange_pallet

The Exchange_pallet application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Exchange_pallet is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Exchange_pallet
  SUBTYPE OF (Nc_function);
END_ENTITY;
Map ARM

4.3.76 Executable

The Executable application object is a type of Process_operation_definition that meets the information requirements defined for Executable by ISO 14649-10. This document adds the following information requirements.

The data associated with an Executable are the following:

NOTE The ISO 14649 EXPRESS description for Executable, as adapted by this document, is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

The shapes from the ISO 14649 In_process_geometry concept are replaced by complete product descriptions. The product_view_definition.primary_shape_representation gives the shape representation, which can be described by an edge-based wireframe (ISO 10303-1501), shell-based wireframe (ISO 10303-1502), geometrically-bounded surfaces (ISO 10303-1507), non-manifold surfaces (ISO 10303-1324), manifold surfaces (ISO 10303-1509), geometrically-bounded wireframe (ISO 10303-1510), faceted brep (ISO 10303-1512), tessellated geometry (ISO 10303-1819), scan data 3D shape (ISO 10303-1831), as well as the advanced brep (ISO 10303-1514) descriptions originally supported by ISO 14649.

ENTITY Executable
  ABSTRACT SUPERTYPE OF (ONEOF( Workingstep, Nc_function, Program_structure))
  SUBTYPE OF (Process_operation_definition); -- ADDED BY 10303-238e2

  -- 10303-238: its_id now inherited as Process_operation_definition.id
  -- its_id: identifier;
  as_is:   OPTIONAL Product_view_definition; -- ADDED BY 10303-238
  enabled: OPTIONAL BOOLEAN; 	     	     -- ADDED BY 10303-238
  removal: OPTIONAL Product_view_definition; -- ADDED BY 10303-238
  to_be:   OPTIONAL Product_view_definition; -- ADDED BY 10303-238
  
  twin_source: OPTIONAL text;			-- ADDED BY 10303-238e2
  twin_plan: OPTIONAL Executable;               -- ADDED BY 10303-238e2
  twin_start : OPTIONAL Date_time;		-- ADDED BY 10303-238e2
  twin_end :   OPTIONAL Date_time;		-- ADDED BY 10303-238e2
  twin_worktime : OPTIONAL Duration;		-- ADDED BY 10303-238e2
  twin_exception : OPTIONAL text;		-- ADDED BY 10303-238e2

  machine_used: OPTIONAL Machine_usage;		-- ADDED BY 10303-238e2
  
INVERSE
  -- 10303-238: Additional CAM properties for planned executables or
  -- result properties for digital twins.
  process_properties: SET[0:?] OF Process_property FOR described_element;
END_ENTITY;

4.3.76.1 its_id

The its_id parameter defined by ISO 14649-10 shall be given by the id parameter inherited from Process_operation_definition.

NOTE The integrated representation of this information is unchanged from previous edition of this document.

4.3.76.2 as_is

The as_is specifies a Product_view_definition which describes the shape and other properties of the manufactured product before the Executable is executed. The as_is may not be specified for a particular Executable. See Executable to Product_view_definition (as as_is) for the application assertion.

4.3.76.3 enabled

The enabled specifies whether the Executable is executed or ignored when processing the elements of a manufacturing project. The Executable is executed if enabled is true or not specified, and ignored if enabled is false. The enabled may not be specified for a particular Executable.

4.3.76.4 machine_used

The machine_used specifies a Machine_usage object that describes the machine selected to run the Executable. The machine_used may not be specified for a particular Executable. See Executable to Machine_usage for the application assertion.

4.3.76.5 process_properties

The process_properties describe characteristics of an Executable that can not be conveyed using other capabilities of this document. The process_properties shall be represented by the set of Process_property application objects with an described_element parameter that contains the Executable.

EXAMPLE An Executable that describes a planned process can describe parameters extracted from CAM. An Executable that describes a digital twin can describe result properties from machining or simulation.

4.3.76.6 removal

The removal specifies a Product_view_definition which describes the shape and other properties of the material removed from the manufactured product by the Executable. The removal may not be specified for a particular Executable. See Executable to Product_view_definition (as removal) for the application assertion.

4.3.76.7 to_be

The to_be specifies a Product_view_definition which describes the predicted shape and other properties of the manufactured product after the Executable is executed. The to_be may not be specified for a particular Executable. See Executable to Product_view_definition (as to_be) for the application assertion.

4.3.76.8 twin_end

The twin_end specifies a point in time at which a machined or simulated Executable was completed. The twin_end may not be specified for a particular Executable. The twin_end shall not be specified for a particular Executable if the twin_start is not specified for that Executable.

4.3.76.9 twin_exception

The twin_exception specifies a description of abnormal ending condition for a machined or simulated Executable. The twin_exception may not be specified for a particular Executable. The twin_exception shall not be specified for a particular Executable if the twin_start is not specified for that Executable.

4.3.76.10 twin_plan

The twin_plan specifies an Executable which describes the planned process of a machined or simulated Executable. The twin_plan may not be specified for a particular Executable. The twin_plan shall not be specified for a particular Executable if the twin_start is not specified for that Executable. See Executable to Executable (as twin_plan) for the application assertion.

4.3.76.11 twin_source

The twin_source specifies the source of digital twin data for an Executable. The twin_source may not be specified for a particular Executable. The twin_source shall not be specified for a particular Executable if the twin_start is not specified for that Executable.

EXAMPLE The URL of an MTConnect agent or an OPC/UA server are possible values for the source.

4.3.76.12 twin_start

The twin_start specifies a point in time at which a machined or simulated Executable was started. The twin_start may not be specified for a particular Executable. If the twin_start is not specified, the Executable shall describe a planned process, not the result of machining or simulation. See Digital twin process for fundamental concepts and assumptions related to the twin_start.

4.3.76.13 twin_worktime

The twin_worktime specifies the duration which a machined or simulated Executable was actively changing the state of material. The twin_worktime may not be specified for a particular Executable. The twin_worktime shall not be specified for a particular Executable if the twin_start is not specified for that Executable.

EXAMPLE For milling or turning, this duration would only include the time spent actively removing material, omitting any time spent positioning the tool without cutting, rapid motion between cuts, or approach and retract from the part.

Map ARM

4.3.77 Explicit_strategy

The Explicit_strategy application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Explicit_strategy is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Explicit_strategy
  SUBTYPE OF (Two5d_milling_strategy);
END_ENTITY;
Map ARM

4.3.78 Explicit_turning_strategy

The Explicit_turning_strategy application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Explicit_turning_strategy is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Explicit_turning_strategy
  SUBTYPE OF (Turning_machining_strategy);
END_ENTITY;
Map ARM

4.3.79 Extended_NC_function

An Extended_NC_function is a type of NC_function which specifies a manufacturing or handling operation which does not involve the interpolation of axes and for which no other more specific type of NC_function exists. This shall not be used if equivalent machine behavior can be achieved using other capabilities of this document.

The data associated with an Extended_NC_function are the following:

NOTE The EXPRESS description for the Extended_NC_function application object is shown below.

ENTITY Extended_nc_function
  SUBTYPE OF (Nc_function);
  extended_description:               text;
END_ENTITY;

4.3.79.1 extended_description

The extended_description specifies a string value which identifies the function.

NOTEThis property was called "description" in the previous edition of this document. The name was changed to avoid conflict with the "description" property inherited from the Process_operation_definition supertype added in this edition for interoperation with AP242 process plans. The integrated representation of this information is unchanged.

Map ARM

4.3.80 Extended_operation

An Extended_operation is a type of Operation which specifies a manufacturing or handling operation for which no other more specific type of Operation exists. This shall not be used if equivalent behavior can be achieved using other capabilities of this document.

The data associated with an Extended_operation are the following:

NOTE The EXPRESS description for the Extended_operation application object is shown below.

ENTITY Extended_operation
  SUBTYPE OF (Operation);
  description:		  text;
  its_machine_functions:  OPTIONAL Machine_functions;
  its_technology:         OPTIONAL Technology;
  its_tool:               OPTIONAL Machining_tool;
END_ENTITY;

4.3.80.1 description

The description specifies a string value which identifies the type of operation.

4.3.80.2 its_machine_functions

The its_machine_functions specifies a Machine_functions application object which describes the state of machine capabilities that applies to the operation. The its_machine_functions may not be specified for a particular Extended_operation. See Extended_operation to Machine_functions for the application assertion.

4.3.80.3 its_technology

The its_technology specifies a Technology application object which describes the technological parameters that apply to the operation. The its_technology may not be specified for a particular Extended_operation. See Extended_operation to Technology for the application assertion.

4.3.80.4 its_tool

The its_tool specifies a Machining_tool application object which describes tool requirements that apply to the operation. The its_tool may not be specified for a particular Extended_operation. See Extended_operation to Machining_tool for the application assertion.

Map ARM

4.3.81 Facemill

The Facemill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Facemill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Facemill
  SUBTYPE OF (Milling_cutting_tool);
  tool_cutting_edge_angle: Angle_data_element;
END_ENTITY;
Map ARM

4.3.82 Facing

The Facing application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Facing is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Facing
  ABSTRACT SUPERTYPE OF (ONEOF(Facing_rough, Facing_finish))
  SUBTYPE OF (Turning_machining_operation);
  allowance:	OPTIONAL Length_data_element;
END_ENTITY;
Map ARM

4.3.83 Facing_finish

The Facing_finish application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Facing_finish is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Facing_finish
  SUBTYPE OF (Facing);
END_ENTITY;
Map ARM

4.3.84 Facing_rough

The Facing_rough application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Facing_rough is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Facing_rough
  SUBTYPE OF (Facing);
WHERE
  WR1: EXISTS(SELF.allowance) AND (SELF.allowance >= 0.0);
END_ENTITY;
Map ARM

4.3.85 Feature_complete_probing

The Feature_complete_probing is a type of Touch_probing that performs a complete measurement cycle on an associated feature.

The data associated with a Feature_complete_probing are the following:

NOTE 1 The EXPRESS description for the Feature_complete_probing application object is shown below. The attribute names and ordering follow the pattern established by the Workpiece_probing application object defined by ISO 14649-10.

ENTITY Feature_complete_probing
  SUBTYPE OF (Touch_probing);
  start_position:         Axis_placement_3d;
  expected_value:         OPTIONAL Manufacturing_feature;
  its_probe:              Touch_probe;
END_ENTITY;

NOTE 2 Upon execution, the measurement cycle will result in a constructed feature. This resulting feature can be associated with the planned measurement process using a digital twin process.

4.3.85.1 expected_value

The expected_value specifies a Manufacturing_feature which describes the feature that shall be measured. The expected_value may not be specified for a particular Feature_complete_probing. If the expected_value is not specified, the Feature_complete_probing shall be the its_operation of a Workingstep and the feature to be measured shall be given by the its_feature of that Machining_workingstep. See Feature_complete_probing to Manufacturing_feature (as expected_value) for the application assertion.

4.3.85.2 its_probe

The its_probe specifies a tool of type Touch_probe which shall be used for measurement. See Feature_complete_probing to Touch_probe (as its_probe) for the application assertion.

4.3.85.3 start_position

The start_position specifies the position of the tip of the probe at the start of the measurement operation.

Map ARM

4.3.86 Feedstop

The Feedstop application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Feedstop is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Feedstop
  SUBTYPE OF (Toolpath);
  dwell:  Duration;
END_ENTITY;
Map ARM

4.3.87 Five_axes_const_tilt_yaw

The Five_axes_const_tilt_yaw application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Five_axes_const_tilt_yaw is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Five_axes_const_tilt_yaw         
  SUBTYPE OF (Tool_direction_for_milling);
  tilt_angle : Angle_data_element;
  yaw_angle  : Angle_data_element;
END_ENTITY;
Map ARM

4.3.88 Five_axes_var_tilt_yaw

The Five_axes_var_tilt_yaw application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Five_axes_var_tilt_yaw is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Five_axes_var_tilt_yaw   
  SUBTYPE OF (Tool_direction_for_milling);
END_ENTITY;
Map ARM

4.3.89 Fixture_usage

A Fixture_usage specifies a product model for a fixture and reference locations for workpiece and machine tool.

The data associated with a Fixture_usage are the following:

NOTE The EXPRESS description for the Fixture_usage application object is shown below.

ENTITY Fixture_usage;
  its_id:		label;
  its_product:		OPTIONAL Product_view_definition;
  mount_reference:      OPTIONAL Axis_placement_3d;
  workpiece_reference:	OPTIONAL Axis_placement_3d;
  description:		OPTIONAL text;
END_ENTITY;

4.3.89.1 description

The description specifies text that characterizes the Fixture_usage. The description may not be specified for a particular Fixture_usage.

4.3.89.2 its_id

The its_id specifies a word or group of words which identify the Fixture_usage.

4.3.89.3 its_product

The its_product specifies a Product_view_definition object that describes the physical shape and associated product information of the fixture. The its_product may not be specified for a particular Fixture_usage. See Fixture_usage to Product_view_definition for the application assertion.

4.3.89.4 mount_reference

The mount_reference specifies a location on the its_product fixture model used for aligning the fixture with a machine tool model. The mount_reference may not be specified for a particular Fixture_usage.

4.3.89.5 workpiece_reference

The workpiece_reference specifies a location on the its_product fixture model used for aligning the machining workpiece with the fixture. The workpiece_reference may not be specified for a particular Fixture_usage.

Map ARM

4.3.90 Freeform_finish_milling

A Freeform_finish_milling is a type of Freeform_operation that specifies a finishing operation.

NOTE 1 When specifying a freeform milling operation, particularly with an associated toolpath, the Freeform_rough_milling and Freeform_finish_milling subtypes can be used to indicate whether the operation is used for roughing or finishing. Some CNC controls can provide important efficiency gains when provided with this information.

NOTE 2 The EXPRESS description for the Freeform_finish_milling application object is shown below.

ENTITY Freeform_finish_milling
  SUBTYPE OF (Freeform_operation);
END_ENTITY;
Map ARM

4.3.91 Freeform_operation

The Freeform_operation application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Freeform_operation is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Freeform_operation       
  SUBTYPE OF (Milling_type_operation);
  its_machining_strategy: OPTIONAL Freeform_strategy;
END_ENTITY;
Map ARM

4.3.92 Freeform_rough_milling

A Freeform_rough_milling is a type of Freeform_operation that specifies a roughing operation.

NOTE The EXPRESS description for the Freeform_rough_milling application object is shown below.

ENTITY Freeform_rough_milling
  SUBTYPE OF (Freeform_operation);
END_ENTITY;
Map ARM

4.3.93 Freeform_strategy

The Freeform_strategy application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Freeform_strategy is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Freeform_strategy        
  ABSTRACT SUPERTYPE OF (ONEOF(Uv_strategy, Plane_cc_strategy, Plane_cl_strategy,
     Leading_line_strategy));
  pathmode:               Pathmode_type;
  cutmode:                Cutmode_type;
  its_milling_tolerances: Tolerances;
  stepover:               OPTIONAL Length_data_element;
END_ENTITY;

TYPE Pathmode_type = ENUMERATION OF (forward, zigzag);
END_TYPE;

TYPE Cutmode_type = ENUMERATION OF (climb, conventional);
END_TYPE;
Map ARM

4.3.94 General_turning_tool

The General_turning_tool application object shall be as defined by ISO 14649-121.

NOTE The ISO 14649 EXPRESS description for General_turning_tool is shown below. Refer to ISO 14649-121 for the complete definition and explanation of usage.

ENTITY General_turning_tool
  SUBTYPE OF (Turning_machine_cutting_tool);
END_ENTITY;
Map ARM

4.3.95 Grooving

The Grooving application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Grooving is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Grooving
  ABSTRACT SUPERTYPE OF (ONEOF(Grooving_rough, Grooving_finish, Cutting_in))
  SUBTYPE OF (Turning_machining_operation);
  dwell:	OPTIONAL Dwell_select;
  allowance: 	OPTIONAL Length_data_element;
END_ENTITY;

TYPE Dwell_revolution = REAL;	END_TYPE;
TYPE Dwell_time = Duration;	END_TYPE;

TYPE Dwell_select = SELECT (Dwell_time, Dwell_revolution);
END_TYPE;
Map ARM

4.3.96 Grooving_finish

The Grooving_finish application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Grooving_finish is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Grooving_finish
  SUBTYPE OF (Grooving);
END_ENTITY;
Map ARM

4.3.97 Grooving_rough

The Grooving_rough application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Grooving_rough is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Grooving_rough
  SUBTYPE OF (Grooving);
WHERE
  WR1: EXISTS(SELF.allowance) AND (SELF.allowance >= 0.0);
END_ENTITY;
Map ARM

4.3.98 Grooving_strategy

The Grooving_strategy application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Grooving_strategy is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Grooving_strategy
  SUPERTYPE OF (Multistep_grooving_strategy)
  SUBTYPE OF (Turning_machining_strategy);
  grooving_direction:	OPTIONAL direction;
  travel_distance: 	OPTIONAL Length_data_element;
END_ENTITY;
Map ARM

4.3.99 Grooving_tool

The Grooving_tool application object shall be as defined by ISO 14649-121.

NOTE The ISO 14649 EXPRESS description for Grooving_tool is shown below. Refer to ISO 14649-121 for the complete definition and explanation of usage.

ENTITY Grooving_tool
  SUBTYPE OF (Turning_machine_cutting_tool);
  cutting_width:		   Length_data_element;
  maximum_grooving_depth:	   Length_data_element;
  corner_radius:		   OPTIONAL Length_data_element;
  maximum_axial_grooving_diameter: OPTIONAL Length_data_element;
  minimum_axial_grooving_diameter: OPTIONAL Length_data_element;
END_ENTITY;
Map ARM

4.3.100 If_statement

The If_statement application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for If_statement is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY If_statement
  SUBTYPE OF (Program_structure);
  condition:                  Boolean_expression;
  true_branch:                Executable;
  false_branch:               OPTIONAL Executable;
END_ENTITY;
Map ARM

4.3.101 Index_pallet

The Index_pallet application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Index_pallet is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Index_pallet
  SUBTYPE OF (Nc_function);
  its_index: INTEGER;
END_ENTITY;
Map ARM

4.3.102 Index_table

The Index_table application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Index_table is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Index_table
  SUBTYPE OF (Nc_function);
  its_index: INTEGER;
END_ENTITY;
Map ARM

4.3.103 Knurling

The Knurling application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Knurling is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Knurling
  SUBTYPE OF (Turning_machining_operation);
END_ENTITY;
Map ARM

4.3.104 Knurling_tool

The Knurling_tool application object shall be as defined by ISO 14649-121.

NOTE The ISO 14649 EXPRESS description for Knurling_tool is shown below. Refer to ISO 14649-121 for the complete definition and explanation of usage.

ENTITY Knurling_tool
  SUBTYPE OF (Turning_machine_cutting_tool);
  knurl_pattern:  Knurl_pattern_type;
  cutting_length: OPTIONAL Length_data_element;
  angle: 	  OPTIONAL Angle_data_element;
  pitch: 	  OPTIONAL Length_data_element;
END_ENTITY;

TYPE Knurl_pattern_type = ENUMERATION OF (straight, diagonal, diamond);
END_TYPE;
Map ARM

4.3.105 Last_modified_timestamp

A Last_modified_timestamp is a type of Date_or_date_time_assignment that associates one or more manufacturing projects, workpieces, executables, operations, or toolpaths with the point in time of their most recent modification or creation.

NOTE 1 The date_and_time_value and items data defined by the previous edition of this document are now given by the assigned_date and items data defined by Date_or_date_time_assignment. The integrated representation of this information is unchanged.

NOTE 2 The EXPRESS description for the Last_modified_timestamp application object is shown below.

TYPE last_modified_timestamp_item_238 = SELECT BASED_ON date_or_date_time_item WITH(
  Executable,
  Operation,
  Manufacturing_project,
  Toolpath,
  Workpiece
  );
END_TYPE;

ENTITY Last_modified_timestamp
  SUBTYPE OF (Date_or_date_time_assignment);
WHERE
  WR1: SELF\date_or_date_time_assignment.role = 'last modified';
END_ENTITY;
Map ARM

4.3.106 Leading_line_strategy

The Leading_line_strategy application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Leading_line_strategy is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Leading_line_strategy    
  SUBTYPE OF (Freeform_strategy);
  its_line : bounded_curve;
END_ENTITY;
Map ARM

4.3.107 Load_tool

The Load_tool application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Load_tool is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Load_tool
  SUBTYPE OF (Nc_function);
  its_tool: Machining_tool;
END_ENTITY;
Map ARM

4.3.108 Machine_axis_constraint

A Machine_axis_constraint identifies the range of motion that a machine axis can traverse.

NOTE 1 It is advisable to avoid use of this information since it is machine dependent. To execute an operation or toolpath, an NC controller converts curves in space into specific axis motions. Some machine geometries do not have a unique solution. The machine_axis_constraint mechanism allows additional guidance to be provided to the controller by restricting the motion of one or more axes to be considered as part of the solution.

EXAMPLE When a rotary C table is mounted on a rotary B table, there can be two combinations of C and B angles that give the same tool axis direction. Also, when drilling on a machine with redundant (not necessarily parallel) linear axes, such as a machine with a movable quill (W axis), either the W or other axes could be used to advance the drill.

The data associated with a Machine_axis_constraint are the following:

NOTE 2 The EXPRESS description for the Machine_axis_constraint application object is shown below.

ENTITY Machine_axis_constraint;
  axis_identifier: 	STRING;
  axis_range:		Value_range;
END_ENTITY;

4.3.108.1 axis_identifier

The axis_identifier is a string value describing the name of the axis.

EXAMPLE The strings "x", "y", "z", "a", and "b" are common axis names.

4.3.108.2 axis_range

The axis_range specifies exactly one Value_range containing upper and lower measure values permitted for that axis.

Map ARM

4.3.109 Machine_axis_travel

A Machine_axis_travel identifies the distance that a machine axis can traverse.

The data associated with a Machine_axis_travel are the following:

NOTE The EXPRESS description for the Machine_axis_travel application object is shown below.

ENTITY Machine_axis_travel;
  axis_identifier: 	STRING;
  travel_distance:	value_with_unit;
END_ENTITY;

4.3.109.1 axis_identifier

The axis_identifier is a string value describing the name of the axis.

EXAMPLE The strings "x", "y", "z", "a", and "b" are common axis names.

4.3.109.2 travel_distance

The travel_distance specifies a measure value that describes the distance that the identified axis can traverse.

NOTE A length measure value can be used to describe the traversal of linear axes, while a plane angle measure value can be used to describe the traversal of tilt tables and other angular axes.

Map ARM

4.3.110 Machine_functions

The Machine_functions application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with a Machine_functions are the following:

NOTE The ISO 14649 EXPRESS description for Machine_functions, as adapted by this document, is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Machine_functions 
  ABSTRACT SUPERTYPE;
  -- 10303-238: consolidate other_functions from subtypes into
  --   the supertype for consistent handling across technologies
  other_functions:  SET [0:?] OF Representation_item;
END_ENTITY;

4.3.110.1 other_functions

The other_functions specifies a set of conditions on the machine that shall be in effect at the start of the machining operation or toolpath that refers to the Machine_functions.

Each condition shall be identified by a Representation_item name and the required state shall be described by the value of the Representation_item. If conditions must be applied sequentially, the Representation_items shall be nested, in the required order, within a List_representation_item. The other_functions shall not be used if a condition can be specified using other capabilities of this document.

NOTE 1 This consolidates Am_machine_functions functions, Milling_machine_functions other_functions, and Turning_machine_functions other_functions parameters into a single place.

NOTE 2 ISO 14649 describes this as Property_parameter and Descriptive_parameter application objects. These have been replaced by the Representation_item and String_representation_item objects. The integrated representation of this information is unchanged from previous edition of this document.

EXAMPLE A condition that has several possible states can be described by a String_representation_item subtype with a value such as "condition-name on" or "condition-name off". A condition that has a state defined by a measured value, such as pressure, can be described by a Numerical_item_with_unit subtype with a value such as 150Pa.

Map ARM

4.3.111 Machine_parameters

A Machine_parameters identifies the characteristics of a machine tool.

The data associated with a Machine_parameters are the following:

NOTE The EXPRESS description for the Machine_parameters application object is shown below.

ENTITY Machine_parameters;
  feedrate:		OPTIONAL Velocity_data_element;
  spindle_speed:	OPTIONAL Frequency_data_element;
  spindle_power:	OPTIONAL Power_data_element;
  spindle_torque:	OPTIONAL value_with_unit;
  number_of_control_axis:	OPTIONAL INTEGER;
  number_of_simultaneous_axis:	OPTIONAL INTEGER;
  positioning_accuracy:	OPTIONAL Length_data_element;

  table_indexing:	OPTIONAL BOOLEAN;
  table_length:		OPTIONAL Length_data_element;
  table_width:		OPTIONAL Length_data_element;

  axis_travel: 		SET [0:?] OF machine_axis_travel;
  work_volume_length:	OPTIONAL Length_data_element;
  work_volume_width:	OPTIONAL Length_data_element;
  work_volume_height:	OPTIONAL Length_data_element;

WHERE
    WR1: (0 = SIZEOF(axis_travel)) OR
 	 ((NOT EXISTS (work_volume_length)) AND
 	  (NOT EXISTS (work_volume_width)) AND
 	  (NOT EXISTS (work_volume_length)));
END_ENTITY;

4.3.111.1 axis_travel

The axis_travel specifies zero or more Machine_axis_travel objects which describe the distance that the machine tool can move its cutting tool along specified axes. The axis_travel may not be specified for a particular Machine_parameters and the axis_travel shall not be specified if work_volume_length, work_volume_width, or work_volume_height is specified. See Machine_parameters to Machine_axis_travel for the application assertion.

4.3.111.2 feedrate

The feedrate specifies the linear velocity at which a machine tool can move its cutting tool. The feedrate may not be specified for a particular Machine_parameters.

4.3.111.3 number_of_control_axis

The number_of_control_axis specifies number of machine tool axes that can be controlled by a numerical controller. The number_of_control_axis may not be specified for a particular Machine_parameters.

4.3.111.4 number_of_simultaneous_axis

The number_of_simultaneous_axis specifies number of machine tool axes that can be controlled simultaneously by a numerical controller. The number_of_simultaneous_axis may not be specified for a particular Machine_parameters.

4.3.111.5 positioning_accuracy

The positioning_accuracy specifies positioning accuracy of the machine tool axes considering displacement error and repeatability error. The positioning_accuracy may not be specified for a particular Machine_parameters.

4.3.111.6 spindle_power

The spindle_power specifies the power which a machine tool can apply to turn its spindle. The spindle_power may not be specified for a particular Machine_parameters.

NOTE Spindle power is usually given in units of Kilowatts (for SI usage) or Horsepower (for English usage).

4.3.111.7 spindle_torque

The spindle_torque specifies the torque which a machine tool can apply to turn its spindle. The spindle_torque may not be specified for a particular Machine_parameters.

NOTE Spindle torque is usually given in units of Newton Meters (for SI usage) or Foot Pounds (for English usage).

4.3.111.8 spindle_speed

The spindle_speed specifies the rotational velocity at which a machine tool can move its spindle. The spindle_speed may not be specified for a particular Machine_parameters.

4.3.111.9 table_indexing

The table_indexing specifies whether the machine tool table shall be capable of indexing. The table_indexing may not be specified for a particular Machine_parameters.

4.3.111.10 table_length

The table_length specifies length of the machine tool work table. The table_length may not be specified for a particular Machine_parameters.

4.3.111.11 table_width

The table_width specifies length of the machine tool work table. The table_width may not be specified for a particular Machine_parameters.

4.3.111.12 work_volume_height

The work_volume_height specifies height of the volume in which the machine tool can move its cutting tool. The volume is aligned so that the height component lies along the Z axis of the machine. The work_volume_height may not be specified for a particular Machine_parameters and the work_volume_height shall not be specified if axis_travel is specified.

4.3.111.13 work_volume_length

The work_volume_length specifies length of the volume in which the machine tool can move its cutting tool. The volume is aligned so that the length component lies along the X axis of the machine. The work_volume_length may not be specified for a particular Machine_parameters and the work_volume_length shall not be specified if axis_travel is specified.

4.3.111.14 work_volume_width

The work_volume_width specifies width of the volume in which the machine tool can move its cutting tool. The volume is aligned so that the width component lies along the Y axis of the machine. The work_volume_width may not be specified for a particular Machine_parameters and the work_volume_width shall not be specified if axis_travel is specified.

Map ARM

4.3.112 Machine_usage

A Machine_usage specifies a product model for a machine and reference locations for workpiece and machine tool.

The data associated with a Machine_usage are the following:

NOTE The EXPRESS description for the Machine_usage application object is shown below.

ENTITY Machine_usage;
  its_id:		label;
  its_product:		OPTIONAL Product_view_definition;
  description:		OPTIONAL text;
END_ENTITY;

4.3.112.1 description

The description specifies text that characterizes the Machine_usage. The description may not be specified for a particular Machine_usage.

4.3.112.2 its_id

The its_id specifies a word or group of words which identify the Machine_usage.

4.3.112.3 its_product

The its_product specifies a Product_view_definition object that describes the physical shape and associated product information of the machine. The its_product may not be specified for a particular Machine_usage. See Machine_usage to Product_view_definition for the application assertion.

Map ARM

4.3.113 Machine_with_kinematics

The Machine_with_kinematics application object is a type of Product_view_definition that describes the shape, structure, and kinematic configuration of an individual numerically controlled machine.

The data associated with a Machine_with_kinematics are the following:

NOTE The EXPRESS description for the Machine_with_kinematics application object is shown below.

ENTITY Machine_with_kinematics
  SUBTYPE OF (Product_view_definition);
  configuration:  OPTIONAL identifier;
  mechanism:      Mechanism_representation;
END_ENTITY;

4.3.113.1 configuration

The configuration identifies the coordinate system and motion of the machine. The configuration may not be specified for a particular Machine_with_kinematics.

NOTE ISO 841 defines nomenclature for machine tool configurations. ISO 9787 defines nomenclature for industrial robot configurations.

4.3.113.2 mechanism

The mechanism specifies the Mechanism_representation that describes the kinematic links of the machine.

Map ARM

4.3.114 Machining_operation

The Machining_operation application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with an Machining_operation are the following:

NOTE The ISO 14649 EXPRESS description for Machining_operation is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Machining_operation
  ABSTRACT SUPERTYPE
  SUBTYPE OF (Operation);
  -- 10303-238: its_id moved to supertype to cover all operations
  -- its_id:                 identifier;
  retract_plane:          OPTIONAL Length_data_element;
  start_point:            OPTIONAL cartesian_point;
  its_tool:               Machining_tool; 
  its_technology:         Technology; 
  its_machine_functions:  Machine_functions;
END_ENTITY;

4.3.114.1 its_id

The its_id parameter defined by ISO 14649-10 shall be replaced by the its_id parameter defined by the Operation application object.

Map ARM

4.3.115 Machining_tool

The Machining_tool application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with a Machining_tool are the following:

NOTE The ISO 14649 EXPRESS description for Machining_tool, as adapted by this document, is shown below. Refer to ISO 14649-10 for the original definition and explanation of usage.

ENTITY Machining_tool 
  ABSTRACT SUPERTYPE;
  its_id:     label;
  its_usage:  OPTIONAL Tool_usage;   -- ADDED BY 10303-238
END_ENTITY;

4.3.115.1 its_usage

The its_usage specifies a Tool_usage object that describes the tool selected to satisfy the tool requirements set forth by the Machining_tool. The its_usage may not be specified for a particular Machining_tool. See Machining_tool to Tool_usage for the application assertion.

Map ARM

4.3.116 Machining_workingstep

The Machining_workingstep application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with a Machining_workingstep are the following:

NOTE The ISO 14649 EXPRESS description for Machining_workingstep, as adapted by this document, is shown below. Refer to ISO 14649-10 for the original definition and explanation of usage.

ENTITY Machining_workingstep
  SUBTYPE OF (Workingstep);
  its_feature: 		Manufacturing_feature;

  -- 10303-238: its_operation now inherited from Workingstep
  -- its_operation: 	Machining_operation;

  -- 10303-238: as_is, to_be, and removal now inherited from Executable
  -- its_effect:  OPTIONAL in_process_geometry;
END_ENTITY;

4.3.116.1 its_effect

The its_effect parameter defined by ISO 14649-10 shall be replaced by the set of as-is, to-be, and removal parameters inherited from the Executable application object.

4.3.116.2 its_operation

The its_operation parameter defined by ISO 14649-10 shall be replaced by the its_operation parameter inherited from the Workingstep application object.

Map ARM

4.3.117 Manufacturing_project

The Manufacturing_project application object is a type of Product_version that meets the information requirements defined for Project by ISO 14649-10. This document adds the following information requirements.

NOTE 1 The name Manufacturing_project is used to avoid a conflict with the Project definition in ISO 10303-1061.

The data associated with a Manufacturing_project are the following:

NOTE 2 The ISO 14649 EXPRESS description for Manufacturing_project, as adapted by this document, is shown below. Refer to ISO 14649-10 for the original definition and explanation of usage.


ENTITY Manufacturing_project
  SUBTYPE OF (Product_version);
  -- 10303-238: id now provided by inherited product_version.id
  -- its_id:          identifier;  
  main_workplan:   Workplan;

  -- 10303-238: relax to Product_view_definition for integration
  its_workpieces:  SET [0:?] OF Product_view_definition;

  its_owner:	OPTIONAL Person_in_organization;
  its_release:	OPTIONAL Date_time;
  its_status:   OPTIONAL Approval;
END_ENTITY;

4.3.117.1 its_id

The its_id parameter defined by ISO 14649-10 shall be given by the inherited id parameter defined by product_version.

NOTE The integrated representation of this information is unchanged from previous edition of this document.

4.3.117.2 its_workpieces

The its_workpieces set shall be as defined by ISO 14649-10 to be of type Workpiece, but this document relaxes this requirement to allow any type of Product_view_definition.

Map ARM

4.3.118 Milling_cutting_tool

The Milling_cutting_tool application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Milling_cutting_tool is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Milling_cutting_tool
  ABSTRACT SUPERTYPE OF (ONEOF(Dovetail_mill, Endmill, Facemill, Shouldermill,
  Side_mill, T_slot_mill, Thread_mill))
  SUBTYPE OF (Milling_machine_cutting_tool);
  number_of_effective_teeth:    OPTIONAL INTEGER;
  edge_radius: 			OPTIONAL Length_data_element;
END_ENTITY;
Map ARM

4.3.119 Milling_machine_cutting_tool

The Milling_machine_cutting_tool application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Milling_machine_cutting_tool is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Milling_machine_cutting_tool
  ABSTRACT SUPERTYPE OF ( ONEOF(Milling_cutting_tool, Drilling_cutting_tool,
  Tapping_cutting_tool, Rotating_boring_cutting_tool, Reaming_cutting_tool))
  SUBTYPE OF (Machining_tool);
  its_cutting_edges:            SET [1:?] OF Cutting_component;
  overall_assembly_length:      Length_data_element;
  effective_cutting_diameter:   Length_data_element;
  maximum_depth_of_cut:         Length_data_element;
  hand_of_cut:                  OPTIONAL Hand_of_cut_type;
  coolant_through_tool:         OPTIONAL BOOLEAN;
END_ENTITY;

TYPE Hand_of_cut_type = ENUMERATION OF(left, neutral, right);
END_TYPE;
Map ARM

4.3.120 Milling_machine_functions

The Milling_machine_functions application object shall be as defined by ISO 14649-11. This document adds the following information requirements.

The data associated with a Milling_machine_functions are the following:

NOTE The ISO 14649 EXPRESS description for Milling_machine_functions, as adapted by this document, is shown below. Refer to ISO 14649-11 for the original definition and explanation of usage.

ENTITY Milling_machine_functions
  SUBTYPE OF (Machine_functions);
  coolant: 		BOOLEAN;
  coolant_pressure:     OPTIONAL Pressure_data_element;
  mist:                 OPTIONAL BOOLEAN;
  through_spindle_coolant: BOOLEAN;
  through_pressure:     OPTIONAL Pressure_data_element;
  axis_clamping:        LIST [0:?] OF identifier; 
  chip_removal:         BOOLEAN;
  oriented_spindle_stop: OPTIONAL direction;
  its_process_model:    OPTIONAL Process_model_list;
  -- 10303-238: other_functions moved to supertype for consistent
  --   handling across technologies
  -- other_functions:   SET [0:?] OF Representation_item;
  axis_constraints: OPTIONAL SET [0:?] OF Machine_axis_constraint;-- ADDED BY 10303-238
END_ENTITY;

4.3.120.1 axis_constraints

The axis_constraints specifies zero or more Machine_axis_constraint that shall be used by the NC control when computing axis motion. See Milling_machine_functions to Machine_axis_constraint for the application assertion.

NOTE It is advisable to avoid use of this information since it is machine dependent.

4.3.120.2 other_functions

The other_functions parameter defined by ISO 14649-11 shall be replaced by the other_functions parameter defined by the Machine_functions application object.

Map ARM

4.3.121 Milling_machining_operation

The Milling_machining_operation application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Milling_machining_operation is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Milling_machining_operation
  ABSTRACT SUPERTYPE OF (ONEOF(Milling_type_operation, Drilling_type_operation))
  SUBTYPE OF (Machining_operation);
  overcut_length: OPTIONAL Length_data_element;
WHERE
  WR1: (EXISTS(SELF.its_technology.feedrate_per_tooth) AND
        EXISTS(SELF.its_tool.number_of_effective_teeth)) OR
        (NOT(EXISTS(SELF.its_technology.feedrate_per_tooth)));
END_ENTITY;
Map ARM

4.3.122 Milling_technology

The Milling_technology application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Milling_technology is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Milling_technology
  SUBTYPE OF (Technology); 
  cutspeed:                      OPTIONAL Velocity_data_element;
  spindle:                       OPTIONAL Frequency_data_element;
  feedrate_per_tooth:            OPTIONAL Length_data_element;
  synchronize_spindle_with_feed: BOOLEAN;
  inhibit_feedrate_override:     BOOLEAN;
  inhibit_spindle_override:      BOOLEAN;
  its_adaptive_control:          OPTIONAL Adaptive_control;
WHERE
  WR1: (EXISTS(cutspeed) AND NOT EXISTS(spindle))
    OR (EXISTS(spindle) AND NOT EXISTS(cutspeed))
    OR (EXISTS(its_adaptive_control));
  WR2: (EXISTS(SELF.feedrate) AND NOT EXISTS(feedrate_per_tooth))
    OR (EXISTS(feedrate_per_tooth) AND NOT EXISTS(SELF.feedrate))
    OR (EXISTS(its_adaptive_control));
END_ENTITY;
Map ARM

4.3.123 Milling_type_operation

The Milling_type_operation application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Milling_type_operation is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Milling_type_operation   
  ABSTRACT SUPERTYPE OF (ONEOF(Freeform_operation, Two5d_milling_operation))
  SUBTYPE OF (Milling_machining_operation);
  approach:         OPTIONAL Approach_retract_strategy;
  retract:          OPTIONAL Approach_retract_strategy;
END_ENTITY;
Map ARM

4.3.124 Multistep_drilling

The Multistep_drilling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Multistep_drilling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Multistep_drilling
  SUBTYPE OF (Drilling_operation);
  retract_distance:       Length_data_element;
  first_depth:            Length_data_element;
  depth_of_step:          Length_data_element;
  dwell_time_step:        OPTIONAL Duration;
END_ENTITY;
Map ARM

4.3.125 Multistep_grooving_strategy

The Multistep_grooving_strategy application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Multistep_grooving_strategy is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Multistep_grooving_strategy
  SUBTYPE OF (Grooving_strategy);
  retract_distance:	Length_data_element;
END_ENTITY;
Map ARM

4.3.126 NC_constant

The NC_constant application object is a type of Literal_number that meets the information requirements defined for NC_constant by ISO 14649-10. This document adds the following information requirements.

The data associated with a NC_constant are the following:

NOTE The ISO 14649 EXPRESS description for NC_constant, as adapted by this document, is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Nc_constant
  SUBTYPE OF (Literal_number);  -- ADDED BY 10303-238
  its_name:  LABEL;
  -- 10303-238: its_value now inherited literal_number.the_value
  -- its_value: OPTIONAL NUMBER;
END_ENTITY;

4.3.126.1 its_value

The its_value parameter defined by ISO 14649-10 shall be given by the inherited the_value parameter defined by Literal_number.

NOTE The integrated representation of this information is unchanged from previous edition of this document.

Map ARM

4.3.127 NC_function

The NC_function application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for NC_function is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Nc_function
  ABSTRACT SUPERTYPE SUBTYPE OF (Executable);
END_ENTITY;
Map ARM

4.3.128 NC_variable

The NC_variable application object is a type of Numeric_variable that meets the information requirements defined for NC_variable by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for NC_variable, as adapted by this document, is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Nc_variable
  SUBTYPE OF (Numeric_variable);  -- ADDED BY 10303-238
  its_name:      LABEL;
  initial_value: OPTIONAL NUMBER;
END_ENTITY;
Map ARM

4.3.129 Non_sequential

The Non_sequential application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Non_sequential is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Non_sequential
  SUBTYPE OF (Program_structure);
  its_elements:   SET[2:?] OF Executable;
END_ENTITY;
Map ARM

4.3.130 Offset_vector

The Offset_vector application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Offset_vector is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Offset_vector; 
  translate: LIST [3:3] OF Nc_variable;
  rotate:    OPTIONAL LIST [3:3] OF Nc_variable;
WHERE
  WR1: (SIZEOF(QUERY(i <* translate | NOT EXISTS(i.initial_value))) = 0)
     AND (NOT EXISTS(rotate) OR (SIZEOF(QUERY(i <* rotate |
          NOT EXISTS(i.initial_value))) = 0));
END_ENTITY;
Map ARM

4.3.131 Operation

The Operation application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with an Operation are the following:

NOTE The ISO 14649 EXPRESS description for Operation, as nnadapted by this document is shown below. Refer to ISO 14649-10 for the original definition and explanation of usage.

ENTITY Operation
  ABSTRACT SUPERTYPE OF (ONEOF (Machining_operation, Rapid_movement, Touch_probing, Extended_operation, Am_operation));
  -- 10303-238: its_id moved to supertype to cover all operations
  its_id:		identifier;
  its_toolpath:		OPTIONAL Toolpath_list;
  its_tool_direction:	OPTIONAL Tool_direction;

INVERSE
  -- 10303-238: Additional CAM properties for operations
  process_properties: SET[0:?] OF Process_property FOR described_element;
END_ENTITY;

4.3.131.1 its_id

The its_id shall be string that identifies the operation.

4.3.131.2 process_properties

The process_properties shall be represented by the set of Process_property application objects with an described_element parameter that contains the Operation.

Map ARM

4.3.132 Optional_stop

The Optional_stop application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Optional_stop is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Optional_stop
  SUBTYPE OF (Nc_function);
END_ENTITY;
Map ARM

4.3.133 Parallel

The Parallel application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Parallel is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Parallel
  SUBTYPE OF (Program_structure);
  branches:   SET [2:?] OF Executable;
END_ENTITY;
Map ARM

4.3.134 Parameterised_path

The Parameterised_path application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Parameterised_path is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Parameterised_path
  ABSTRACT SUPERTYPE OF (ONEOF (Approach_lift_path, Connector))
  SUBTYPE OF (Toolpath);
END_ENTITY;
Map ARM

4.3.135 Plane_cc_strategy

The Plane_cc_strategy application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Plane_cc_strategy is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Plane_cc_strategy
  SUBTYPE OF (Freeform_strategy);
  its_plane_normal: direction;
END_ENTITY;
Map ARM

4.3.136 Plane_cl_strategy

The Plane_cl_strategy application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Plane_cl_strategy is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Plane_cl_strategy
  SUBTYPE OF (Freeform_strategy);
  its_plane_normal: direction;
END_ENTITY;
Map ARM

4.3.137 Plane_finish_milling

The Plane_finish_milling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Plane_finish_milling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Plane_finish_milling
  SUBTYPE OF (Plane_milling);
END_ENTITY;
Map ARM

4.3.138 Plane_milling

The Plane_milling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Plane_milling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Plane_milling
  ABSTRACT SUPERTYPE OF (ONEOF(Plane_rough_milling, Plane_finish_milling))
  SUBTYPE OF (Two5d_milling_operation);
  axial_cutting_depth: 	OPTIONAL Length_data_element;
  allowance_bottom: 	OPTIONAL Length_data_element;
END_ENTITY;
Map ARM

4.3.139 Plane_rough_milling

The Plane_rough_milling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Plane_rough_milling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Plane_rough_milling
  SUBTYPE OF (Plane_milling);
WHERE
  WR1: EXISTS(SELF.allowance_bottom) AND (SELF.allowance_bottom>=0.0);
END_ENTITY;
Map ARM

4.3.140 Plunge_helix

The Plunge_helix application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Plunge_helix is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Plunge_helix
  SUBTYPE OF (Plunge_strategy);
  radius:   Length_data_element;
  angle:    Angle_data_element;
END_ENTITY;
Map ARM

4.3.141 Plunge_ramp

The Plunge_ramp application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Plunge_ramp is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Plunge_ramp
  SUBTYPE OF (Plunge_strategy);
  angle:    Angle_data_element;
END_ENTITY;
Map ARM

4.3.142 Plunge_strategy

The Plunge_strategy application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Plunge_strategy is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Plunge_strategy
  ABSTRACT SUPERTYPE OF (ONEOF (Plunge_toolaxis, Plunge_ramp, 
     Plunge_helix, Plunge_zigzag))
  SUBTYPE OF (Approach_retract_strategy);
END_ENTITY;
Map ARM

4.3.143 Plunge_toolaxis

The Plunge_toolaxis application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Plunge_toolaxis is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Plunge_toolaxis
  SUBTYPE OF (Plunge_strategy);
END_ENTITY;
Map ARM

4.3.144 Plunge_zigzag

The Plunge_zigzag application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Plunge_zigzag is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Plunge_zigzag
  SUBTYPE OF (Plunge_strategy);
  angle:    Angle_data_element;
  width:    Length_data_element;
END_ENTITY;
Map ARM

4.3.145 Process_model

The Process_model application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Process_model is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Process_model;
  ini_data_file:  label;
  its_type:       label;
END_ENTITY;
Map ARM

4.3.146 Process_model_list

The Process_model_list application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Process_model_list is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Process_model_list;
  its_list: LIST [1:?] OF Process_model;
END_ENTITY;
Map ARM

4.3.147 Process_property

A Process_property is a type of Activity_property which specifies supplemental information about a process description. This shall not be used if equivalent information can be conveyed using other capabilities of this document.

The data associated with a Process_property are the following:

NOTE The EXPRESS description for the Process_property application object is shown below.

ENTITY Process_property
  SUBTYPE OF (Activity_property);
  property_date :   OPTIONAL Date_time;
END_ENTITY;

4.3.147.1 property_date

The property_date specifies a characteristic point in time for the property. The property_date may not be specified for a particular Process_property.
Map ARM

4.3.148 Profiled_corner

The Profiled_corner application object shall be as defined by ISO 14649-121.

NOTE The ISO 14649 EXPRESS description for Profiled_corner is shown below. Refer to ISO 14649-121 for the complete definition and explanation of usage.

ENTITY Profiled_corner;
  transition_profile:   Open_profile;
END_ENTITY;
Map ARM

4.3.149 Profiled_end_mill

The Profiled_end_mill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Profiled_end_mill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Profiled_end_mill
  SUBTYPE OF (Endmill);
END_ENTITY;
Map ARM

4.3.150 Program_stop

The Program_stop application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Program_stop is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Program_stop
  SUBTYPE OF (Nc_function);
END_ENTITY;
Map ARM

4.3.151 Program_structure

The Program_structure application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Program_structure is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Program_structure
  ABSTRACT SUPERTYPE OF (ONEOF(Workplan, Parallel, Non_sequential, Selective,
     If_statement, While_statement, Assignment))
  SUBTYPE OF (Executable);
END_ENTITY;
Map ARM

4.3.152 Rapid_movement

The Rapid_movement application object shall be as defined by ISO 14649-10. This document adds the information requirement that Rapid_movement shall only be used as a type of Operation and shall not be used as a type of Workingstep.

NOTE The ISO 14649 EXPRESS description for Rapid_movement, as modified by this document, is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Rapid_movement
  SUPERTYPE OF (Return_home)
  -- SUBTYPE OF (Workingstep, Operation);
  SUBTYPE OF (Operation);  -- SIMPLIFIED BY 10303-238
END_ENTITY;
Map ARM

4.3.153 Reaming

The Reaming application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Reaming is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Reaming
  SUBTYPE OF (Boring_operation);
END_ENTITY;
Map ARM

4.3.154 Reaming_cutting_tool

The Reaming_cutting_tool application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Reaming_cutting_tool is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Reaming_cutting_tool
  SUPERTYPE OF (ONEOF (Tapered_reamer, Combined_drill_and_reamer))
  SUBTYPE OF (Milling_machine_cutting_tool);
  taper_length: Length_data_element;
END_ENTITY;
Map ARM

4.3.155 Return_home

The Return_home application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Return_home is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Return_home
  SUBTYPE OF (Rapid_movement);
END_ENTITY;
Map ARM

4.3.156 Rotating_boring_cutting_tool

The Rotating_boring_cutting_tool application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Rotating_boring_cutting_tool is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Rotating_boring_cutting_tool
  SUBTYPE OF (Milling_machine_cutting_tool);
  retract_movement_forbidden: BOOLEAN;
END_ENTITY;
Map ARM

4.3.157 Rounded_corner

The Rounded_corner application object shall be as defined by ISO 14649-121.

NOTE The ISO 14649 EXPRESS description for Rounded_corner is shown below. Refer to ISO 14649-121 for the complete definition and explanation of usage.

ENTITY Rounded_corner;
  corner_radius: Length_data_element;
END_ENTITY;
Map ARM

4.3.158 Selective

The Selective application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Selective is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Selective
  SUBTYPE OF (Program_structure);
  its_elements:   SET[2:?] OF Executable;
END_ENTITY;
Map ARM

4.3.159 Set_mark

The Set_mark application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Set_mark is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Set_mark
  SUBTYPE OF (Nc_function);
END_ENTITY;
Map ARM

4.3.160 Setup

The Setup application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with a Setup are the following:

NOTE The ISO 14649 EXPRESS description for Setup, as adapted by this document, is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Setup;
  its_id:               identifier;
  its_origin:		OPTIONAL Axis_placement_3d;
  its_secplane:         elementary_surface;
  its_workpiece_setup:  LIST [0:?] OF Workpiece_setup;
  its_fixture_usage:    OPTIONAL Fixture_usage; 	-- ADDED BY 10303-238
END_ENTITY;

4.3.160.1 its_fixture_usage

The its_fixture_usage specifies a Fixture_usage which describes the associated fixture for the Setup. See Setup to Fixture_usage for the application assertion.

Map ARM

4.3.161 Setup_instruction

The Setup_instruction application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Setup_instruction is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Setup_instruction;
  description:       OPTIONAL text;
  external_document: OPTIONAL identifier;
WHERE
  WR1: EXISTS (description) OR EXISTS (external_document);
END_ENTITY;
Map ARM

4.3.162 Shouldermill

The Shouldermill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Shouldermill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Shouldermill
  SUBTYPE OF (Milling_cutting_tool);
END_ENTITY;
Map ARM

4.3.163 Side_finish_milling

The Side_finish_milling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Side_finish_milling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Side_finish_milling
  SUBTYPE OF (Side_milling);
END_ENTITY;
Map ARM

4.3.164 Side_mill

The Side_mill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Side_mill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Side_mill
  SUBTYPE OF (Milling_cutting_tool);
  cutter_width: Length_data_element;
END_ENTITY;
Map ARM

4.3.165 Side_milling

The Side_milling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Side_milling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Side_milling
  ABSTRACT SUPERTYPE OF (ONEOF(Side_rough_milling, Side_finish_milling))
  SUBTYPE OF (Two5d_milling_operation);
  axial_cutting_depth:    OPTIONAL Length_data_element;
  radial_cutting_depth:   OPTIONAL Length_data_element;
  allowance_side:         OPTIONAL Length_data_element;
END_ENTITY;
Map ARM

4.3.166 Side_rough_milling

The Side_rough_milling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Side_rough_milling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Side_rough_milling
  SUBTYPE OF (Side_milling);
WHERE
  WR1: EXISTS(SELF.allowance_side) AND (SELF.allowance_side>=0.0);
END_ENTITY;
Map ARM

4.3.167 Spade_drill

The Spade_drill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Spade_drill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Spade_drill
  SUBTYPE OF (Drilling_cutting_tool);
END_ENTITY;
Map ARM

4.3.168 Spotdrill

The Spotdrill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Spotdrill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Spotdrill
  SUBTYPE OF (Drilling_cutting_tool);
END_ENTITY;
Map ARM

4.3.169 Step_drill

The Step_drill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Step_drill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Step_drill
  SUBTYPE OF (Drilling_cutting_tool);
  diameters:   LIST [1:?] of Length_data_element;
  step_length: LIST [1:?] of Length_data_element;
END_ENTITY;
Map ARM

4.3.170 T_slot_mill

The T_slot_mill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for T_slot_mill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY T_slot_mill
  SUBTYPE OF (Milling_cutting_tool);
  cutting_width: Length_data_element;
END_ENTITY;
Map ARM

4.3.171 Tapered_drill

The Tapered_drill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Tapered_drill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Tapered_drill
  SUBTYPE OF (Twist_drill);
  taper_angle: Angle_data_element;
END_ENTITY;
Map ARM

4.3.172 Tapered_reamer

The Tapered_reamer application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Tapered_reamer is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Tapered_reamer
  SUBTYPE OF (Reaming_cutting_tool);
  taper_angle: Angle_data_element;
END_ENTITY;
Map ARM

4.3.173 Tapping

The Tapping application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Tapping is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Tapping
  SUBTYPE OF (Drilling_type_operation);
  compensation_chuck:   BOOLEAN;
END_ENTITY;
Map ARM

4.3.174 Tapping_cutting_tool

The Tapping_cutting_tool application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Tapping_cutting_tool is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Tapping_cutting_tool
  SUPERTYPE OF (Combined_drill_and_tap)
  SUBTYPE OF (Milling_machine_cutting_tool);
  thread_form_type:     STRING;
  thread_size: 		Length_data_element;
  thread_pitch:         REAL;
  taper_thread_count:   REAL;
END_ENTITY;
Map ARM

4.3.175 Technology

The Technology application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Technology is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Technology
  ABSTRACT SUPERTYPE;
  feedrate:		OPTIONAL Velocity_data_element;
  feedrate_reference:   Tool_reference_point;
END_ENTITY;

TYPE Tool_reference_point = ENUMERATION OF (tcp, ccp);
END_TYPE;
Map ARM

4.3.176 Thread_drilling

The Thread_drilling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Thread_drilling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Thread_drilling
  SUBTYPE OF (Drilling_type_operation);
  helical_movement_on_forward:    BOOLEAN;
END_ENTITY;
Map ARM

4.3.177 Thread_mill

The Thread_mill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Thread_mill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Thread_mill
  SUBTYPE OF (Milling_cutting_tool);
  thread_form_type:     STRING;
  thread_size: 		Length_data_element;
  thread_pitch:         REAL;
END_ENTITY;
Map ARM

4.3.178 Thread_strategy

The Thread_strategy application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Thread_strategy is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Thread_strategy
  SUBTYPE OF (Turning_machining_strategy);
  cut_in_amount_function: Thread_cut_depth_type;
  threading_direction: 	  Threading_direction_type;
  path_return_angle: 	  OPTIONAL Angle_data_element;
  lift_height: 		  OPTIONAL Length_data_element;
END_ENTITY;

TYPE Thread_cut_depth_type = ENUMERATION OF (
   constant_depth, variable_depth, constant_removal_amount);
END_TYPE;

TYPE Threading_direction_type = ENUMERATION OF (
    left, right, center, left_zigzag, right_zigzag);
END_TYPE;
Map ARM

4.3.179 Threading

The Threading application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Threading is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Threading
  ABSTRACT SUPERTYPE OF (ONEOF(Threading_rough, Threading_finish))
  SUBTYPE OF (Turning_machining_operation);
  allowance:	OPTIONAL Length_data_element;
END_ENTITY;
Map ARM

4.3.180 Threading_finish

The Threading_finish application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Threading_finish is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Threading_finish
  SUBTYPE OF (Threading);
END_ENTITY;
Map ARM

4.3.181 Threading_rough

The Threading_rough application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Threading_rough is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Threading_rough
  SUBTYPE OF (Threading);
WHERE
  WR1: EXISTS(SELF.allowance) AND (SELF.allowance >= 0.0);
END_ENTITY;
Map ARM

4.3.182 Three_axes

The Three_axes application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Three_axes is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Three_axes
  SUBTYPE OF (Tool_direction);
END_ENTITY;
Map ARM

4.3.183 Three_axes_tilted_tool

The Three_axes_tilted_tool application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Three_axes_tilted_tool is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Three_axes_tilted_tool
  SUBTYPE OF (Tool_direction_for_milling);
  its_tool_direction:   direction;
END_ENTITY;
Map ARM

4.3.184 Tolerances

The Tolerances application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Tolerances is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Tolerances;
  chordal_tolerance: 	Length_data_element;
  scallop_height: 	Length_data_element;
END_ENTITY;
Map ARM

4.3.185 Tool_direction

The Tool_direction application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Tool_direction is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Tool_direction
  ABSTRACT SUPERTYPE OF (ONEOF (Two_axes, Three_axes));
END_ENTITY;
Map ARM

4.3.186 Tool_direction_for_milling

The Tool_direction_for_milling application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Tool_direction_for_milling is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Tool_direction_for_milling
  ABSTRACT SUPERTYPE OF (ONEOF(Three_axes_tilted_tool, Five_axes_var_tilt_yaw,
     Five_axes_const_tilt_yaw))
  SUBTYPE OF (Tool_direction);
END_ENTITY;
Map ARM

4.3.187 Tool_length_probing

The Tool_length_probing application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Tool_length_probing is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Tool_length_probing
  SUBTYPE OF (Tool_probing);
END_ENTITY;
Map ARM

4.3.188 Tool_probing

The Tool_probing application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Tool_probing, as adapted by this document, is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Tool_probing
  ABSTRACT SUPERTYPE OF (ONEOF (Tool_length_probing, Tool_radius_probing))
  SUBTYPE OF (Touch_probing);
  offset: 	cartesian_point;
  max_wear: 	Length_data_element;
  its_tool: 	Machining_tool;
END_ENTITY;
Map ARM

4.3.189 Tool_radius_probing

The Tool_radius_probing application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Tool_radius_probing is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Tool_radius_probing
  SUBTYPE OF (Tool_probing);
END_ENTITY;
Map ARM

4.3.190 Tool_usage

A Tool_usage specifies a physical cutting tool that satisfies tool requirements such as those set forth by an instance of Machining_tool.

NOTE As one goes from higher level process descriptions (features and strategies) to lower level descriptions (explicit toolpaths), the tool requirements associated with an operation become increasingly specific. At some point, it is desirable to call out a specific tool to satisfy the requirements.

The data associated with a Tool_usage are the following:

NOTE The EXPRESS description for the Tool_usage application object is shown below.

ENTITY Tool_usage;
  its_id:         	label;
  its_position:   	OPTIONAL identifier;
  its_carousel:   	OPTIONAL identifier;
  its_product: 		OPTIONAL Product_view_definition;
  its_library_reference: OPTIONAL Externally_defined_representation;
  gage_placement:	OPTIONAL Axis_placement_3d;
  tool_end_placement:	OPTIONAL Axis_placement_3d;
  description:		OPTIONAL text;
END_ENTITY;

4.3.190.1 description

The description specifies text that characterizes the Tool_usage. The description may not be specified for a particular Tool_usage.

4.3.190.2 gage_placement

The gage_placement specifies the location on the its_product tool model where the tool is mounted on a machine. The gage_placement may not be specified for a particular Tool_usage. If the gage_placement is not specified, the location shall be on the tool axis given by the tool_end_placement at the distance from the origin given by the overall assembly length of the referencing Machining_tool.

The its_carousel specifies a machine tool turret, magazine, or carousel. The its_carousel may not be specified for a particular Tool_usage.

4.3.190.4 its_id

The its_id specifies a word or group of words which identify the Tool_usage.

4.3.190.5 its_library_reference

The its_library_reference specifies an Externally_defined_representation object that identifies the tool whose associated product information is provided within an external specification or document. The its_library_reference may not be specified for a particular Tool_usage. See Tool_usage to Externally_defined_representation for the application assertion.

EXAMPLE ISO 13399 is one such external specification which describes various data about cutting tools and cutting tool assemblies, including reference dictionaries that describe tool properties.

4.3.190.6 its_position

The its_position specifies a location within a machine tool turret, magazine, or carousel. The its_position may not be specified for a particular Tool_usage.

4.3.190.7 its_product

The its_product specifies a Product_view_definition object that describes the physical shape and associated product information of the tool. The its_product may not be specified for a particular Tool_usage. See Tool_usage to Product_view_definition for the application assertion.

4.3.190.8 tool_end_placement

The tool_end_placement specifies the location on the its_product tool model of the tool end point. The axis parameter of the tool_end_placement indicates the tool axis. The tool_end_placement may not be specified for a particular Tool_usage. If the tool_end_placement is not specified, the location shall be the origin of the its_product tool model.

Map ARM

4.3.191 Toolpath

The Toolpath application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with a Toolpath are the following:

NOTE The ISO 14649 EXPRESS description for Toolpath, as adapted by this document, is shown below. Refer to ISO 14649-10 for the original definition and explanation of usage.

ENTITY Toolpath
  ABSTRACT SUPERTYPE OF (ONEOF(Feedstop, Trajectory, Parameterised_path));
  its_priority:                 BOOLEAN;
  its_type:                     Toolpath_type;
  its_speed:                    OPTIONAL Toolpath_speedprofile;
  its_technology:               OPTIONAL Technology;
  its_machine_functions:        OPTIONAL Machine_functions;
  its_id:                       identifier;  -- ADDED BY 10303-238
END_ENTITY;

TYPE Toolpath_type = ENUMERATION OF (
   approach, lift, connect, non_contact, contact, trajectory_path);
END_TYPE;

TYPE Toolpath_speedprofile = SELECT (
   Toolpath_speed, Positive_ratio_measure, Speed_name);
END_TYPE;

TYPE Speed_name = ENUMERATION OF(RAPID);
END_TYPE;

4.3.191.1 its_id

The its_id specifies the string identifier of the Toolpath. The its_id may not be specified for a particular Toolpath.

Map ARM

4.3.192 Toolpath_list

The Toolpath_list application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Toolpath_list is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Toolpath_list;
  its_list: LIST [1:?] OF Toolpath;
END_ENTITY;
Map ARM

4.3.193 Toolpath_speed

The Toolpath_speed application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with a Toolpath_speed are the following:

NOTE The ISO 14649 EXPRESS description for Toolpath_speed, as adapted by this document, is shown below. Refer to ISO 14649-10 for the original definition and explanation of usage.

ENTITY Toolpath_speed;
  speed:        bounded_curve; -- RELAXED BY 10303-238
WHERE
  WR1: speed\geometric_representation_item.dim = 1;
END_ENTITY;

4.3.193.1 speed

The speed parameter shall be as defined by ISO 14649-10 to be of type b_spline_curve, but this document relaxes this requirement so that the speed shall be of the more general type bounded_curve. All constraints on the parameterisation of the curve defined by ISO 14649-10 shall remain in effect. See Matching curve parameterization for additional discussion on the curve parameterization requirements.

NOTE This relaxation allows the use of simpler polyline speed curves already present in sources such as existing APT/CL data without forcing reparameterisation of the data into a more complicated B-spline curve. Because the parameterisation contstraints remain in effect, the speed curve for a polyline basiccurve would be a polyline with the same distribution of points.

Map ARM

4.3.194 Touch_probe

A Touch_probe is a type of Machining_tool that meets the information requirements defined for Touch_probe by ISO 14649-10. This document adds the following information requirements.

The data associated with a Touch_probe are the following:

NOTE This document modifies the definition of Touch_probe in ISO 14649-10 to be a type of Machining_tool so that Tool_usage information can be associated with it. The EXPRESS description for Touch_probe, as adapted by this document, is shown below.

ENTITY Touch_probe;
  SUBTYPE OF (Machining_tool); -- ADDED BY 10303-238
  -- its_id: identifier;    -- now inherited from machining_tool
  ball_radius:              OPTIONAL Length_data_element;   -- ADDED BY 10303-238
  overall_assembly_length:  Length_data_element;            -- ADDED BY 10303-238
  stylus_diameter:          OPTIONAL Length_data_element;   -- ADDED BY 10303-238
END_ENTITY;

4.3.194.1 ball_radius

The ball_radius specifies the radius of the ball at the tip of the probe. The ball_radius may not be specified for a particular Touch_probe.

4.3.194.2 overall_assembly_length

The overall_assembly_length specifies the length of the probe tool assembly measured from the gage plane to the center of the ball, if any, at the tip of the probe.

4.3.194.3 stylus_diameter

The stylus_diameter specifies the diameter of the probe shaft. The stylus_diameter may not be specified for a particular Touch_probe.

Map ARM

4.3.195 Touch_probing

The Touch_probing application object shall be as defined by ISO 14649-10. This document adds the information requirement that Touch_probing shall only be used as a type of Operation and shall not be used as a type of Workingstep.

NOTE The ISO 14649 EXPRESS description for Touch_probing, as modified by this document, is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Touch_probing
  ABSTRACT SUPERTYPE OF (ONEOF (Workpiece_probing,
  	   Workpiece_complete_probing, Tool_probing, Feature_complete_probing))
  -- SUBTYPE OF (Workingstep, Operation);
  SUBTYPE OF (Operation);  -- SIMPLIFIED BY 10303-238
  measured_offset: Nc_variable;
END_ENTITY;
Map ARM

4.3.196 Trajectory

The Trajectory application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with a Trajectory are the following:

NOTE The ISO 14649 EXPRESS description for Trajectory, as adapted by this document, is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Trajectory
  ABSTRACT SUPERTYPE OF (ONEOF(Cutter_location_trajectory, Cutter_contact_trajectory,
     Axis_trajectory))
  SUBTYPE OF (Toolpath);
  its_direction:     OPTIONAL BOOLEAN;
  its_material_removal_depth:   OPTIONAL Material_removal_measure; -- ADDED BY 10303-238
  its_material_removal_overcut: OPTIONAL Material_removal_measure; -- ADDED BY 10303-238
  its_material_removal_total_volume: OPTIONAL Volume_measure;      -- ADDED BY 10303-238
  cross_section_area_parameters: OPTIONAL bounded_curve;           -- ADDED BY 10303-238
END_ENTITY;

TYPE Material_removal_curve = bounded_curve; END_TYPE;
TYPE Material_removal_measure = SELECT (
  Length_data_element,
  Material_removal_curve
);
END_TYPE; 

4.3.196.1 its_material_removal_depth

The its_material_removal_depth specifies the length of material removed at each point of the Trajectory as measured along the axis of the cutting tool. This can be specified as a either a constant depth or as a one-dimensional curve specifying the depth at each point along the toolpath. The curve shall obey the same parameterization constraints as the "its_speed" data associated with a Toolpath. The its_material_removal_depth may not be specified for a particular Trajectory.

NOTE Machining strategies have cutting depth fields used as input to the toolpath generation process. The its_material_removal_depth and its_material_removal_overcut fields can describe how much material will be actually removed by each of the generated toolpaths so that adaptive controls can adjust feed and speed.

4.3.196.2 its_material_removal_overcut

The its_material_removal_overcut specifies the length of material removed at each point of the Trajectory as measured perpendicular to the axis of the cutting tool. This can be specified as a either a constant overcut or as a one-dimensional curve specifying the overcut at each point along the toolpath. The curve shall obey the same parameterization constraints as the "its_speed" data associated with a Toolpath. The its_material_removal_overcut may not be specified for a particular Trajectory.

4.3.196.3 its_material_removal_total_volume

The its_material_removal_total_volume specifies the total volume of material removed by the Trajectory. The its_material_removal_total_volume may not be specified for a particular Trajectory.

4.3.196.4 cross_section_area_parameters

The cross_section_area_parameters specifies the area of material removed at each point of the Trajectory as measured perpendicular to the axis of the cutting tool. This is specified as a seven-dimensional curve specifying the cross section at each point along the toolpath. The curve shall obey the same parameterization constraints as the "its_speed" data associated with a Toolpath. The cross_section_area_parameters may not be specified for a particular Trajectory.

Each point in the seven-dimensional curve shall describe the cross-section area parameters illustrated in Figure 2 and Figure 3. These parameters are as follows:

Cross-section parameters for milling
Key

Shown with feed in the YZ plane towards -Z.

1 ADmax, maximim axial depth

2 RDmax, maximim radial depth

3 Ymaxofs

4 Xmaxofs

5 profile origin

6 tool contact cross-section

7 CSA cross-section area

8 YCGofs

9 XCGofs

10 center of gravity

Figure 2 — Cross-section parameters for milling
Cross-section parameters for turning
Key

Shown with feed in the XY plane.

1 ADmax, maximim axial depth

2 RDmax, maximim radial depth

3 Ymaxofs

4 Xmaxofs

5 profile origin

6 tool contact cross-section

7 CSA cross-section area

8 YCGofs

9 XCGofs

10 center of gravity

Figure 3 — Cross-section parameters for turning
Map ARM

4.3.197 Turning_machine_cutting_tool

The Turning_machine_cutting_tool application object shall be as defined by ISO 14649-121.

NOTE The ISO 14649 EXPRESS description for Turning_machine_cutting_tool is shown below. Refer to ISO 14649-121 for the complete definition and explanation of usage.

ENTITY Turning_machine_cutting_tool
  SUBTYPE OF (Machining_tool);
  functional_length:		Length_data_element;
  f_dimension:			Length_data_element;
  minimum_cutting_diameter: 	OPTIONAL Length_data_element;
  a_dimension_on_f: 		OPTIONAL Length_data_element;
  a_dimension_on_lf: 		OPTIONAL Length_data_element;
  cutting_edge: 		Cutting_edge_properties;
  hand_of_tool: 		OPTIONAL Hand_of_tool_type;
END_ENTITY;

TYPE Hand_of_tool_type = ENUMERATION OF (left,right,neutral);
END_TYPE;
Map ARM

4.3.198 Turning_machine_functions

The Turning_machine_functions application object shall be as defined by ISO 14649-12. This document adds the following information requirements.

The data associated with a Turning_machine_functions are the following:

NOTE The ISO 14649 EXPRESS description for Turning_machine_functions, as adapted by this document, is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Turning_machine_functions
  SUBTYPE OF (Machine_functions);
  coolant:		BOOLEAN;
  coolant_type: 	OPTIONAL Coolant_select;
  coolant_pressure: 	OPTIONAL Pressure_data_element;
  axis_clamping: 	LIST [0:?] OF identifier;
  chip_removal: 	OPTIONAL BOOLEAN;
  oriented_spindle_stop: OPTIONAL direction;
  its_process_model:	OPTIONAL Process_model_list;
  -- 10303-238: other_functions moved to supertype for consistent
  --   handling across technologies
  -- other_functions:   SET [0:?] OF Representation_item;
  tail_stock: 		OPTIONAL BOOLEAN;
  steady_rest: 		OPTIONAL BOOLEAN;
  follow_rest: 		OPTIONAL BOOLEAN;
END_ENTITY;

TYPE Coolant_select = ENUMERATION OF (flood, mist, through_tool);
END_TYPE;

4.3.198.1 other_functions

The other_functions parameter defined by ISO 14649-12 shall be replaced by the other_functions parameter defined by the Machine_functions application object.

Map ARM

4.3.199 Turning_machining_operation

The Turning_machining_operation application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Turning_machining_operation is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Turning_machining_operation
  ABSTRACT SUPERTYPE OF (ONEOF(Facing, Grooving, Contouring, Threading, Knurling))
  SUBTYPE OF (Machining_operation);
  approach:                     OPTIONAL Approach_retract_strategy;
  retract:                      OPTIONAL Approach_retract_strategy;
  its_machining_strategy:       OPTIONAL Turning_machining_strategy;
END_ENTITY;
Map ARM

4.3.200 Turning_machining_strategy

The Turning_machining_strategy application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Turning_machining_strategy is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Turning_machining_strategy
  ABSTRACT SUPERTYPE OF (ONEOF (Unidirectional_turning, Bidirectional_turning,
     Thread_strategy, Contour_turning, Grooving_strategy, Explicit_turning_strategy));
  overcut_length:		OPTIONAL Length_data_element;
  allow_multiple_passes: 	OPTIONAL BOOLEAN;
  cutting_depth: 		LIST[0:?] OF Length_data_element;
  variable_feedrate: 		OPTIONAL Ratio_data_element;
END_ENTITY;
Map ARM

4.3.201 Turning_technology

The Turning_technology application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Turning_technology is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Turning_technology
  SUBTYPE OF (Technology);
  spindle_speed:                Speed_select;
  feed_per_revolution:      	OPTIONAL Feed_per_rev_type;
  sync_spindle_and_z_feed:      BOOLEAN;
  inhibit_feedrate_override:    BOOLEAN;
  inhibit_spindle_override:     BOOLEAN;
  its_adaptive_control:         OPTIONAL Adaptive_control;
WHERE
  WR1: (EXISTS(SELF.feedrate) AND 
        NOT EXISTS(SELF.feed_per_revolution)) OR 
        (NOT EXISTS(SELF.feedrate) AND EXISTS(SELF.feed_per_revolution));
END_ENTITY;

TYPE Speed_select = SELECT (Const_spindle_speed, Const_cutting_speed);
END_TYPE;
Map ARM

4.3.202 Turning_threading_tool

The Turning_threading_tool application object shall be as defined by ISO 14649-121.

NOTE The ISO 14649 EXPRESS description for Turning_threading_tool is shown below. Refer to ISO 14649-121 for the complete definition and explanation of usage.

ENTITY Turning_threading_tool
  SUBTYPE OF (Turning_machine_cutting_tool);
  threading_pitch:	Length_data_element;
  thread_hand:		Thread_hand_type;
  its_thread_type:	Thread_type;
  thread_profile:	Thread_profile_type;
  thread_form_type:	STRING;
END_ENTITY;

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

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

TYPE Thread_profile_type = ENUMERATION OF (full_profile, partial_profile);
END_TYPE;
Map ARM

4.3.203 Turning_workingstep

The Turning_workingstep application object shall be as defined by ISO 14649-12. This document adds the following information requirements.

The data associated with a Turning_workingstep are the following:

NOTE The ISO 14649 EXPRESS description for Turning_workingstep, as adapted by this document, is shown below. Refer to ISO 14649-12 for the original definition and explanation of usage.

ENTITY Turning_workingstep
  SUBTYPE OF (Workingstep);
  its_features:	LIST [2:?] OF Manufacturing_feature;

  -- 10303-238: its_operation now inherited from Workingstep
  -- its_operation:        Turning_machining_operation;

  -- 10303-238: as_is, to_be, and removal now inherited from Executable
  -- its_effect:       OPTIONAL in_process_geometry;

WHERE
  WR1: 'AP238_ARM_SCHEMA.TURNING_MACHINING_OPERATION' IN
	TYPEOF(SELF\Workingstep.its_operation);
END_ENTITY;

4.3.203.1 its_effect

The its_effect parameter defined by ISO 14649-12 shall be replaced by the set of as-is, to-be, and removal parameters inherited from the Executable application object.

4.3.203.2 its_operation

The its_operation parameter defined by ISO 14649-12 shall be replaced by the its_operation parameter inherited from the Workingstep application object.

Map ARM

4.3.204 Twist_drill

The Twist_drill application object shall be as defined by ISO 14649-111.

NOTE The ISO 14649 EXPRESS description for Twist_drill is shown below. Refer to ISO 14649-111 for the complete definition and explanation of usage.

ENTITY Twist_drill
  SUPERTYPE OF (Tapered_drill)
  SUBTYPE OF (Drilling_cutting_tool);
END_ENTITY;
Map ARM

4.3.205 Two_axes

The Two_axes application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Two_axes is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Two_axes
  SUBTYPE OF (Tool_direction);
END_ENTITY;
Map ARM

4.3.206 Two5d_milling_operation

The Two5d_milling_operation application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Two5d_milling_operation is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Two5d_milling_operation
  ABSTRACT SUPERTYPE OF (ONEOF(Plane_milling, Side_milling, Bottom_and_side_milling))
  SUBTYPE OF (Milling_type_operation);
  its_machining_strategy: OPTIONAL Two5d_milling_strategy;
END_ENTITY;
Map ARM

4.3.207 Two5d_milling_strategy

The Two5d_milling_strategy application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Two5d_milling_strategy is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Two5d_milling_strategy
  ABSTRACT SUPERTYPE OF (ONEOF (Unidirectional, Bidirectional, Contour_parallel,
    Bidirectional_contour, Contour_bidirectional, Contour_spiral, Center_milling,
    Explicit_strategy));
  overlap:                OPTIONAL Ratio_data_element;
  allow_multiple_passes:  OPTIONAL BOOLEAN;
END_ENTITY;
Map ARM

4.3.208 Unidirectional

The Unidirectional application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Unidirectional is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Unidirectional
  SUBTYPE OF (Two5d_milling_strategy);
  feed_direction:       OPTIONAL direction;
  cutmode:              OPTIONAL Cutmode_type;
END_ENTITY;
Map ARM

4.3.209 Unidirectional_turning

The Unidirectional_turning application object shall be as defined by ISO 14649-12.

NOTE The ISO 14649 EXPRESS description for Unidirectional_turning is shown below. Refer to ISO 14649-12 for the complete definition and explanation of usage.

ENTITY Unidirectional_turning
  SUBTYPE OF (Turning_machining_strategy);
  feed_direction:	OPTIONAL direction;
  back_path_direction:  OPTIONAL direction;
  lift_direction: 	OPTIONAL direction;
  stepover_direction: 	OPTIONAL direction;
  lift_height: 		OPTIONAL Length_data_element;
  lift_feed: 		OPTIONAL Feed_select;
  stepover_feed: 	OPTIONAL Feed_select;
END_ENTITY;
Map ARM

4.3.210 Unload_tool

The Unload_tool application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Unload_tool is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Unload_tool
  SUBTYPE OF (Nc_function);
  its_tool:     OPTIONAL Machining_tool;
END_ENTITY;
Map ARM

4.3.211 User_defined_milling_tool

A User_defined_milling_tool is a type of Milling_machine_cutting_tool whose characteristics are either not known or lie outside of the set of milling tools described by ISO 14649-111.

User_defined_milling_tool parameters
Key

1 corner_radius_center_horizontal

2 corner_radius

3 corner_radius_center_vertical

4 effective_cutting_diameter

5 tool tip

6 tip_outer_angle

7 taper_angle

8 tool axis

Figure 4 — User_defined_milling_tool parameters

NOTE 1 ISO 14649-121 provides the User_defined_turning_tool definition for equivalent use in turning applications. The tool dimension parameters described below are derived from the APT CUTTER definition and were present in earlier versions of ISO 14649-111.

The data associated with a User_defined_milling_tool are the following:

NOTE 2 The EXPRESS description for the User_defined_milling_tool application object is shown below.

ENTITY User_defined_milling_tool
  SUBTYPE OF (Milling_machine_cutting_tool);
  corner_radius:			OPTIONAL Length_data_element;
  corner_radius_center_horizontal:	OPTIONAL Length_data_element;
  corner_radius_center_vertical:	OPTIONAL Length_data_element;
  description:   			OPTIONAL text;
  taper_angle:				OPTIONAL Angle_data_element;
  tip_outer_angle:			OPTIONAL Angle_data_element;
END_ENTITY;

4.3.211.1 corner_radius

The corner_radius specifies the radius of the corner circle which describes the transition between the upper and lower line segments of the tool profile as shown in Figure 4.

4.3.211.2 corner_radius_center_horizontal

The corner_radius_center_horizontal specifies the radial distance from the tool axis to the centre of the corner circle. If positive, the corner circle and its centre are on the same side of the tool axis. If negative, the corner circle and its centre are on opposite sides of the tool axis.

4.3.211.3 corner_radius_center_vertical

The corner_radius_center_vertical specifies the distance from the tool endpoint to the centre of the corner circle measured parallel with the tool axis.

4.3.211.4 description

The description specifies a word or group of words which characterize the tool.

4.3.211.5 taper_angle

The taper_angle specifies the angle between the upper line segment of the tool and the tool axis as shown in Figure 4.

NOTE This angle will be positive when the tool diameter increases when moving from tip to spindle. The angle will be negative when the tool diameter decreases when moving from tip to spindle.

4.3.211.6 tip_outer_angle

The tip_outer_angle specifies the angle between a radial line through the tool endpoint and the lower line segment of the tool as shown in Figure 4.

NOTE This angle is always acute (less than 90 degrees)

Map ARM

4.3.212 User_defined_turning_tool

The User_defined_turning_tool application object shall be as defined by ISO 14649-121.

NOTE The ISO 14649 EXPRESS description for User_defined_turning_tool is shown below. Refer to ISO 14649-121 for the complete definition and explanation of usage.

ENTITY User_defined_turning_tool
  SUBTYPE OF (Turning_machine_cutting_tool);
  identifier: label;
END_ENTITY;
Map ARM

4.3.213 Uv_strategy

The Uv_strategy application object shall be as defined by ISO 14649-11.

NOTE The ISO 14649 EXPRESS description for Uv_strategy is shown below. Refer to ISO 14649-11 for the complete definition and explanation of usage.

ENTITY Uv_strategy
  SUBTYPE OF (Freeform_strategy);
  forward_direction:      direction;
  sideward_direction:     direction;
END_ENTITY;
Map ARM

4.3.214 Wait_for_mark

The Wait_for_mark application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for Wait_for_mark is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Wait_for_mark
  SUBTYPE OF (Nc_function);
  its_channel:  Channel;
END_ENTITY;
Map ARM

4.3.215 While_statement

The While_statement application object shall be as defined by ISO 14649-10.

NOTE The ISO 14649 EXPRESS description for While_statement is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY While_statement
  SUBTYPE OF (Program_structure);
  condition: Boolean_expression;
  body:      Executable;
END_ENTITY;
Map ARM

4.3.216 Workingstep

The Workingstep application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with a Workpiece are the following:

NOTE The ISO 14649 EXPRESS description for Workingstep, as modified by this document, is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Workingstep
  ABSTRACT SUPERTYPE
  SUBTYPE OF (Executable);
  its_secplane :              elementary_surface;

  final_features:       OPTIONAL SET [0:?] OF Manufacturing_feature;  -- ADDED BY 10303-238

  -- 10303-238: consolidate its_operation into supertype for
  --   consistent handling across technologies
  its_operation: 	Operation;

  toolpath_orientation: OPTIONAL Axis_placement_3d; -- ADDED BY 10303-238
END_ENTITY;

4.3.216.1 final_features

The final_features specifies a set of zero or more Manufacturing_feature objects visible on the final form of the workpiece that the workingstep contributes to. If a workingstep calls out a process-specific feature consumed or obscured by further activities in a process, final_features can be used for traceability to features on the final form of the workpiece. It is not required that final_features be specified for a particular Workingstep. See Workingstep to Manufacturing_feature (as final_features) for the application assertion. See Features describing process or final form for additional discussion on the use of this attribute.

NOTE Consider the flow of data through the design and manufacture of a part. The features on the final part are usually the input to process planning, possibly described as an ISO 10303-224 data set. The output of macro process-planning, possibly described as an ISO 10303-240 data set, will include these features as well as intermediate features related to a particular process. This document describes the micro process-plan and is concerned with the features associated with a particular process, but having the ability to associate a process step with the ultimate feature on the final part allows us to preserve information flowing down from the larger process-plan. This will be of benefit to related downstream tasks, such as inspection, which could use the tracability to pinpoint critical areas of interest in the micro and macro process-plans.

EXAMPLE A workingstep drills a hole which is later used as the entry point for a pocketing operation. The hole is consumed by pocketing operation and not visible on the final form of the workpiece. The final_features of the drilling workingstep can reference the pocket to indicate participation in the creation of that feature.

4.3.216.2 its_operation

The its_operation specifies an Operation object that describes the action performed by the Workingstep. See Workingstep to Operation for the application assertion.

NOTE The ISO 14649 model originally defined separate its_operation parameters on the Workingstep subtypes. These have been brought into the supertype for conceptual consistency as the defining characteristic of a workingstep.

4.3.216.3 toolpath_orientation

The toolpath_orientation specifies the placement of the set of toolpaths given by the its_operation its_toolpath parameter. The toolpath_orientation may not be specified for a particular Workingstep. If the toolpath_orientation is not specified, the toolpaths shall assume an origin of (0,0,0) and axis directions X=(1,0,0) Y=(0,1,0) and Z=(0,0,1).

NOTE To reuse the toolpaths of an operation in a different location, ISO 14649 uses the origin from different features associated with the operation through a workingstep. This technique is not practical in this document because of feature harmonization constraints, since features often come from design and planning with origins that were convenient for the designer.

Map ARM

4.3.217 Workpiece

The Workpiece application object is a type of Product_view_definition that meets the information requirements defined for Workpiece by ISO 14649-10. This document adds the following information requirements.

The data associated with a Workpiece are the following:

NOTE The ISO 14649 EXPRESS description for Workpiece, as adapted by this document, is shown below. Refer to ISO 14649-10 for the original definition and explanation of usage.

-- 10303-238: changed to ARM subtype of product_view_definition for
--   integration, mappings unchanged.

ENTITY Workpiece
  SUBTYPE OF (Product_view_definition);
  -- 10303-238: id now provided by inherited product_view_definition.id
  -- its_id:          identifier;  

  -- 10303-238: its_material now defined as inverse described below
  -- its_material:            OPTIONAL material;
  
  global_tolerance:        OPTIONAL Length_data_element;
  its_rawpiece:            OPTIONAL Workpiece;

  -- 10303-238: its_geometry provided by product_view_definition
  -- primary_shape_representation, this relaxes the original advanced
  -- brep value to more general shape representation.
  -- its_geometry: OPTIONAL advanced_brep_shape_representation;

  its_bounding_geometry:   OPTIONAL bounding_geometry_select;
  clamping_positions:       SET [0:?] OF cartesian_point;

  -- 10303-238: added to document available PDM information
  its_approvals:          SET [0:?] OF Approval;
  its_categories:         SET [0:?] OF STRING;

  -- 10303-238: its_components now defined as inverse described below
  -- its_components:         SET [0:?] OF Workpiece_assembly_component;

  its_datestamps:         SET [0:?] OF Date_or_date_time_assignment;
  its_orgs:               SET [0:?] OF Organization_or_person_in_organization_assignment;
  its_people:             SET [0:?] OF Organization_or_person_in_organization_assignment;
  its_related_geometry:   SET [0:?] OF Geometric_model;
  its_timestamps:         SET [0:?] OF Date_or_date_time_assignment;

  product_approvals:      SET [0:?] OF Approval;
  product_datestamps:     SET [0:?] OF Date_or_date_time_assignment;
  product_orgs:           SET [0:?] OF Organization_or_person_in_organization_assignment;
  product_people:         SET [0:?] OF Organization_or_person_in_organization_assignment;
  product_timestamps:     SET [0:?] OF Date_or_date_time_assignment;

  revision_approvals:     SET [0:?] OF Approval;
  revision_datestamps:    SET [0:?] OF Date_or_date_time_assignment;
  revision_id:            OPTIONAL identifier;
  revision_orgs:          SET [0:?] OF Organization_or_person_in_organization_assignment;
  revision_people:        SET [0:?] OF Organization_or_person_in_organization_assignment;
  revision_timestamps:    SET [0:?] OF Date_or_date_time_assignment;

INVERSE
  -- 10303-238: changed type to material_identification for ARM
  --   integration.  Changed to inverse attribute to accommodate
  --   definition of Material_identification.  The integrated
  --   representation is unchanged.
  its_material: SET[0:1] OF Material_identification FOR items;

  -- 10303-238: E1 added an explicit attribute with a set of
  --   workpiece_assembly_component ARM objects but E2 changed to
  --   inverse over Next_assembly_usage for integration.  The
  --   integrated representation is unchanged.
  its_components:  SET [0:?] OF Next_assembly_usage for relating_view;
END_ENTITY;

TYPE bounding_geometry_select = SELECT (
	Rectangular_block,
	Circular_cylinder,
 	advanced_brep_shape_representation,
	edge_based_wireframe_shape_representation,	-- ADDED BY 10303-238
	faceted_brep_shape_representation,		-- ADDED BY 10303-238
	geometrically_bounded_surface_shape_representation, -- ADDED BY 10303-238
	geometrically_bounded_wireframe_shape_representation, -- ADDED BY 10303-238
	manifold_surface_shape_representation,		-- ADDED BY 10303-238
	Non_manifold_shape_representation,	-- ADDED BY 10303-238
	shell_based_wireframe_shape_representation	-- ADDED BY 10303-238
);
END_TYPE;

4.3.217.1 its_id

The its_id parameter defined by ISO 14649-10 shall be given by the id parameter of the of_product parameter of the defined_version parameter inherited from Product_view_definition.

NOTE The integrated representation of this information is unchanged from previous edition of this document.

4.3.217.2 its_material

The its_material parameter defined by ISO 14649-10 shall be represented by the set of Material_identification application objects with an items parameter that contains the Workpiece.

NOTE The integrated representation of this information is unchanged from previous edition of this document.

4.3.217.3 its_geometry

The its_geometry parameter defined by ISO 14649-10 shall be given by the inherited primary_shape_representation parameter defined by Product_view_definition. ISO 14649-10 defines this parameter to be of type advanced_brep_shape_representation, but this document relaxes the type requirement to allow any Geometric_model.

NOTE 1 The integrated representation of this information is unchanged from previous edition of this document.

NOTE 2 This relaxation allows the use of shape representation types supported by other APs. In particular, the integrated representation allows the use of shapes described by AIC 501 (edge-based wireframe), AIC 502 (shell-based wireframe), AIC 507 (geometrically-bounded surfaces), AIC 508 (non-manifold surfaces), AIC 509 (manifold surfaces), AIC 510 (geometrically-bounded wireframe), and AIC 512 (faceted brep), as well as the original AIC 514 (advanced brep) descriptions.

4.3.217.4 its_bounding_geometry

The its_bounding_geometry parameter shall be as defined by ISO 14649-10 to be of type block, right_circular_cylinder, or advanced_brep_shape_representation, but this document relaxes this requirement so that its_bounding_geometry can also be an edge-based wireframe shape, faceted brep shape, geometrically-bounded surface shape, geometrically-bounded wireframe shape, manifold surface shape, non-manifold surface shape, or shell-based wireframe shape.

NOTE This relaxation allows the use of shape representation types supported by other APs. In particular, the integrated representation allows the use of shapes described by AIC 501 (edge-based wireframe), AIC 502 (shell-based wireframe), AIC 507 (geometrically-bounded surfaces), AIC 508 (non-manifold surfaces), AIC 509 (manifold surfaces), AIC 510 (geometrically-bounded wireframe), and AIC 512 (faceted brep), as well as the original AIC 514 (advanced brep) descriptions.

4.3.217.5 its_approvals

The its_approvals specifies the set of Approval objects that define the approval status of the manufacturing description of the revision given by the revision_id of the Workpiece. The its_approvals may not be specified for a particular Workpiece. See Workpiece to Approval (as its_approvals) for the application assertion.

4.3.217.6 its_categories

The its_categories specifies the set of names that identify categories that apply to the Workpiece. The its_categories may not be specified for a particular Workpiece. Where applicable, the following values shall be used:

NOTE A Workpiece object categorized as a tool can describe a specific tool chosen to fullfill the tool requirements called out by a Machining_tool application object

4.3.217.7 its_components

The its_components parameter defined by this document is represented by the set of Next_assembly_usage application objects with a relating_view parameter that contains the Workpiece.

NOTE The integrated representation of this information is unchanged from previous edition of this document.

4.3.217.8 its_datestamps

The its_datestamps specifies the set of Date_or_date_time_assignment objects that define dates and associated roles that apply to the manufacturing description of the revision given by the revision_id of the Workpiece. The its_datestamps may not be specified for a particular Workpiece. See Workpiece to Date_or_date_time_assignment (as its_datestamps) for the application assertion.

4.3.217.9 its_orgs

The its_orgs specifies the set of Organization_or_person_in_organization_assignment objects that define organizations and associated roles that apply to the manufacturing description of the revision given by the revision_id of the Workpiece. The its_orgs may not be specified for a particular Workpiece. See Workpiece to Organization_or_person_in_organization_assignment (as its_orgs) for the application assertion.

4.3.217.10 its_people

The its_people specifies the set of Organization_or_person_in_organization_assignment objects that define people and associated roles that apply to the manufacturing description of the revision given by the revision_id of the Workpiece. The its_people may not be specified for a particular Workpiece. See Workpiece to Organization_or_person_in_organization_assignment (as its_people) for the application assertion.

The its_related_geometry specifies the set of zero or more shape representations associated with the its_geometry shape representation to form the entire shape of the workpiece.

NOTE This parameter has been added for harmonization with ISO 10303-203 and ISO 10303-214 shape description of a part composed of shape constructs of multiple types of shape_representation. The most common usage is to specify the advanced brep shape of a workpiece as its_related_geometry while the its_geometry simply contains an axis2_placement_3d.

4.3.217.12 its_timestamps

The its_timestamps specifies the set of Date_or_date_time_assignment objects that define dates with times and associated roles that apply to the manufacturing description of the revision given by the revision_id of the Workpiece. The its_timestamps may not be specified for a particular Workpiece. See Workpiece to Date_or_date_time_assignment (as its_timestamps) for the application assertion.

4.3.217.13 product_approvals

The product_approvals specifies the set of Approval objects that define approval status across all revisions of the Workpiece. The product_approvals may not be specified for a particular Workpiece. See Workpiece to Approval (as product_approvals) for the application assertion.

4.3.217.14 product_datestamps

The product_datestamps specifies the set of Date_or_date_time_assignment objects that define dates and associated roles that apply across all revisions of the Workpiece. The product_datestamps may not be specified for a particular Workpiece. See Workpiece to Date_or_date_time_assignment (as product_datestamps) for the application assertion.

4.3.217.15 product_orgs

The product_orgs specifies the set of Organization_or_person_in_organization_assignment objects that define organizations and associated roles that apply across all revisions of the Workpiece. The product_orgs may not be specified for a particular Workpiece. See Workpiece to Organization_or_person_in_organization_assignment (as product_orgs) for the application assertion.

4.3.217.16 product_people

The product_people specifies the set of Organization_or_person_in_organization_assignment objects that define people and associated roles that apply across all revisions of the Workpiece. The product_people may not be specified for a particular Workpiece. See Workpiece to Organization_or_person_in_organization_assignment (as product_people) for the application assertion.

4.3.217.17 product_timestamps

The product_timestamps specifies the set of Date_or_date_time_assignment objects that define dates with times and associated roles that apply across all revisions of the Workpiece. The product_timestamps may not be specified for a particular Workpiece. See Workpiece to Date_or_date_time_assignment (as product_timestamps) for the application assertion.

4.3.217.18 revision_approvals

The revision_approvals specifies the set of Approval objects that define the approval status of the revision given by the revision_id of the Workpiece. The revision_approvals may not be specified for a particular Workpiece. See Workpiece to Approval (as revision_approvals) for the application assertion.

4.3.217.19 revision_datestamps

The revision_datestamps specifies the set of Date_or_date_time_assignment objects that define dates and associated roles that apply to the revision given by the revision_id of the Workpiece. The revision_datestamps may not be specified for a particular Workpiece. See Workpiece to Date_or_date_time_assignment (as revision_datestamps) for the application assertion.

4.3.217.20 revision_id

The revision_id identifies the revision of the Workpiece. The revision_id may not be specified for a particular Workpiece.

4.3.217.21 revision_orgs

The revision_orgs specifies the set of Organization_or_person_in_organization_assignment objects that define organizations and associated roles that apply to the revision given by the revision_id of the Workpiece. The revision_orgs may not be specified for a particular Workpiece. See Workpiece to Organization_or_person_in_organization_assignment (as revision_orgs) for the application assertion.

4.3.217.22 revision_people

The revision_people specifies the set of Organization_or_person_in_organization_assignment objects that define people and associated roles that apply to the revision given by the revision_id of the Workpiece. The revision_people may not be specified for a particular Workpiece. See Workpiece to Organization_or_person_in_organization_assignment (as revision_people) for the application assertion.

4.3.217.23 revision_timestamps

The revision_timestamps specifies the set of Date_or_date_time_assignment objects that define dates with times and associated roles that apply to the revision given by the revision_id of the Workpiece. The revision_timestamps may not be specified for a particular Workpiece. See Workpiece to Date_or_date_time_assignment (as revision_timestamps) for the application assertion.

Map ARM

4.3.218 Workpiece_complete_probing

The Workpiece_complete_probing application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with a Workpiece_complete_probing are the following:

NOTE The ISO 14649 EXPRESS description for Workpiece_complete_probing, as adapted by this document, is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Workpiece_complete_probing
  SUBTYPE OF (Touch_probing);
  -- 10303-238: relax to Product_view_definition for integration
  its_workpiece:	Product_view_definition;
  probing_distance: 	Length_data_element;
  its_probe: 		Touch_probe;
  computed_offset: 	Offset_vector;
END_ENTITY;

4.3.218.1 its_workpiece

The its_workpiece parameter shall be as defined by ISO 14649-10 to be of type Workpiece, but this document relaxes this requirement to allow any type of Product_view_definition.

Map ARM

4.3.219 Workpiece_probing

The Workpiece_probing application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with a Workpiece_probing are the following:

NOTE The ISO 14649 EXPRESS description for Workpiece_probing, as adapted by this document, is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Workpiece_probing
  SUBTYPE OF (Touch_probing);
  start_position:         Axis_placement_3d;
  -- 10303-238: relax to Product_view_definition for integration
  its_workpiece:          Product_view_definition;
  its_direction:          direction;
  expected_value:         Length_data_element;
  its_probe:              Touch_probe;
END_ENTITY;

4.3.219.1 its_workpiece

The its_workpiece parameter shall be as defined by ISO 14649-10 to be of type Workpiece, but this document relaxes this requirement to allow any type of Product_view_definition.

Map ARM

4.3.220 Workpiece_setup

The Workpiece_setup application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with a Workpiece_setup are the following:

NOTE The ISO 14649 EXPRESS description for Workpiece_setup, as adapted by this document, is shown below. Refer to ISO 14649-10 for the complete definition and explanation of usage.

ENTITY Workpiece_setup;
  -- 10303-238: relax to Product_view_definition for integration
  its_workpiece: 	Product_view_definition;
  its_origin: 		Axis_placement_3d;
  its_offset: 		OPTIONAL Offset_vector;
  its_restricted_area: 	OPTIONAL Restricted_area_select;
  its_instructions: 	LIST [0:?] OF Setup_instruction;
END_ENTITY;

TYPE Restricted_area_select = SELECT (bounded_surface, bounding_geometry_select);
END_TYPE;

4.3.220.1 its_workpiece

The its_workpiece parameter shall be as defined by ISO 14649-10 to be of type Workpiece, but this document relaxes this requirement to allow any type of Product_view_definition.

Map ARM

4.3.221 Workplan

The Workplan application object shall be as defined by ISO 14649-10. This document adds the following information requirements.

The data associated with a Workplan are the following:

NOTE 2 The ISO 14649 EXPRESS description for Workplan, as adapted by this document, is shown below. Refer to ISO 14649-10 for the original definition and explanation of usage.

ENTITY Workplan
  SUBTYPE OF (Program_structure);
  its_elements:                 LIST[0:?] OF Executable;
  its_channel:                  OPTIONAL Channel;
  its_setup:                    OPTIONAL Setup;
  -- 10303-238: as_is, to_be, and removal now inherited from Executable
  -- its_effect:                OPTIONAL in_process_geometry;
  its_minimum_machine_params:   OPTIONAL Machine_parameters; -- ADDED BY 10303-238
  toolpath_orientation:         OPTIONAL Axis_placement_3d;  -- ADDED BY 10303-238
WHERE
   WR1: SIZEOF(QUERY(it <* its_elements | it = SELF)) = 0;
END_ENTITY;

4.3.221.1 its_effect

The its_effect parameter defined by ISO 14649-10 shall be replaced by the set of as-is, to-be, and removal parameters inherited from the Executable application object.

4.3.221.2 its_minimum_machine_params

The its_minimum_machine_params specifies a Machine_parameters object which describe the minimum machine tool characteristics required to execute the workplan. The its_minimum_machine_params may not be specified for a particular Workplan. See Workplan to Machine_parameters for the application assertion.

4.3.221.3 toolpath_orientation

The toolpath_orientation specifies the placement of the set of toolpaths associated with the Executables given by the its_elements parameter. The toolpath_orientation may not be specified for a particular Workplan. The placement shall be applied cumulatively in addition to toolpath_orientations specified by nested Workplan or Machining_workinstep executables. If the toolpath_orientation is not specified, the toolpaths shall assume an origin of (0,0,0) and axis directions X=(1,0,0) Y=(0,1,0) and Z=(0,0,1).

4.4 Application assertions

4.4.1 General

This subclause specifies the application assertions for the model based integrated manufacturing application protocol. Application assertions specify the relationships between application objects, the cardinality of the relationships, and the rules required for the integrity and validity of the application objects and UoFs. The application assertions and their definitions are given below.

NOTE The application assertions specified below pertain only to the application objects defined by this document. All assertions governing the relationships between application objects defined in ISO 14649 are specified in ISO 14649.

4.4.2 Am_gradient_feature to Am_feature

Each Am_gradient_feature refers to one Am_feature objects as secondary_feature. Each Am_feature acts as secondary_feature for zero or more Am_gradient_feature objects.

4.4.3 Am_workingstep to Product_view_definition

Each Am_workingstep refers to zero or one Product_view_definition objects as its_support_geometry. Each Product_view_definition acts as its_support_geometry for zero or more Am_workingstep objects.

4.4.4 Executable to Executable (as twin_plan)

Each Executable references at most one Executable object as twin_plan. Each Executable acts as twin_plan for zero or more Executable objects.

4.4.5 Executable to Machine_usage

Each Executable refers to zero or one Machine_usage objects as machine_used. Each Executable acts as machine_used for zero or more Machine_usage.

4.4.6 Executable to Product_view_definition (as as_is)

Each Executable references at most one Product_view_definition object as as_is. Each Product_view_definition acts as as_is for zero or more Executable objects.

4.4.7 Executable to Product_view_definition (as removal)

Each Executable references at most one Product_view_definition object as removal. Each Product_view_definition acts as removal for zero or more Executable objects.

4.4.8 Executable to Product_view_definition (as to_be)

Each Executable references at most one Product_view_definition object as to_be. Each Product_view_definition acts as to_be for zero or more Executable objects.

4.4.9 Extended_operation to Machine_functions

Each Extended_operation references at most one Machine_functions object as its_machine_functions. Each Machine_functions acts as its_machine_functions for zero or more Extended_operation objects.

4.4.10 Extended_operation to Technology

Each Extended_operation references at most one Technology object as its_technology. Each Technology acts as its_technology for zero or more Extended_operation objects.

4.4.11 Extended_operation to Machining_tool

Each Extended_operation references at most one Machining_tool object as its_tool. Each Machining_tool acts as its_tool for zero or more Extended_operation objects.

4.4.12 Feature_complete_probing to Manufacturing_feature (as expected_value)

Each Feature_complete_probing references at most one Manufacturing_feature object as expected_value. Each Manufacturing_feature acts as expected_value for zero or more Feature_complete_probing objects.

4.4.13 Feature_complete_probing to Touch_probe (as its_probe)

Each Feature_complete_probing references at most one Touch_probe object as its_probe. Each Touch_probe acts as its_probe for zero or more Feature_complete_probing objects.

4.4.14 Fixture_usage to Product_view_definition

Each Fixture_usage refers to zero or one Product_view_definition objects as its_product. Each Product_view_definition acts as its_product for zero or more Fixture_usage objects.

4.4.15 Machine_parameters to Machine_axis_travel

Each Machine_parameters refers to zero or more Machine_axis_travel objects as axis_travel. Each Machine_axis_travel acts as axis_travel for one or more Machine_parameters objects.

4.4.16 Machine_usage to Product_view_definition

Each Machine_usage refers to zero or one Product_view_definition objects as its_product. Each Product_view_definition acts as its_product for zero or more Machine_usage objects.

4.4.17 Machining_tool to Tool_usage

Each Machining_tool refers to zero or one Tool_usage objects as its_usage. Each Tool_usage acts as its_usage for zero or more Machining_tool objects.

4.4.18 Milling_machine_functions to Machine_axis_constraint

Each Milling_machine_functions has zero or more Machine_axis_constraint as axis_constraints. Each Machine_axis_constraint is the axis_constraints of at least one Milling_machine_functions.

4.4.19 Setup to Fixture_usage

Each Setup refers to zero or one Fixture_usage objects as its_fixture_usage. Each Setup acts as its_fixture_usage for zero or more Fixture_usage.

4.4.20 Tool_usage to Externally_defined_representation

Each Tool_usage refers to zero or one Externally_defined_representation objects as its_library_reference. Each Externally_defined_representation acts as its_library_reference for zero or more Tool_usage objects.

4.4.21 Tool_usage to Product_view_definition

Each Tool_usage refers to zero or one Product_view_definition object as its_product. Each Product_view_definition acts as its_product for zero or more Tool_usage objects.

4.4.22 Workingstep to Manufacturing_feature (as final_features)

Each Workingstep has zero or more Manufacturing_feature as final_features. Each Manufacturing_feature is the final_features of zero or more Workingstep.

4.4.23 Workingstep to Operation

Each Workingstep has one Operation as its_operation. Each Operation is the its_operation of zero or more Workingstep.

4.4.24 Workpiece to Approval (as its_approvals)

Each Workpiece has zero or more Approval objects as its_approvals. Each Approval is the its_approvals of zero or more Workpiece.

4.4.25 Workpiece to Approval (as product_approvals)

Each Workpiece has zero or more Approval objects as product_approvals. Each Approval is the product_approvals of zero or more Workpiece.

4.4.26 Workpiece to Approval (as revision_approvals)

Each Workpiece has zero or more Approval objects as revision_approvals. Each Approval is the revision_approvals of zero or more Workpiece.

4.4.27 Workpiece to Date_or_date_time_assignment (as its_datestamps)

Each Workpiece has zero or more Date_or_date_time_assignment objects as its_datestamps. Each Date_or_date_time_assignment is the its_datestamps of zero or more Workpiece.

4.4.28 Workpiece to Date_or_date_time_assignment (as its_timestamps)

Each Workpiece has zero or more Date_or_date_time_assignment objects as its_timestamps. Each Date_or_date_time_assignment is the its_timestamps of zero or more Workpiece.

4.4.29 Workpiece to Date_or_date_time_assignment (as product_datestamps)

Each Workpiece has zero or more Date_or_date_time_assignment objects as product_datestamps. Each Date_or_date_time_assignment is the product_datestamps of zero or more Workpiece.

4.4.30 Workpiece to Date_or_date_time_assignment (as product_timestamps)

Each Workpiece has zero or more Date_or_date_time_assignment objects as product_timestamps. Each Date_or_date_time_assignment is the product_timestamps of zero or more Workpiece.

4.4.31 Workpiece to Date_or_date_time_assignment (as revision_datestamps)

Each Workpiece has zero or more Date_or_date_time_assignment objects as revision_datestamps. Each Date_or_date_time_assignment is the revision_datestamps of zero or more Workpiece.

4.4.32 Workpiece to Date_or_date_time_assignment (as revision_timestamps)

Each Workpiece has zero or more Date_or_date_time_assignment objects as revision_timestamps. Each Date_or_date_time_assignment is the revision_timestamps of zero or more Workpiece.

4.4.33 Workpiece to Organization_or_person_in_organization_assignment (as its_orgs)

Each Workpiece has zero or more Organization_or_person_in_organization_assignment objects as its_orgs. Each Organization_or_person_in_organization_assignment is the its_orgs of zero or more Workpiece.

4.4.34 Workpiece to Organization_or_person_in_organization_assignment (as its_people)

Each Workpiece has zero or more Organization_or_person_in_organization_assignment objects as its_people. Each Organization_or_person_in_organization_assignment is the its_people of zero or more Workpiece.

4.4.35 Workpiece to Organization_or_person_in_organization_assignment (as product_orgs)

Each Workpiece has zero or more Organization_or_person_in_organization_assignment objects as product_orgs. Each Organization_or_person_in_organization_assignment is the product_orgs of zero or more Workpiece.

4.4.36 Workpiece to Organization_or_person_in_organization_assignment (as product_people)

Each Workpiece has zero or more Organization_or_person_in_organization_assignment objects as product_people. Each Organization_or_person_in_organization_assignment is the product_people of zero or more Workpiece.

4.4.37 Workpiece to Organization_or_person_in_organization_assignment (as revision_orgs)

Each Workpiece has zero or more Organization_or_person_in_organization_assignment objects as revision_orgs. Each Organization_or_person_in_organization_assignment is the revision_orgs of zero or more Workpiece.

4.4.38 Workpiece to Organization_or_person_in_organization_assignment (as revision_people)

Each Workpiece has zero or more Organization_or_person_in_organization_assignment objects as revision_people. Each Organization_or_person_in_organization_assignment is the revision_people of zero or more Workpiece.

4.4.39 Workplan to Machine_parameters

Each Workplan refers to zero or one Machine_parameters object as its_minimum_machine_params. Each Machine_parameters acts as its_minimum_machine_params for zero or more Workplan objects.

© ISO 2022 — All rights reserved