Contents

# 1 INTRODUCTION [1](#introduction) {#introduction-1 .TOC-1}

# 2 AN OVERVIEW OF AP 213 [3](#an-overview-of-ap-213) {#an-overview-of-ap-213-3 .TOC-1}

# 3 OVERVIEW OF THE FOUR COMMERCIAL CAPP AND CAM SOFTWARE SYSTEMS [6](#overview-of-the-four-commercial-capp-and-cam-software-systems) {#overview-of-the-four-commercial-capp-and-cam-software-systems-6 .TOC-1}

3.1 MetCapp^TM^ [6](#metcapptm)

3.2 CS/CAPP^TM^ [6](#cscapptm)

3.3 Mastercam^®^ [7](#mastercam)

3.4 Smartcam^®^ [7](#smartcam)

# 4 COVERAGE STUDY OF AP 213 ARM ON DATA STRUCTURES IN THE FOUR CAPP AND NC PROGRAMMING SYSTEMS [9](#coverage-study-of-ap-213-arm-on-data-structures-in-the-four-capp-and-nc-programming-systems) {#coverage-study-of-ap-213-arm-on-data-structures-in-the-four-capp-and-nc-programming-systems-9 .TOC-1}

4.1 Coverage analysis [10](#coverage-analysis)

4.2 The Analysis of AP 213 coverage to Interface Data Sets of Systems
[13](#the-analysis-of-ap-213-coverage-to-interface-data-sets-of-systems)

4.2.1 MetCapp^TM^ mapping results [13](#metcapptm-mapping-results)

4.2.2 CS/CAPP^TM^ mapping results [15](#cscapptm-mapping-results)

4.2.3 Mastercam^®^ mapping results [16](#mastercam-mapping-results)

4.2.4 Smartcam^®^ mapping results [18](#smartcam-mapping-results)

4.2.5 A Summary of Coverage Measurements
[20](#a-summary-of-coverage-measurements)

4.3 Observed AP213 Limitations [21](#observed-ap213-limitations)

# 5 CONCLUSION [23](#conclusion) {#conclusion-23 .TOC-1}

# 6 REFERENCES [24](#references) {#references-24 .TOC-1}

# APPENDIX [25](#appendix) {#appendix-25 .TOC-1}

**ABSTRACT**

This report provides a quantitative coverage analysis of a draft
Application Protocol (AP) for numerically controlled machining process
plans in an international standard for product data representation and
exchange. The analysis addresses the effectiveness of this AP by
analyzing the coverage of the data model in the AP to the interface data
from several commercial computer-aided process planning systems and
numerical control programming systems. It is necessary to evaluate how
much machining process information can be unambiguously exchanged among
commercial systems in order to determine if the AP should proceed
through the standards process as is or if there should be further
changes. The report documents several measurement techniques, describes
measurement results, and reveals some limitations found in the AP.

**Keywords**: NC programming, STEP, application protocol, data exchange,
numerical control, process planning, product data modeling, systems
integration.

# 1 INTRODUCTION

Standard representations of manufacturing process plan data are
essential to build mechanisms for open data exchange among manufacturing
applications, as well as to guide the new development of commercial
manufacturing software systems. ISO 10303 Part 213 \[1\] is an
Application Protocol (AP) for representing the data entities used in
process plans for numerically controlled machined parts, and it is in
Final Draft Internatioal Standard (FDIS) status. ISO 10303 is commonly
referred as STEP. AP 213 is intended for archiving, exchanging, and
sharing information between dissimilar Computer-Aided Process Planning
(CAPP) systems and Numerical Control (NC) programming systems. To better
understand the applicability of the protocol, the first step is to
evaluate how well the AP captures commercial NC process plan data. An
initial analysis of AP 213 was conducted in a NIST project, which
addressed integration issues in a collected suite of manufacturing
tools. Some missing concepts, such as tool name, the process plan
creation date, action name, etc. were found \[2\]. This report provides
a more detailed analysis of the coverage of AP 213 on commercial systems
is conducted, and the results are documented in this report.

As a STEP qualification requirement, it is required that pilot
implementations of the AP on commercial process planning and NC software
systems be performed before the AP 213 reaches the International
Standard status. This report provides necessary information to the STEP
qualification team members to assess the future direction of this AP. It
is not the intent of this report to recommend whether AP 213 should
advance in the standards process or not. In a pilot implementation
project[^1] performed at the National Institute of Standards and
Technology (NIST), four commercial software systems were available to
us, two CAPP software systems and two NC programming software systems.
Companies that sold these four systems collaborated with us in analyzing
AP 213. A substantial amount of data could not be translated from one
system to another system using the data entities defined in AP 213. This
was our motivation to conduct a thorough coverage analysis on AP 213.
The analysis process included the following tasks: mapping system
interface data to the AP 213 Application Reference Model (ARM),
calculating coverage ratios, and analyzing the coverage of AP 213 over
the four software systems. Five major measurement factors, or ratios,
were developed to evaluate the coverage. Their definitions can be found
in Section 4.1. These five ratios are as follows: (1) the ratio of the
number of data structures of a commercial system within the scope of
AP213 to the total number of data structures in that commercial system's
interface, (2) the ratio of the number of data structures in a
commercial system that are completely and unambiguously mapped to the AP
213 ARM to the total number of data structures (in that commercial
system) that are within the AP 213 scope, (3) the ratio of the number of
AP 213 ARM entities that are ambiguously mapped to a system's data to
the total number of the AP 213 ARM entities, (4) the ratio of the number
of data structures in a commercial system that are not covered by AP 213
to the total number of the structures in that commercial system , and
(5) the ratio of the number of AP 213 ARM entities used in mapping to
the total number of ARM entities. A concise statistical analysis was
also performed by means of a data table to reveal the coverage
variations of AP 213 in all four commercial systems. Limitations in the
ability of AP 213 to support data exchange are described in the analysis
.

In addition to this introduction, Section 2 provides an overview of AP
213. Section 3 describes the four commercial CAPP and CAM software
systems. Section 4 describes the methods used in the analysis and the
results from the coverage analysis. Finally, Section 5 concludes this
report.

# 2 AN OVERVIEW OF AP 213

STEP AP 213 is an application protocol, which specifies data formats to
represent computer-interpretable process plans for producing discrete
parts using numerically controlled machines. The intent of this
application protocol is to enable the exchange of machining process plan
data among dissimilar CAPP and NC programming systems.

A numerically controlled machining process plan is a set of machining
operations with a list of tools, setup instructions, and machining
center specifications. The plan is used by NC programmers to create tool
paths and NC programs which, when executed, drive the tool motion to
remove material from a workpiece.

AP 213 specifies the data interface between process planning and NC
programming systems as opposed to the data necessary to perform the
process planning functions. According to the scope statement in the
draft standard, AP 213 is intended to describe and represent the
following information:

-   Information from the planning activity that is contained in the NC
    process plans for machined parts

-   Task instructions required to manufacture a part using NC machine
    tools

-   Required NC programming information specified in the process plan

-   In-process inspection information specified in the process plan

-   Shop floor information specified in the process plan

AP 213 does not cover the following information:

-   Information from pre-planning activities

-   Production planning functions

-   Actual execution of the process plan

-   Continuous processes

-   Make/buy analysis

-   Costing

-   Form features, drawings, and production illustrations

-   The process planning activity

-   Inspection process information

-   NC source program

The AP 213 Application Reference Model (ARM) is an application-oriented
data model. It defines individual entities and the relationships among
them. As stated in the draft standard, the AP 213 ARM has seven
functional categories, each called a Unit of Functionality (UoF): 

-   administrative

-   manufacturing machine tool resources

-   manufacturing material resources

-   manufacturing tooling resources

-   process activities

-   product definition related data

-   related shape data.

The *Administrative* UoF contains the information required for the
management of a numerical control process plan. This information
contains the detail to allow for the identification, release and
revision of the process plan. Examples of entities specified are the
information about the company and the person who developed the process
plan, and the general description of a process plan. In the
*Manufacturing Machine Tool Resources* UoF, entities to describe
equipment and their characteristics are specified, such as machine,
workstation, and machine parameter. The equipment is stationary
machinery used to provide cutting power to perform material removal. The
*Manufacturing Material Resources* UoF specifies entities to describe
the material necessary to fabricate a machined part. Examples of the
entities are material, material specification, and raw material
requirement. The *Manufacturing Tooling Resources* UoF specifies
entities that define cutters, cutter assemblies, fixtures, fixture
assemblies, and vendor information. The tooling resource entities are
associated with the material removal activity, NC programs, and the
validation activity. The *Process Activities* UoF specifies entities
that describe activities performed in a process plan. Machining
activities like operations, steps, material removal, and machine setup
are covered by this unit. The *Product Definition Related Data* UoF
provides entities for describing information related to product
definition and its technological requirement, such as the drawing of the
machined part, tolerances in NC machining, and surface finish. The last
UoF is *Related Shape Data* which specifies entities to describe
geometry/shape related data of the machined part. Examples of the
entities are geometric model representation and NC part object.

# 3 OVERVIEW OF THE FOUR COMMERCIAL CAPP AND CAM SOFTWARE SYSTEMS

Two commercial CAPP systems and two NC programming systems were
available to us to study the AP 213 coverage. They were MetCapp^TM^,
CS/CAPP^TM^, Mastercam^®^, and Smartcam^®^. These systems provided a
rich set of process plan data structures to test the AP 213 ARM.

## 3.1 MetCapp^TM^

MetCapp^TM^ \[3\] is a CAPP system. To develop a process plan, a user
has to identify workstations, machines, setups, routing sequences, and
generic part feature data. The system has a machining capability
database that provides automated capabilities of cutting tools
selection, speed and feed calculations, processing time estimation, and
operation sequencing. The process plan data are stored in .ppl (process
planning language) files. Using the MetCapp^TM^ Application Programming
Interface (API) in the C programming language, one can access the
process plan data. The data are listed in the first column of Table 1 in
the Appendix.

## 3.2 CS/CAPP^TM^

CS/CAPP^TM^ \[4\] is a CAPP system that uses a relational database as a
process plan data repository. A process plan is built by the system with
an object model that is connected to a relational database. The process
planning data in the system are organized into two basic types of
objects: core planning object and attachable object. A core object is
required for planning, including parts, plans, operations, and steps.
The attachable objects are not required for planning. They can be
attached to any core object for additional information. There are two
types of them: objects that can be shared among plans and objects that
cannot. Examples of these objects are tools, sketches, standard
instructions, notes, materials, and NC tapes. The output data structures
defined in this process planning system are listed in the first column
of Table 2 in the Appendix.

## 3.3 Mastercam^®^

This system \[5\] is an integrated three-dimensional (3D) Computer-aided
Design/Computer-aided Manufacturing (CAD/CAM) software system that
facilitates geometry creation, engineering details preparation,
blueprints printout, tool path generation, and NC code generation for 2
through 5 axis milling and turning. For automated tool path generation,
the system has built-in material and tool libraries, tool-path
simulation functions, look-ahead cutter compensation capability,
cycle-time calculation functions, and feed and speed calculations.

The parameters for creating tool paths for machining a surface are
stored in a parameter file with the extension of PRM. The first column
of Table 3 in the Appendix has a list of the data structures used in
".prm" files.

## 3.4 Smartcam^®^

Smartcam^®^ \[6\] is also a CAD/CAM system that includes automated NC
code creation capabilities for 2 to 5-axis machining. It has an
integrated environment for users to model the machining of a part and
generate tool paths and NC codes. The system consists of several modules
that work together to provide functions for producing NC machining
programs from a design. These modules are CAD connection, process
modeling, milling applications, and NC coding. The CAD connection module
facilitates the translation of files from a number of CAD systems into
the native format of the system.

The process modeling module and milling applications module together
provide the graphic environment for creating a machined part model from
which tool paths are generated. There is a solid model tool built in the
system. Two methods for entering geometry are provided by the system:
free-form geometry and profile geometry. The system also provides a
group of functions for creating geometry drawings. When a model is
complete, the tool path generation process starts. This includes tool
path pattern selection, cutting direction, actual cutter path
generation.

The NC coding module takes generated tool paths, process parameters
(cutting speeds, feeds, coolant on/off, depth of cut), and an identified
postprocessor to generate NC programs for a specified machine
controller.

A user's application consists of two types of files that work together:
a Computer Numerical Control (CNC) Process Model and Job Operations
Setup.

A CNC Process Model is a dynamic, sequential tool path database. The
following three components of a NC process plan are incorporated when a
CNC Process Model is built:

> Sequence − the order of machining operations
>
> Properties − machining parameters such as tool selection, depth, tool
> offset direction, and machine control behavior are assigned to the
> tool path.
>
> Geometry − elements defining the tool path, such as linear or circular
> cutting, rapid traverses, and lead-in moves, are added to the model.

The Job Operations Setup (JOS) is a model that is used to define process
tasks. The information about the tools and operations used in machining
a part is in JOS files. The JOS contains the process steps and related
information, such as machine identification, part description, and
material. Each process model is linked to a .jos file. The JOS links
tools and operations together to form machining steps. The data
structures defined in the .jos file are listed in the first column of
Table 4 in the Appendix. The data is used to specify the tool,
operation, material, and job data in a process plan of the machined part
to create NC codes.

In summary, the system primarily uses information from the following two
sources when generating NC codes:

> .pm4 file -- the model database to describe the geometry of the part,
> its sequence, and related properties.
>
> .jos file -- the job setup operations file to support the geometry by
> identifying information that relates to tools and operations, such as
> feed rates, cutting speeds, and tool sizes.

# 4 COVERAGE STUDY OF AP 213 ARM ON DATA STRUCTURES IN THE FOUR CAPP AND NC PROGRAMMING SYSTEMS

Mapping from application systems to the AP 213 ARM forms the base of the
analyses in this section. The mapping tables are in Appendix Tables 1 to
4. They are created based on the materials found in ISO/FDIS 10303-213
and the system and interface manuals of the four software systems. A
major challenge is that data representation structures of the AP 213 ARM
and the four applications systems are all different although the
concepts are somewhat similar. The differences are described as follows.
AP 213 ARM data entities are in a networked form. Data in MetCapp^TM^
are in a hierarchical structure. Data in CS/CAPP^TM^ is a relational
structure since the data are stored in a relational database.
Mastercam^®^ has individual data structures pertaining to surface/curve
geometries and cutter/process parameters to specify tool path creation.
Smartcam^®^ data are also in data structures with links from one to
another, and they are primarily used to define jobs, machining
processes, surface geometries, tool motions, etc. to create the NC tool
paths. Because of the diversity in systems data structures and some
uncertainty about the definition of the data from the software venders,
inconsistency problems in mapping may exist in the mapping tables.

The following assumptions and rules are applied to the mapping table
development:

1.  Only the AP 213 Application Reference Model is considered because
    the Model defines NC machining process plan-specific information in
    STEP.

2.  ARM entity definitions are in Section 4 of the AP 213 document.

3.  The meaning of the generic entities *Numeric_Parameter* and
    *String_parameter* should be referred to their superclasses. For
    example, entities tool_parameter, machine_parameter,
    process_parameter, material_parameter, and
    auxiliary_header_information all have subclasses numeric_parameter
    and string_parameter.

## 4.1 Coverage analysis

Computations are made to quantitatively describe the coverage of AP 213
ARM on the data structures defined in the selected software systems.
Many notations are used, and they are defined as follows:

S~ARM~ : the set of all the entities defined in AP 213 ARM.

S~UARM~ : the subset of S~ARM~ that can be mapped to data structures in
an application system.

S~system~ : the set of all the data structures in an application system
(CAPP or NC programming).

S~out~ : the subset of S~system~ that is out of the scope of AP 213.

S~in~ : the subset of S~system~ that is within the scope of AP 213. So,
S~system~ = S~in~ ∪ S~out~.

S~uncovered~ : the subset of S~in~ that is not covered by the AP 213 ARM
but within the scope of AP 213.

S~mappable~ : the subset of S~in~ that can be mapped to corresponding AP
213 ARM entities. So, S~in~ = S~mappable~ ∪ S~uncovered~.

S~complete~ : the subset of S~mappable~ that is unambiguously mapped to
AP 213 ARM, i.e., all the definitions of the data structures in
S~complete~ match the definitions found in the AP 213 ARM.

S~partial~ : the subset of S~mappable~ that is partially mapped to AP213
ARM entities, i.e., only some, not all, of the attributes in every data
structure of an application system can be mapped to the AP 213 ARM (a
data structure is only partially covered by AP 213).

S~ambiguous~ : the subset of S~mappable~ that has the following problem:
different data structures with different meanings are mapped to one ARM
entity, which thus has an ambiguous definition. Consequently, ambiguity
appears in the mapping. So, S~mappble~ = S~complete~ ∪ S~partial~ ∪
S~ambiguous~.

Q: the total number of entities in S~ARM~ (Q = 67).

S: the total number of entities in S~UARM~ (S ≤ Q).

T: the total number of data structures in S~system~.

O: the number of data structures in S~out~ (O ≤ T).

N: the total number of the data structures in S~in~ (T = O + N).

U: the total number of data structures in S~uncovered~ (U ≤ N).

M: the total number of data structures in S~mappable~ (N = U + M).

C: the total number of data structures in S~complete~ (C ≤ M).

P: the total number of data structures in S~partial~ (P ≤ M).

A: the total number of data structures in S~ambiguous~ (M = C + P + A).

R~M~ : the ratio of the number of system data structures mapped to AP
213 ARM to the number of the data structures that are within the scope
of AP 213. (R~M~ = M/N).

R~C~ : the ratio of the number of completely mapped data structures to
the total number of the mappable data structures (R~C~ = C/M).

R~P~ : the ratio of the number of partially covered data structures to
the total number of the mapped data structures (R~P~ = P/M).

R~A~ : the ambiguity ratio (R~A~ = A/M).

R~U~ : the uncoverage ratio (R~U~ = U/N).

R~O~ : the out-of-scope ratio (R~O~ = O/T).

R~S~ : the ratio of the number of ARM entities used in a mapping to the
total number of entities in AP 213 ARM (R~S~ = S/Q).

The meaning of the ratios is described as follows:

R~M~ : This measures an overall AP 213 coverage on those system data
structures which are in the scope of AP 213. A measure of 1 means all
the data structures in this system which should be mappable can be
mapped to the AP 213 ARM format. A measure of 0 means none of the system
data structures which should be mappable can be mapped to the AP 213 ARM
format. A measure between 0 (excluded) and 1 (excluded) means some of
the system data structures which should be mappable can be mapped to the
AP 213 ARM format.

R~C~ : This measures the completeness of the AP 213 coverage on the
system data structures which should be mappable. A measure of 1 means
all the data structures in this system which should be mappable can be
completely *and unambiguously* mapped to the AP 213 ARM format. A
measure of 0 means none of the system data structures which should be
mappable can be completely *and unambiguously* mapped to AP 213 ARM
format. A measure between 0 (excluded) and 1 (excluded) means some of
the system data which should be mappable can be completely and
unambiguously mapped to AP 213 ARM format.

R~P~ : This measures the partiality of the AP 213 coverage on system
data structures which should be mappable. A measure of 1 means that
every data structure in the system which should be mappable has one or
more attributes that can be completely and unambiguously mapped to AP
213 ARM, and one or more that cannot be so mapped. A measure between 0
(excluded) and 1 (excluded) means one or more attributes in some data
structures which should be mappable cannot be completely and
unambiguously mapped to the AP 213 ARM format.

R~A~ : This measures the ambiguity in mapping system data structures
which should be mappable to the AP 213 ARM. Ambiguity occurs when more
than one data structure is mapped to the same entity in AP 213 ARM. A
measure of 1 means all the data in this system which should be mappable
are ambiguously mapped to the AP 213 ARM format. A measure between 0
(excluded) and 1 (excluded) means some of the system data which should
be mappable are ambiguously mapped to the AP 213 ARM format.

R~U~ : This measures the ratio of the number of the system data
structures within the scope of AP 213 but not mappable to AP 213 ARM to
the total number of the data structures that are within the scope. A
measure of 1 means that all the data within the scope of AP 213 in this
system can not be mapped to AP 213 ARM. A measure of 0 means that all
the data within the scope of AP 213 in this system can be mapped to AP
213 ARM. A measure between 0 (excluded) and 1 (excluded) means some of
the system data within the scope of AP213 cannot be mapped to AP 213
ARM.

R~O~ : This measures the ratio of the number of the system interface
data that are out of the scope of AP 213 to the total number of the data
structures in S~in~ (N). A measure of 1 means that all the system data
structures are out of the scope of AP 213. A measure of 0 means that all
the system data structures are within the scope of AP 213. A measure
between 0 (excluded) and 1 (excluded) means some of the system data are
out of the scope of AP 213.

R~S~ : This measures the magnitude of the portion of all the AP 213
entities used in mapping. A measure of 1 means that all the AP 213
entities are used in mapping. A measure of 0 means none of the AP 213
entities are used in mapping, i.e., the system is not a process planning
system for NC machining. A measure between 0 (excluded) and 1 (excluded)
means some of the AP 213 entities are used in mapping.

All the sets, numbers, and ratios are used in the following Section 4.2
to evaluate the AP 213 ARM coverage in each of the four systems.

## 4.2 The Analysis of AP 213 coverage to Interface Data Sets of Systems

The total number of AP 213 ARM entities is 67 (Q = 67). Each system's
data structures are mapped to some ARM entities.

### 4.2.1 MetCapp^TM^ mapping results

MetCapp^TM^ system version 4.2 is used for this analysis. The system is
an upstream application system relative to NC programming systems.
Therefore the coverage of the AP 213 ARM on the output data structures
defined in this system is analyzed. Data are collected from the user's
manual \[7\] and verified by the authors using the user interfaces of
MetCapp^TM^.

There are 12 categories of data in this system. The names of the data
categories are: routing, operation, feature, part information, material,
workstation, tool, cutdata, pass, note, time standards, and history. The
mapping between MetCapp^TM^ data and the AP 213 ARM is in Table 1 in the
Appendix.

Computations are obtained as follows. \[T~i~, O~i~, U~i~, and A~i~
result from counting data structures in each of the 12 categories in
Table 1.\]

T = 317 (Σ~i=1..12~ T~i~ = 64 + 38 + 32 + 8 + 11 + 28 + 47 + 41 + 21 +
6 + 12 + 9)

O = 33 (Σ~i=1..12~ O~i~ = 13 + 7 + 3 + 0 + 0 + 4 + 0 + 4 + 0 + 0 + 2 +
0)

N = 284 (T -- O = 317 -- 33)

U = 134 (Σ~i=1..12~ U~i~ = 21 + 2 + 22 + 4 + 8 + 19 + 16 + 27 + 5 + 1 +
9 + 0)

M = 150 (284 -- 134)

A = 114 (Σ~i=1..12~ A~i~ = 18 + 19 + 0 + 0 + 1 + 4 + 26 + 17 + 15 + 5 +
0 + 9)

P = 0

C = 36 (150 -- 114 -- 0)

S = 29

R~M~ = 0.53 (150 / 284)

R~C~ = 0.24 (36 / 150)

R~P~ = 0 (0 / 150)

R~A~ = 0.76 (114 / 150)

R~U~ = 0.47 (134 / 284)

R~O~ = 0.10 (33 / 317)

R~S~ = 0.43 (29 / 67)

The following observations can be made:

1.  Many tool-related parameters in MetCapp^TM^ are mapped to the
    Tool_parameter entity in AP 213 ARM. Similarly, machine, process,
    and performance-related parameters in MetCapp^TM^ are mapped to
    entities Machine_parameter, Process_parameter, and
    Performance_parameter in the AP 213 ARM. In many cases, the machine,
    process, or performance name in MetCapp^TM^ is not necessarily
    recognizable (parseable) by another system. Therefore, the ambiguity
    ratio is high (0.70).

2.  Less than half of the AP 213 ARM entities are used in mapping. But,
    a few ARM entities are over used.

### 4.2.2 CS/CAPP^TM^ mapping results

CS/CAPP^TM^ system version 2.2.4 is used for this analysis. The system
is also an upstream application system. Therefore the coverage of the
ARM of AP 213 on the output data structures defined in this system is
calculated. Data are collected from both the Reference Guide \[4\] and
the System Manager Utility manual \[8\].

There are 5 categories of data in this system. The names of these data
categories are as follows: part, operation, step, tool, and sketch. The
mapping between CS/CAPP^TM^ data and AP 213 ARM is in Table 2 in the
Appendix.

Computations are obtained as follows: \[T~i~, O~i~, U~i~, and A~i~ are
resulted from counting data structures in each of the five categories in
Table 2.\]

T = 23 (Σ~i=1..5~ T~i~ = 5 + 10 + 2 + 2 + 4)

O = 0 (Σ~i=1..5~ O~i~ = 0 + 0 +0 + 0 +0)

N = 23 (T -- O)

U = 14 (Σ~i=1..5~ U~i~ = 2 + 6 + 1 + 1 + 4)

M = 9 (N - U = 23 -- 14)

A = 0 (Σ~i=1..5~ A~i~ )

P = 0

C = 9 (M -- 0 -- 0)

S = 5

R~M~ = 0.39 (9 / 23 = 0.39)

R~C~ = 1 ( 9 / 9 )

R~P~ = 0 ( 0 / 9 )

R~A~ = 0 ( 0 / 9 )

R~U~ = 0.61 (14 / 23 )

R~O~ = 9 ( 0 / 23 )

R~S~ = 0.08 ( 5 / 67 )

The following observations can be made:

1.  From the ratios R~S~ and R~M~, about 40% CS/CAPP^TM^ data structures
    are covered by about 10% AP 213 ARM entities. This shows that the AP
    213 ARM entities do not address the system data documented in this
    report well.

2.  Detailed process-oriented information, such as process and
    production parameters, and resource-oriented information, such as
    material parameter, fixture_assembly, and tool_parameters are not
    mapped to CS/CAPP^TM^. CS/CAPP^TM^ can be considered as a more
    general process planning system than just an NC machining process
    planning system.

### 4.2.3 Mastercam^®^ mapping results

Mastercam® system version 6 is applied for this analysis. The system is
a downstream application system relative to CAPP systems. It takes
process plan and CAD data and generates NC programs. The coverage of the
ARM of AP 213 on the input data structures of the system is analyzed.
Data are collected from both the Mill User Guide \[9\] and some example
.prt and .nci system files.

There are three categories of data in this system. They are toolpath,
tool, and toolpath display. The mapping between the Mastercam® system
data and AP 213 ARM is in Table 3 in the Appendix. Although all the data
are grouped in many structures, such as contour, drill, pocket,
flowline, etc., the data that are common to the data structures are used
in this study.

Computations are obtained as follows: \[T~i~, O~i~, U~i~, and A~i~ are
resulted from counting data structures in each of the three categories
in Table 3.\]

T = 136 (Σ~i=1..3~ T~i~ = 82 + 22 + 32)

O = 32 (Σ~i=1..3~ O~i~ = 0 + 0 + 32)

N = 104 (T -- O)

U = 24 ( Σ~i=1..3~ U~i~ = 18 + 6 + 0)

M = 80 (N - U = 104 -- 24)

A = 79 (Σ~i=1..3~ A~i~ = 64 + 15)

P = 0

C = 1 (M -- 0 -- 79)

S = 5

R~M~ = 0.77 ( 80 / 104 )

R~C~ = 0.01 ( 1 / 80 )

R~P~ = 0 ( 0 / 80 )

R~A~ = 0.99 ( 79 / 80 )

R~U~ = 0.23 ( 24 / 104 )

R~O~ = 0.24 ( 32 / 136 )

R~S~ = 0.08 ( 5 / 67 )

The following observations can be made:

1.  The data that are used to define the cutting process and tool paths
    are mapped to one single ARM entity -- process_parameter. Since
    different systems use different process parameter names, the process
    parameter names from CAPP systems can not be recognized by this
    system. No NC machining process vocabulary is defined in AP 213 or
    in STEP.

2.  The NC process and tool definitions are the major input to this
    system. These are specific concepts that are different from one tool
    to another. For example, cutting speed, coolant on/off, depth of cut
    are specific and different process parameters. AP 213 ARM does not
    provide a precise information model for the exchange of these
    definitions from one system to another.

### 4.2.4 Smartcam^®^ mapping results

Smartcam® system version 9 is applied for this analysis. The system is a
downstream application system of process plans; therefore, the coverage
of the ARM of AP 213 to the input data structures of the system is
analyzed. The data structures for this analysis are collected solely
from .jos files.

There are 10 categories of data in this system. They are as follows:
header, job information, work cell, material, step, tool assignment,
tool assembly, operation, and tool. The mapping between the Smartcam®
system data and AP 213 ARM is in Table 4 in the Appendix. Although the
data are grouped in many structures in tool assemblies, tools, and
operations such as end mill assembly, ball mill assembly, end mill, ball
mill, rough milling, and finish milling, etc., the data that are common
to the data structures in the three groups (tool assemblies, tools, and
operations) are used in this study.

Computations are as follows: \[T~i~, O~i~, U~i~, and A~i~ are resulted
from counting data structures in each of the 10 categories in Table 4.\]

T = 103 (Σ~i=1..10~ T~i~ = 8 + 13 + 8 + 3 + 8 + 12 + 5 + 6 + 20 + 20 =
103)

O = 0 ( Σ~i=1..10~ O~i~ = 0)

N = 103 (T - O)

U = 52 (Σ~i=1..10~ U~i~ = 6 + 12 + 6 + 1 + 5 + 5 + 5 + 2 + 3 + 7)

M = 51 ( N - U = 103 -- 52 )

A = 29 (Σ~i=1..10~ A~i~ = 0 + 0 + 0 + 0 + 0 + 4 + 0 + 0 + 15 + 10 )

P = 0

C = 22 ( 51 -- 0 -- 29 )

S = 12

R~M~ = 0.50 ( 51 / 103 )

R~C~ = 0.43 ( 22 / 51 )

R~P~ = 0 ( 0 / 51 )

R~A~ = 0.57 ( 29 / 51 )

R~U~ = 0.50 ( 52 / 103 )

R~O~ = 0 ( 0 / 103 )

R~S~ = 0.18 ( 12 / 67 )

The following observations can be made:

1.  Only half of the system data structures are mapped to AP 213 ARM.
    Those data related to job information and tool assignment are not
    mapped to AP 213. The concepts of "job" and "tool assignment" are
    not well represented in AP 213.

2.  Similar to Section 4.2.3, the NC process and tool definition data
    are found in the input to this system. As evidenced by the high
    ambiguity ratio (0.57), process and tool definitions are repeatedly
    mapped to two entities: process_parameter and tool_parameter.

3.  From the ratio R~S~, only 18% of the AP 213 ARM entities are used in
    the mapping. This means a lot of the system data are mapped to a few
    ARM entities. From the R~A~ measure, more than half of the mapped
    data structures are ambiguously mapped. Those ARM entities that are
    tool path generation-related data are used in the mapping. Non-tool
    path related entities that are not used in mapping are, for example,
    drawing, raw_material_requirement, special_instruction, and
    validation.

### 4.2.5 A Summary of Coverage Measurements

The following table summarized the maximum, minimum, and the average of
the measures of R~M~, R~C~, R~P~, R~A~, R~U~, R~O~, and R~S~ in all four
systems analyzed from Section 4.2.1 to Section 4.2.4.

  ---------- ---------------------- -------------------- --------------------
             **Maximum**            **Minimum**          **Average**

  **R~M~**   0.77                   0.39                 0.55

  **R~C~**   1.00                   0.01                 0.42

  **R~P~**   0.00                   0.00                 0.00

  **R~A~**   0.99                   0                    0.58

  **R~U~**   0.61                   0.23                 0.45

  **R~O~**   0.24                   0                    0.09

  **R~S~**   0.43                   0.08                 0.19
  ---------- ---------------------- -------------------- --------------------

The averages show that the coverage is not high. From the average
R~M~=0.55, only about half of the system data structures are covered by
AP 213. The average uncovered ratio (R~U~) is 0.45. From the
completeness ratio R~C~=0.42, over a half of covered data structures are
completely mappable to AP 213. From the average R~P~=0, there are no
partially mapped data structures because most data structures are broken
down to data elements and mapped to attributes in AP213 ARM entities.
However, from R~A~=0.58, on average more than a half of mappable data
structures are ambiguously mapped because the definitions of the data
structures are close to, but not exactly the same as, the definitions in
AP 213 ARM. From average R~O~ = 0.09, only a few of system data
structures are out of the scope of AP 213. Lastly, from average R~S~ =
0.19, about 20% of ARM entities are used in mapping. Most of AP213 ARM
entities are not relevant to the four systems. This is because there are
only a few process planning-related data structures in the two NC
programming systems.

## 4.3 Observed AP213 Limitations

In another independent effort, an analysis of the Application
Interpreted Model (AIM) was conducted at AlliedSignal, and several
problems were found in the AIM \[10\]. They are described as follows:

1.  It lacks hiearchical and sequencing entities for Actions,

2.  Additional Action_Methods are needed for manufacturing processes,
    e.g., there is a Part_Loading but not a Part_Unloading
    Action_Method. Additionally, Action_Hierarchy, Action_Relationship,
    Action_Sequence, Drill, Finish_end_mill, Marking, Produce_product,
    Production_Operation, Rough_end_mill, Saw, Semi_finish_end_mill,
    Spot_drill, Approval_date_time, Product_Category_Relationship, etc.
    have been identified as missing from AP 213 by Allied Signal, and

3.  Many AIM entities and types were identified as missing from the AIM
    in AP 213. They are documented in Tables 2 -- 4 in \[10\].

From our analysis, a major problem of the ARM is that several entities
are defined to represent very general concepts, resulting in mapping
ambiguity. Multiple system data elements with specific concepts have to
be mapped to one ARM entity. Example overly used ARM entities are
*Performance_rate*, *Activity*, *Material_parameter*,
*Machine_parameter, Tool_parameter, and Process_parameter*. This heavy
reuse results in high R~A~ ratios. This ambiguity problem makes it
difficult to precisely transfer data from one system to another using AP
213. In Allied Signal's report, this kind of ambiguity problem in
Action_Method was also documented in Finding 2 above. Many NC machining
operations must be mapped to Action_Methods. Examples of the NC
machining operations can be found in Tables 1- 4 in the Appendix. Only a
few subactivities (Material_removal, Part_loading, Part_handling,
Machine_setup, Validation, and Ancilliary_action) of the Activity entity
are defined in the ARM. A more detailed Activity (or Action_method)
hierarchy is needed in order to unambiguously transfer operation
definitions from one application system to another using AP 213.

The design information of a machined part is required as basic input
data to both CAPP and CAM systems. Different CAPP and CAM systems have
different requirements for part information. Some systems require stock,
final part shape, tolerance, and surface finish information to calculate
machined volumes. Other systems need surfaces and tolerance information.
There are no clear definitions on stock, finish shape, machined volume,
and intermediate shape in AP 213. AP 213 ARM should provide clear paths
that link stock and machined features data to entities that define
machining operations.

AP 213 ARM lacks the ability to capture tool name. No tool name
attribute is provided by the ARM. Tool name, as the identifier for a
tool, is used in several system data structures. Furthermore, the ARM
lacks clear definitions on tool parameters, which are connected with
tool assembly. Tool assembly elements should also have tool assembly
parameters.

Finally, the concept of data file and document related information
should be in the AP 213 ARM. Data files such as NC files and process
plan files are often captured in system data. Entities to clearly define
the piece of information of the location and properties of a file are
essential in data exchanging and sharing between CAPP and NC programming
systems, but no file name attribute is specified in the ARM. For further
improvement of the AP 213 ARM, we suggest that ISO 14649 Part 11 \[11\],
which is in Committee Draft (CD) Status, as well as CAPP and CAM system
interfaces, and industrial practices should be reviewed.

# 5 CONCLUSION

AP 213 is in Final Draft International Standard (FDIS) status. It is
important to verify the application protocol using commercial systems to
demonstrate the applicability of the standard to the state of the art
technology. By examining the AP 213 Application Reference Model and the
interface data of the four commercial systems, we identified the areas
in the ARM that are insufficient to cover the system data and are
ambiguous in representing some system data. Conclusions can be drawn as
follows:

1)  The AP 213 ARM supports the representation of each of the selected
    application systems to a limited extent. Limitations vary for the
    different systems. The limitations are indicated by the ratios in
    the coverage analysis. In general, low coverage is shown for the
    systems.

2)  A large amount of ambiguity is found in the mapping. This is caused
    by AP 213 ARM entity definitions that are too generic and vague,
    i.e., not specific enough to represent fine concepts.

3)  There are critical philosophical differences in incorporating the
    concept of NC machining process plans in the four commercial
    systems. In process planning systems, machined areas are considered
    as features (volume to be removed). In NC programming systems,
    machined areas are defined by surfaces (in Boundary Representation).
    The AP 213 ARM does not provide a mechanism to identify which
    surfaces in the feature are machined and which ones are used to stop
    the tool (usually referred as check surfaces). Similarly, process
    planning systems are concerned with tool assemblies while NC
    programming systems are concerned with tool slot numbers. This
    discrepancy results in different definitions for tool length.

4)  Problems in the AIM have been identified and documented by the
    project "A Process Definition Repository Based on STEP AP 213"
    conducted by a technical team at Allied Signal Aerospace.

# 6 REFERENCES

\[1\] ISO/FDIS 10303-213, \"Industrial automation systems and
integration - Product Data Representation and Exchange - Part 213:
Application Protocol: Numerical Control Process Plans for Machined
Parts,\" International Organization for Standardization, Geneva,
Switzerland, 1997.

\[2\] Iuliano, M., Jones, A. and Feng, S., "Analysis of AP 213 for Usage
as a Process Plan Exchange Format," NISTIR 5992, National Institute of
Standards and Technology, Gaithersburg, Maryland, March 1997.

\[3\] MetCapp User's Manual, The Institute of Advanced Manufacturing
Sciences, Cincinnati, Ohio, 1994.

\[4\] CS/CAPP Reference guide, version 2.2.4, CIMx, Cincinnati, Ohio,
May 1997.

\[5\] Mastercam Design User guide, version 6.0, CNC Software. Inc.,
Tolland, Connecticut, 1996.

\[6\] Getting Started with Smartcam Mill, version 9.0, CAMAX ,
Minneapolis, Minnesota, 1994.

\[7\] MetCapp Utilities Manual, The Institute of Advanced Manufacturing
Sciences, Cincinnati, Ohio, 1994.

\[8\] CS/CAPP System Manager Utility, version 2.2.4, CIMx, Cincinnati,
Ohio, May 1997.

\[9\] Mastercam Mill User guide, version 6.0, CNC Software. Inc.,
Tolland, Connecticut, 1996.

\[10\] Butler, J., "A Process Definition Repository Based on STEP AP
213," Project Report KCP-613-5997, AlliedSignal, Inc., Kansas City,
Missouri, September 1997.

\[11\] ISO/CD 14649 Part 11, "Industrial automation systems and
integration -- Physical device control -- Data model for Computerized
Numerical Controllers," International Organization for Standardization,
Geneva, Switzerland, 1998.

# APPENDIX

[^1]: This AP 213 Coverage Analysis is a project within the Systems
    Integration for Manufacturing Applications program (SIMA), initiated
    as part of a Federal initative on High Performance Computing and
    Communications. SIMA is supporting manufacturing systems integration
    technologies, development and testing of interface specifications
    for manufacturing systems, application of high performance computing
    and networking technology to integrate design, planning, and
    production processes, and testbeds for achieving cost-effective
    application of advanced manufacturing systems and networks.