ISO 14649-11:2004
(Main)Industrial automation systems and integration — Physical device control — Data model for computerized numerical controllers — Part 11: Process data for milling
Industrial automation systems and integration — Physical device control — Data model for computerized numerical controllers — Part 11: Process data for milling
ISO 14649-11:2004 specifies the technology-specific data elements needed as process data for milling. Together with the general process data described in ISO 14649-10, it describes the interface between a computerized numerical controller and the programming system (i.e. CAM system or shop floor programming system) for milling. It can be used for milling operations on all types of machines, be it milling machines, machining centres, or lathes with motorized tools capable of milling. The scope of ISO 14649-11:2004 does not include any other technologies, like turning, grinding, or EDM. These technologies will be described in further parts of ISO 14649. The subject of the milling_schema, which is described in ISO 14649-11:2004, is the definition of technology-specific data types representing the machining process for milling and drilling. This includes both milling of freeform surfaces and milling of prismatic workpieces (also known as 2 1/2-D milling). Not included in this schema are the following: geometric items; representations; manufacturing features; executable objects; base classes which are common for all technologies. They are referenced from ISO 10303's generic resources and ISO 14649-10. The description of process data is done using the EXPRESS language as defined in ISO 10303-11. The encoding of the data is done using ISO 10303-21.
Systèmes d'automatisation industrielle et intégration — Commande des dispositifs physiques — Modèle de données pour les contrôleurs numériques informatisés — Partie 11: Données des procédés relatifs au fraisage
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO
STANDARD 14649-11
Second edition
2004-12-15
Industrial automation systems and
integration — Physical device control —
Data model for computerized numerical
controllers —
Part 11:
Process data for milling
Systèmes d'automatisation industrielle et intégration — Commande
des dispositifs physiques — Modèle de données pour les contrôleurs
numériques informatisés —
Partie 11: Données des procédés relatifs au fraisage
Reference number
©
ISO 2004
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
© ISO 2004
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO 2004 – All rights reserved
Contents Page
Foreword .iv
Introduction.v
1 Scope.1
2 Normative references.1
3 Terms and definitions .1
4 General Process data.2
4.1 Header and references.2
4.2 Technology-specific machining operations .2
4.2.1 NC functions for milling.2
4.2.2 Tool direction for milling .3
4.2.3 Milling machining operation.4
4.2.4 Milling technology.5
4.2.5 Milling machine functions .6
4.2.6 Milling type operation .7
4.2.7 Freeform operation.14
4.2.8 Two5D milling operation.18
4.2.9 Plane milling .23
4.2.10 Side milling.24
4.2.11 Bottom and side milling.24
4.2.12 Drilling type operation .25
4.2.13 Drilling operation.27
4.2.14 Boring operation.29
4.2.15 Back boring.29
4.2.16 Tapping.30
4.2.17 Thread drilling.30
4.3 End Schema .31
5 Conformance requirements .31
5.1 Conformance class 1 entities.31
5.2 Conformance class 2 entities.32
Annex A (normative) EXPRESS listing.33
Annex B (normative) Short names of entities.43
Annex C (normative) Implementation method specific requirements .45
Annex D (informative) EXPRESS-G diagram.46
Annex E (informative) Sample NC programmes .53
E.1 Example 1.53
E.2 Example 2.56
Index .62
Foreword
ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies
(ISO member bodies). The work of preparing International Standards is normally carried out through ISO
technical committees. Each member body interested in a subject for which a technical committee has been
established has the right to be represented on that committee. International organizations, governmental and
non-governmental, in liaison with ISO, also take part in the work. ISO collaborates closely with the
International Electrotechnical Commission (IEC) on all matters of electrotechnical standardization.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of technical committees is to prepare International Standards. Draft International Standards
adopted by the technical committees are circulated to the member bodies for voting. Publication as an
International Standard requires approval by at least 75 % of the member bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO shall not be held responsible for identifying any or all such patent rights.
ISO 14649-11 was prepared by Technical Committee ISO/TC 184, Industrial automation systems and
integration, Subcommittee SC 1, Physical device control.
This second edition cancels and replaces the first edition (ISO 14649-11:2003), of which it constitutes a minor
revision.
ISO 14649 consists of the following parts, under the general title Industrial automation systems and
integration — Physical device control — Data model for computerized numerical controllers:
Part 1: Overview and fundamental principles
Part 10: General process data
Part 11: Process data for milling
Part 12: Process data for turning
Part 111: Tools for milling machines
Part 121: Tools for turning
Gaps in the numbering of parts were left to allow further additions. The future Parts 2 and 3 will be for
language bindings according to ISO 10303 methods. Part 10 is the ISO 10303 Application Reference Model
(ARM) for process-independent data. ISO 10303 ARMs for specific technologies are added after Part 10. The
future Part 50 will be the ISO 10303 Application Interpreted Model (AIM) for process-independent data.
ISO 10303 AIMs for specific technologies are added after Part 50.
ISO 14649 is harmonised with ISO 10303 in the common field of Product Data over the whole life cycle.
Figure 1 of ISO 14649-1 shows the different fields of standardisation between ISO 14649, ISO 10303 and CNC
manufacturers with respect to implementation and software development.
iv © ISO 2004 – All rights reserved
Introduction
Modern manufacturing enterprises are built from facilities spread around the globe, which contain equipment
from hundreds of different manufacturers. Immense volumes of product information must be transferred
between the various facilities and machines. Today’s digital communications standards have solved the
problem of reliably transferring information across global networks. For mechanical parts, the description of
product data has been standardised by ISO 10303. This leads to the possibility of using standard data
throughout the entire process chain in the manufacturing enterprise. Impediments to realising this principle are
the data formats used at the machine level. Most computer numerical control (CNC) machines are
programmed in the ISO 6983 “G and M code” language. Programs are typically generated by computer-aided
manufacturing (CAM) systems that use computer-aided design (CAD) information. However, ISO 6983 limits
program portability for three reasons. First, the language focuses on programming the tool center path with
respect to machine axes, rather than the machining process with respect to the part. Second, the standard
defines the syntax of program statements, but in most cases leaves the semantics ambiguous. Third, vendors
usually supplement the language with extensions that are not covered in the limited scope of ISO 6983.
ISO 14649 is a new model of data transfer between CAD/CAM systems and CNC machines, which replaces
ISO 6983. It remedies the shortcomings of ISO 6983 by specifying machining processes rather than machine
tool motion, using the object-oriented concept of Workingsteps. Workingsteps correspond to high-level
machining features and associated process parameters. CNCs are responsible for translating Workingsteps to
axis motion and tool operation. A major benefit of ISO 14649 is its use of existing data models from ISO
10303. As ISO 14649 provides a comprehensive model of the manufacturing process, it can also be used as
the basis for a bi- and multi-directional data exchange between all other information technology systems.
ISO 14649 represents an object oriented, information and context preserving approach for NC-programming,
that supersedes data reduction to simple switching instructions or linear and circular movements. As it is
object- and feature oriented and describes the machining operations executed on the workpiece, and not
machine dependent axis motions, it will be running on different machine tools or controllers. This compatibility
will spare all data adaptations by postprocessors, if the new data model is correctly implemented on the NC-
controllers. If old NC programs in ISO 6983 are to be used on such controllers, the corresponding interpreters
shall be able to process the different NC program types in parallel.
ISO TC184/SC1/WG7 envisions a gradual evolution from ISO 6983 programming to portable feature-based
programming. Early adopters of ISO 14649 will certainly support data input of legacy “G and M codes”
manually or through programs, just as modern controllers support both command-line interfaces and graphical
user interfaces. This will likely be made easier as open-architecture controllers become more prevalent.
Therefore, ISO 14649 does not include legacy program statements, which would otherwise dilute the
effectiveness of the standard.
INTERNATIONAL STANDARD ISO 14649-11:2004(E)
Industrial automation systems and integration — Physical
device control — Data model for computerized numerical
controllers —
Part 11:
Process data for milling
1 Scope
This part of ISO 14649 specifies the technology-specific data elements needed as process data for milling.
Together with the general process data described in ISO 14649-10, it describes the interface between a
computerised numerical controller and the programming system (i.e. CAM system or shop floor programming
system) for milling. It can be used for milling operations on all types of machines, be it milling machines,
machining centers, or lathes with motorised tools capable of milling. The scope of this part does not include
any other technologies, like turning, grinding, or EDM. These technologies will be described in further parts of
ISO 14649.
The subject of the milling_schema, which is described in this part of ISO 14649, is the definition of technology-
specific data types representing the machining process for milling and drilling. This includes both milling of
freeform surfaces as well as milling of prismatic workpieces (also known as 2½D-milling). Not included in this
schema are geometric items, representations, manufacturing features, executable objects, and base classes
which are common for all technologies. They are referenced from ISO 10303’s generic resources and ISO
14649-10. The description of process data is done using the EXPRESS language as defined in ISO 10303-11.
The encoding of the data is done using ISO 10303-21.
2 Normative references
The following referenced documents are indispensable for the application of this document. For dated
references, only the edition cited applies. For undated references, the latest edition of the referenced
document (including any amendments) applies.
ISO 10303-11, Industrial automation systems and integration — Product data representation and exchange —
Part 11: Description methods: The EXPRESS language reference manual
ISO 10303-21, Industrial automation systems and integration — Product data representation and exchange —
Part 21: Implementation methods: Clear text encoding of the exchange structure
3 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
3.1
Finishing
A milling operation used to cut a part. The finishing operation usually follows a roughing operation. The goal of
finishing is to reach the surface quality required, cf. roughing.
3.2
Roughing
A milling operation used to cut a part. While the aim of roughing is to remove large quantities of material in a
short time, the surface quality is usually not important. The roughing operation is usually followed by a
finishing operation, cf. finishing.
4 General Process data
4.1 Header and references
The following listing gives the header and the list of entities which are referenced within this schema.
SCHEMA milling_schema;
(*
Version of April 30, 2004
Author: ISO TC184/SC1/WG7
*)
REFERENCE FROM support_resource_schema (*ISO10303-41e3*)
(identifier,
label
);
REFERENCE FROM geometry_schema (*ISO10303-42e3*)
( bounded_curve,
cartesian_point,
direction
);
REFERENCE FROM measure_schema (*ISO10303-41e3*)
( length_measure,
positive_ratio_measure,
time_measure
);
REFERENCE FROM machining_schema (*ISO14649-10*)
( nc_function,
machine_functions,
machining_operation,
machining_tool,
material,
plane_angle_measure,
pressure_measure,
property_parameter,
rot_direction,
rot_speed_measure,
speed_measure,
technology,
toolpath_list,
tool_direction);
REFERENCE FROM milling_machine_tool_schema (*ISO14649-111*)
(
milling_cutting_tool);
4.2 Technology-specific machining operations
4.2.1 NC functions for milling
The NC functions specific to milling technologies are described in the following subs clauses. These are
subtypes of entity nc_function defined in ISO 14649-10.
4.2.1.1 Exchange pallet
This function is used to execute a pallet exchange.
2 © ISO 2004 – All rights reserved
ENTITY exchange_pallet (* m0 *)
SUBTYPE OF (nc_function);
END_ENTITY;
4.2.1.2 Index pallet
This function is used to place the pallet to the indicated position by the parameter index.
ENTITY index_pallet (* m0 *)
SUBTYPE OF (nc_function);
its_index: INTEGER;
END_ENTITY;
its_index: The parameter index value by which the destined position of the pallet is
indicated.
4.2.1.3 Index table
This function is used to place the rotation table to the indicated position by the parameter index.
ENTITY index_table (* m0 *)
SUBTYPE OF (nc_function);
its_index: INTEGER;
END_ENTITY;
its_index: The parameter index value by which the destined position of the rotation
table is indicated.
4.2.1.4 Load tool
This function is used to load a tool that can be selected independent from the geometrical information.
ENTITY load_tool (* m0 *)
SUBTYPE OF (nc_function);
its_tool: machining_tool;
END_ENTITY;
its_tool: The tool which has to be loaded.
4.2.1.5 Unload tool
This function is used to unload a tool.
ENTITY unload_tool (* m0 *)
SUBTYPE OF (nc_function);
its_tool: OPTIONAL machining_tool;
END_ENTITY;
its_tool: The tool which has to be exchanged. In case of an operation where more
than one tool is in use at the same time this attribute has to be set.
4.2.2 Tool direction for milling
This is the base class of all tool orientations used for freeform machining. It is subtypes of entity tool_direction
defined in ISO 14649-10.
ENTITY tool_direction_for_milling (* m0 *)
ABSTRACT SUPERTYPE OF (ONEOF(three_axes_tilted_tool, five_axes_var_tilt_yaw,
five_axes_const_tilt_yaw))
SUBTYPE OF (tool_direction);
END_ENTITY;
4.2.2.1 Three axes tilted tool
In this mode of operation, the tool is tilted, so the tool direction is not parallel to any of the three machine axes.
However, the tool is clamped to fix the tool angle and motion is still only in the three linear axes. Unlike
five_axes_var_tilt_yaw the tilt and/or yaw angles are not variable.
ENTITY three_axes_tilted_tool (* m0 *)
SUBTYPE OF (tool_direction_for_milling);
its_tool_direction: direction;
END_ENTITY;
its_tool_direction: The direction of the tool in absolute machine co-ordinates.
4.2.2.2 Five axes with variable tilt and yaw angles
Simultaneous tool movements in five axes are used for machining. During motion, the tool direction is
adjusted so as to follow the curve given in the toolpath instances.
ENTITY five_axes_var_tilt_yaw (* m1 *)
SUBTYPE OF (tool_direction_for_milling);
END_ENTITY;
4.2.2.3 Five axes with constant tilt and yaw angles
This is a special case of five_axes_var_tilt_yaw. The tool is moved so that the tilt and yaw angles are constant
in each point of the toolpath, relative to the co-ordinate system given by the surface normal in the cutter
contact point and the tangent in feed direction. Tilt and yaw are given as attributes of this entity. Note that
these values may be overridden if an explicit tool direction curve is specified for a toolpath.
ENTITY five_axes_const_tilt_yaw (* m0 *)
SUBTYPE OF (tool_direction_for_milling);
tilt_angle: plane_angle_measure;
yaw_angle: plane_angle_measure;
END_ENTITY;
tilt_angle: The inclination of the tool in feed direction, measured against the surface
normal in the cutter contact point.
yaw_angle: The rotation of the inclined tool around the surface normal, measured
against the surface tangent in feed direction in the cutter contact point.
4.2.3 Milling machining operation
This is the base class of all operations described in this part of ISO 14649. It is a subtype of entity
machining_operation defined in ISO 14649-10. In case that feedrate_per_tooth of its_technology is chosen,
number_of_effective_teeth of its_tool should be given.
ENTITY milling_machining_operation (* m0 *)
ABSTRACT SUPERTYPE OF (ONEOF(milling_type_operation,
drilling_type_operation))
SUBTYPE OF (machining_operation);
overcut_length: OPTIONAL length_measure;
WHERE
4 © ISO 2004 – All rights reserved
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;
overcut_length: The overcut on the open side(s) of the feature. It is not allowed for manu-
facturing of features which are bounded by material on all sides, i. e. pockets.
In case of round_hole, this attribute is allowed only for through-bottom
holes. If the cutting_depth of drilling_type_operation specifies a conflicting
value, overcut_ length is ignored.
Tool
movement
overcut
Fig. 1: Overcut
4.2.4 Milling technology
This entity defines the technological parameters of the milling operation. It is a subtype of entity technology
defined in ISO 14649-10. Of the four alternatives for specifying speeds, exactly two must be given as
indicated by the WHERE rules. If the attribute adaptive_control s invoked, some or all of these values may be
ignored.
ENTITY milling_technology (* m0 *)
SUBTYPE OF (technology);
cutspeed: OPTIONAL speed_measure;
spindle: OPTIONAL rot_speed_measure;
feedrate_per_tooth: OPTIONAL length_measure;
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;
cutspeed: Cutting speed of the tool, the speed of spindle converted into a linear speed.
spindle: Rotational speed of the tool. As defined for rot_speed_measure, positive
values indicate tool rotation in mathematical positive direction of the c axis,
i. e. counter-clockwise motion if looking from the tool holder to the
workpiece. Note that usual cutting tools require clockwise motion so the
value of this attribute will typically be negative.
feedrate_per_tooth: Feed of the tool expressed as a distance.
synchronize_spindle_with_feed:
If true, cutting speed and feed of the tool is synchronised. Therefore, the
pitch of tap can be kept constant at the bottom of a hole when cutting speed
is being decelerated and accelerated.
inhibit_feedrate_override: If true, the feedrate override through the operating panel or by adaptive
control systems is not allowed.
inhibit_spindle_override: If true, the spindle speed override through the operating panel or by adaptive
control systems is not allowed.
its_adaptive_control: Any kind of vendor specific adaptive control strategy.
4.2.4.1 Adaptive control
This entity defines the vendor-specific adaptive control strategy. At a later time, the specific nature of the
adaptive control algorithm and further parameters can be specified in appropriate subtypes.
ENTITY adaptive_control; (* m1 *)
END_ENTITY;
4.2.5 Milling machine functions
The entity describes the state of various functions of the machine, like coolant, chip removal, etc. to be applied
during the time span of an operation. It is a subtype of entity machine_functions defined in ISO 14649-10.
ENTITY milling_machine_functions (* m0 *)
SUBTYPE OF (machine_functions);
coolant: BOOLEAN;
coolant_pressure: OPTIONAL pressure_measure;
mist: OPTIONAL BOOLEAN;
through_spindle_coolant: BOOLEAN;
through_pressure: OPTIONAL pressure_measure;
axis_clamping: LIST [0:?] OF identifier;
chip_removal: BOOLEAN;
oriented_spindle_stop: OPTIONAL direction;
its_process_model: OPTIONAL process_model_list;
other_functions: SET [0:?] OF property_parameter;
END_ENTITY;
coolant: If true, the coolant is activated.
coolant_pressure: Optional specification of the pressure of the coolant system. Only valid if
coolant is true.
mist: If true, activate mist coolant. Default is false. Only valid if coolant is true.
through_spindle_coolant: If true, activate coolant through the spindle. Default is false.
6 © ISO 2004 – All rights reserved
through_pressure: Pressure of coolant through the spindle. Only valid if
through_spindle_coolant is true.
axis_clamping: Describes which axes are to be clamped, e.g. X,Y,A. Note that this
information is machine dependent and should be avoided.
chip_removal: If true, activate chip removal.
oriented_spindle_stop: If specified, the spindle will stop in the given direction relative to the
machine zero position of C-axis in case a spindle stop occurs during or at the
end of the workingstep.
its_process_model: Optional information for process control.
other_functions: Optional list of other functions of generic type.
4.2.5.1 Process model list
For each workingstep, one or more process models may be started. These are modules for process control
like chatter avoidance, thermal compensation, etc.
ENTITY process_model_list; (* m1 *)
its_list: LIST [1:?] OF process_model;
END_ENTITY;
its_list: List of process models for the current workingstep
4.2.5.1.1 Process model
Special machine-specific functions to make the machining process more secure and accurate. (e.g. chatter
avoidance, thermal compensation, .)
ENTITY process_model; (* m1 *)
ini_data_file: label;
its_type: label;
END_ENTITY;
ini_data_file: A filename including path of the file containing the initialisation data of the
process model.
its_type: The type of process model (e.g. chatter avoidance, thermal
compensation, .)
4.2.6 Milling type operation
This is the base class of all operations for milling. It includes all necessary attributes to describe technology
and strategy. It is a subtype of entity milling_machining_operation.
In general, there are two types of machining operations: roughing and finishing. The roughing is to remove all
material from the original raw piece surface down to the bottom or side of the feature minus the finishing
allowance in multiple passes. The finishing will then remove the finish allowance to yield the final surface of
the feature. In case of pre-cast features, e.g. pre-cast holes and pockets, roughing operation need to be one
pass. This special condition is considered in the 2½D milling strategy with the attribute allow_multiple_passes.
ENTITY milling_type_operation (* m0 *)
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;
approach: Optional information about approach (plunge) strategy to reach the first cut.
If multiple layers are cut, as specified by allow_multiple_passes, this
strategy will also be used to move from one layer to the start point of the
next layer.
By default, the NC controller decides about the approach strategy. It may
decide not to use any approach movement at all if the start point of cutting
coincides with the end point of cutting for the preceding operation. If
its_toolpath is given, this attribute will be ignored.
retract: Optional information about retract strategy after finishing the last cut. By
default, the NC controller decides about the retract strategy. It may decide
not to use any retract movement at all if the end point of cutting coincides
with the start point of cutting for the next operation. If its_toolpath is given,
this attribute will be ignored.
4.2.6.1 Approach retract strategy
Base class for the approach (plunge) and retract strategy. All approach and retract strategies are defined
relative to the start or end point of the cutting operation, whether this is explicitly given in the operation of
determined by the NC controller. The resulting start point of the approach or end point of the retract movement
are defined to be the start and end point of the current operation. The feed rate on the approach or retract
path is the feed rate specified for the related start or end point, respectively, of cutting.
ENTITY approach_retract_strategy (* m1 *)
ABSTRACT SUPERTYPE OF (ONEOF (plunge_strategy, air_strategy, along_path));
tool_orientation: OPTIONAL direction;
END_ENTITY;
tool_orientation: Only for machines with five-axis positioning capabilities. This specified the
tool orientation at the beginning or end, respectively, of the approach or
retract movement.
4.2.6.2 Plunge strategy
This is the base class for all approach movements which include cutting of material. This is typically the case
for pocketing operations where the approach to the depth of the first cutting layer or between cutting layers
requires the removal of material in order to create the approach path.
All plunge movements are guaranteed to occur within the boundaries of the underlying feature. All plunge
movements will start at the retract plane valid for the current operation. They will end in the start point of the
cutting operation, with the tangent of its approach path coinciding with the tangent of the ensuing cutting
motion.
ENTITY plunge_strategy (* m1 *)
ABSTRACT SUPERTYPE OF (ONEOF (plunge_toolaxis, plunge_ramp, plunge_helix,
plunge_zigzag))
SUBTYPE OF (approach_retract_strategy);
END_ENTITY;
4.2.6.2.1 Plunge tool axis
Plunge in the direction of the tool axis.
8 © ISO 2004 – All rights reserved
Note: If the milling tool itself is unable to cut it’s way into the layer, a plunge drilling operation with a separate
tool is required. As each operation can have only one tool, this will require the definition of a preceding
drilling_type_operation. In this case, no plunge strategy should be given for the milling_type_operation, and
the cut_start_point of both the milling_type_operation and the drilling_type_operation must coincide.
ENTITY plunge_toolaxis (* m1 *)
SUBTYPE OF (plunge_strategy);
END_ENTITY;
Y
Starting_point
X
Z
Retract_plane
X
Starting_point
Fig. 2: Plunge tool axis
4.2.6.2.2 Plunge ramp
Plunge on a linear path which forms an angle with the feature surface.
Y
Starting_point
X
Z
Retract_plane
X
angle
Starting_point
Fig. 3: Plunge ramp
ENTITY plunge_ramp (* m1 *)
SUBTYPE OF (plunge_strategy);
angle: plane_angle_measure;
END_ENTITY;
angle: The angle of the ramp movement versus the surface in the end point of the
approach. Note: start and end point can be calculated from the restrictions in
Section 4.2.6.2.
4.2.6.2.3 Plunge helix
Plunge movement forming a helix. The path is defined by specifying the radius and grade of the helix. A
circular movement can be specified by setting grade to zero.
ENTITY plunge_helix (* m1 *)
SUBTYPE OF (plunge_strategy);
radius: length_measure;
angle: plane_angle_measure;
END_ENTITY;
radius: Radius of the helical movement.
angle: The angle of the helical movement versus the surface in the end point of the
approach. Note: start and end point can be calculated from the restrictions in
Section 4.2.6.2.
10 © ISO 2004 – All rights reserved
radius
Y
Starting_point
X
Z
Retract_plane
X
angle
Starting_point
Fig. 4: Plunge helix
4.2.6.2.4 Plunge zigzag
Plunge movement using a zigzag motion. This is similar to the ramp-type movement, except the cutter
changes direction if it touches a feature boundary or if the path length would exceed the specified width of the
zigzag pattern.
ENTITY plunge_zigzag (* m1 *)
SUBTYPE OF (plunge_strategy);
angle: plane_angle_measure;
width: length_measure;
END_ENTITY;
Y
Starting_point
X
Retract_plane
Z
X
angle
Starting_point
width
Fig. 5: Plunge zigzag
angle: The angle of the movement versus the surface in the end point of the
approach. Note: start and end point can be calculated from the restrictions in
Section 4.2.6.2.
width: The with of the zigzag path perpendicular to the direction of the descent.
4.2.6.3 Air strategy
This is the base class for all approach or retract movements through the air.
Unlike the plunge_strategy types these movements are not limited to the inside of the feature. All of these
movements shall take place in a plane which is defined by the normal of the machined feature and the tangent
of the cutting path in the start or end point, respectively, of the related cutting movement. If the start or end
point lies at the intersection of two planes, as may be the case for bottom_and_side_milling operations, the
surface normal is deemed to be the intermediate direction between the two normals.
Note that for side milling operations, e. g. for the milling of a contour, the resulting movements will be in the xy
plane of the machine co-ordinate system.
ENTITY air_strategy (* m1 *)
ABSTRACT SUPERTYPE OF (ONEOF (ap_retract_angle, ap_retract_tangent))
SUBTYPE OF (approach_retract_strategy);
END_ENTITY;
4.2.6.3.1 Approach retract angle
The movement is heading towards the start or from the end point in an angle to the surface. For plane milling,
this may typically be an angle of 0 degrees in order to move straight from outside the workpiece into the
material.
ENTITY ap_retract_angle (* m1 *)
SUBTYPE OF (air_strategy);
angle: plane_angle_measure;
travel_length: length_measure;
END_ENTITY;
angle: Approach or lift angle versus the surface in the end point of the approach or
the start point of the lift, respectively.
travel_length: The length of the angular approach. After travel_length has been reached,
the tool will proceed to the retract plane using the shortest connection and
vice versa.
12 © ISO 2004 – All rights reserved
radius
Tangent of the
cutting path
Y
Starting_point
X
Retract_plane
Z
angle
X
Starting_point
Fig. 6: Approach retract angle
4.2.6.3.2 Approach retract tangent
The movement is heading towards the start or from the end point in a curve. The motion start or ends in the
retract plane valid for the current operation. If the specified radius for this motion is smaller than the distance
to the retract plane as specified in the attribute retract_plane of the current operation, the remaining path will
be executed in linear motion perpendicular to the retract plane.
ENTITY ap_retract_tangent (* m1 *)
SUBTYPE OF (air_strategy);
radius: length_measure;
END_ENTITY;
radius: The radius of the approach or retract movement.
Tangent of the
cutting path
Y
Starting_point
X
Retract_plane
Z
X
Starting_point
Fig. 7: Approach retract tangent
4.2.6.4 Along path
Approach or lift movement on a general path. This should be used if full control of the tool orientation during
approach is required or for other special purposes.
Travel_length
ENTITY along_path (* m1 *)
SUBTYPE OF (approach_retract_strategy);
path: toolpath_list;
END_ENTITY;
path: Specification of a general path for approach or lift movement. Note that the
path is specified in a special co-ordinate system. The origin is the start or
end point of the cutting operation, the axes are oriented like the local co-
ordinate system of the feature.
Y
Starting_point
X
path
Retract_plane
Z
X
Starting_point
Fig. 8: Along path
4.2.7 Freeform operation
Derived from the milling type operation, this is the class of operations for freeform milling. Note that only some
Hi-Tech NC controllers today will not be able to machine a freeform surface without specifying explicit
toolpaths.
ENTITY freeform_operation (* m0 *)
SUBTYPE OF (milling_type_operation);
its_machining_strategy: OPTIONAL freeform_strategy;
END_ENTITY;
its_machining_strategy: Description of the strategy to be used when executing the operation. In case
the attribute its_toolpath of the supertype operation is specified, the strategy
is for information only.
4.2.7.1 Freeform strategy
The following entities define the strategy used for milling a freeform surface. If this entity is used, the toolpath
is defined only by means of the milling strategy and the tolerances. The CNC itself has to calculate the
resulting toolpaths out of these values.
If the toolpath and the freeform strategy are defined, the attribute "freeform_strategy" is for information only.
ENTITY freeform_strategy (* m1 *)
ABSTRACT SUPERTYPE OF (ONEOF(uv_strategy, plane_cc_strategy,
plane_cl_strategy, leading_line_strategy));
pathmode: pathmode_type;
cutmode: cutmode_type;
14 © ISO 2004 – All rights reserved
its_milling_tolerances: tolerances;
stepover: OPTIONAL length_measure;
END_ENTITY;
pathmode: The feed direction.
cutmode: The stepover direction.
its_milling_tolerances: The tolerance values to be used during creation of the toolpaths.
stepover: The distance between two neighboring toolpaths. If given, the stepover
calculated by use of its_milling_tolerances will be ignored.
4.2.7.1.1 Pathmode type
The pathmode used in milling. This can be forward (or unidirectional) milling or zigzag (or bidirectional) milling.
TYPE pathmode_type = ENUMERATION OF (
forward,
zigzag
);
END_TYPE;
4.2.7.1.2 Cutmode type
The cutting mode used in milling. This can be climb or conventional. In unidirectional mode, climb means that
the stepover motion is directed to the left of the feed direction if tool rotation is counter-clockwise. In
bidirectional mode, the cutmode type refers to the first cut only.
TYPE cutmode_type = ENUMERATION OF (
climb,
conventional
);
END_TYPE;
4.2.7.1.3 Tolerances
The tolerances which are associated with the free form operation. This does not refer to the general
manufacturing tolerances but specifies two parameter which are needed if the NC controllers generates
toolpaths for free-form surfaces. Through these values the stepover distance between the toolpaths can be
derived.
ENTITY tolerances; (* m1 *)
chordal_tolerance: length_measure;
scallop_height: length_measure;
END_ENTITY;
chordal_tolerance: Geometric error resulting from a linear approximation of a curve.
scallop_height: Height of the grooves caused by the tool radius (C in the figure).
Scallop_
height
Z
Z
Y
Y
∆
X
chordal tolerance
Fig. 9: Scallop height and chordal tolerance
4.2.7.1.4 UV strategy
Milling follows the parameter lines in the local (u,v) coordinate system.
ENTITY uv_strategy (* m1 *)
SUBTYPE OF (freeform_strategy);
forward_direction: direction;
sideward_direction: direction;
END_ENTITY;
u
v
Fig. 10: UV strategy
forward_direction: The direction used in the first cut.
sideward_direction: The direction in which the second cut is offset from the first.
4.2.7.1.5 Plane cutter contact strategy
The paths are generated by intersecting the target surface with parallel planes. The result of these
intersections form the cutter contact paths.
16 © ISO 2004 – All rights reserved
A’
A A-A’
Cutter contact point
Fig. 11: Plane cutter contact strategy
ENTITY plane_cc_strategy (* m1 *)
SUBTYPE OF (freeform_strategy);
its_plane_normal: direction;
END_ENTITY;
its_plane_normal: The normal of the planes used for intersection with the target surface.
4.2.7.1.6 Plane cutter location strategy
The paths are generated by intersecting the target surface, offset by the cutter radius, with planes. The result
form the cutter location paths. This strategy makes sense with ball end and bullnose cutters.
ENTITY plane_cl_strategy (* m1 *)
SUBTYPE OF (freeform_strategy);
its_plane_normal: direction;
END_ENTITY;
A’
A
A-A’
Cutter location point
Fig. 12: Plane cutter location strategy
its_plane_normal: The normal of the planes used for intersection with the target surface.
4.2.7.1.7 Leading line strategy
The toolpaths are calculated by projecting a curve on the workpiece surface along the Z-axis of local
coordinate system. The curve is given as an attribute.
its_line
Fig. 13: Leading line strategy
ENTITY leading_line_strategy (* m1 *)
SUBTYPE OF (freeform_strategy);
its_line: bounded_curve;
END_ENTITY;
its_line: The curve used to calculate the toolpaths.
4.2.8 Two5D milling operation
This is the base class of all operations for 2½D milling derived from milling_type_operation.
ENTITY two5D_milling_operation (* m0 *)
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;
its_machining_strategy: Description of the strategy to be used when executing the operation. In case
the attribute its_toolpath of the supertype operation is specified, the strategy
is for information only.
4.2.8.1 Two5D milling strategy
This is the base class of all strategies used for creating 2½D milling toolpaths
ENTITY two5D_milling_strategy (* m1 *)
ABSTRACT SUPERTYPE OF (ONEOF (unidirectional, bidirect
...
INTERNATIONAL ISO
STANDARD 14649-11
Second edition
2004-12-15
Industrial automation systems and
integration — Physical device control —
Data model for computerized numerical
controllers —
Part 11:
Process data for milling
Systèmes d'automatisation industrielle et intégration — Commande
des dispositifs physiques — Modèle de données pour les contrôleurs
numériques informatisés —
Partie 11: Données des procédés relatifs au fraisage
Reference number
©
ISO 2004
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
This CD-ROM contains:
1) the publication ISO 14649-11:2004 in portable document format (PDF), which can be viewed using
Adobe® Acrobat® Reader;
2) VISIO files of the EXPRESS G diagrams for ISO 14649-11:2004.
Adobe and Acrobat are trademarks of Adobe Syste
...










Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...