Milling Internasional 2

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

2001 NSF Design, Manufacturing & Industrial Innovation Research Conference,

Jan 7-10, 2001, Tampa, Florida

NCML: An Internet Compatible Data Exchange


Format for Custom Machined Parts
Okhyun Ryou
Robert B. Jerard
University of New Hampshire
Mechanical Engineering Department
Durham, New Hampshire 03824, USA
Ph. 603-862-4299 E-mail: robert.jerard@unh.edu
Design and Manufacturing Lab: http://www.unh.edu/dml
Abstract: A new language called NCML
(Numerical Control Markup Language) is
proposed as an enabling technology to permit
buyers and sellers of custom machined parts to
conduct e-commerce via the Internet. NCML
is based on XML (Extensible Markup
Language) the document processing standard
proposed by the World Wide Web Consortium
(W3C). Elements of the language are defined
in a Document Type Definition (DTD) which
is suited for the electronic exchange of
information between buyers and sellers of
custom machined parts capable of being
produced on NC (Numerically Controlled)
machines.
Functionally, NCML is a
description of a process plan for machining the
part which can be easily translated into
toolpaths by a modern Numerically Controlled
machine tool.
Keywords: NC machining, process planning,
Electric Data Interchange, Feature based
Manufacturing, E-Commerce

1. Background
In our previous research we have worked
on the development of a "clean interface"
between design and manufacturing analogous
to the model successfully used in the
electronics industry in the MOSIS project for
the manufacturing of VLSI chips [18]. This
"MOSIS like" capability for mechanical parts
is also the subject of research at other
institutions [21,23,25,29].
The subject of this paper pertains to the
buying and selling of custom machined parts.
The buyers of these types of parts are
dispersed in many different industries
including consumer goods, automotive and
aerospace. The sellers of machining services
are often given the title of "Job Shops" and
will be referred to as such in this paper.
Job Shops usually fabricate parts
according to the customers specifications,
typically defined by a "Request for Quotation"
(RFQ) which includes engineering drawings of
the desired part. The parts vary from order to
order, and the procedures change according to
the part being fabricated. The following
statistics defining the Job Shop industry come
from the National Tooling and Machining
Association (NTMA http://ntma.org/ )

$25 Billion annual revenue

14,000 individual companies with an


average of 25-30 employees

125,000 skilled machinists with annual


capacity of 265 million man-hours
(NTMA members only)

Widespread use of CNC machines

The Job Shop industry plays a vital role in


the process of getting products to the
marketplace. Problems facing the industry
include:
Insufficient supply of skilled machinists.
Uneven workload caused by the business
fluctuation of customers.
Low level of new technology due to
small business environment.
The Internet has been changing the nature
of commerce dramatically for several years
and will change the nature of business for
many industries, including the Job Shop
industry. While most e-commerce sites are in
the "Consumer to Consumer" (C2C, e.g. Ebay)
or "Business to Consumer" (B2C, e.g.
Amazon) domains, the focus is rapidly shifting
to the "Business to Business" (B2B) domain
which is thought to have a larger potential
market than the C2C or B2C domains.
Most e-commerce sites only handle
standardized goods. Products produced by Job
Shops do not fall into this category and
therefore present a relatively high barrier to
entry for e-commerce.
2. The Electronic Data Exchange (EDI)
Problem
What is required for a Job Shop to process
an RFQ into revenue producing work? The
data describing the part must be provided in a
format that is accurate, complete and
unambiguous. Furthermore, the usefulness of
this information is proportional to the ease

with which it can be read and interpreted by


machines. While engineering drawings in
either paper or electronic format do present a
time honored method of data exchange they
are often incomplete, inaccurate and
ambiguous, and they are certainly not easily
read and interpreted by machines.
The seller must analyze the supplied part
information and develop a quotation. If the
business environment is highly competitive as
it surely will be in a web-based online auction
sites, then more Job Shops will participate in
the bidding, and each Job Shop has a lower
probability of receiving the order. Therefore it
becomes quite important to make the quotation
process efficient.
Ideally, the interchange format would
contain enough information to enable
processing the RFQ very easily, including the
tasks of quotation, material preparation and
process planning.
If all designers and manufacturers used a
single CAD/CAM system it would be
relatively simple to transfer a file with the
required precision from one system to another.
Typically, design and manufacturing are done
on separate systems, therefore requiring data
translation from the native data representation
of the CAD system into a standard neutral
file. The neutral file must then be translated
into the native format of the receiving CAM
package.
A number of standards are used to transfer
information from one system to another.
Geometry of various types can be transferred
via the Initial Graphics Exchange Spcification
(IGES) or by using DXF files, a standard
created by Autodesk Corporation.
Solid
information can be transferred using the SAT
standard created as part of the ACIS system
[26], the XMT standard from Parasolids [19]
or via STEP files [5]. However, none of these
methods provide the desired level of
information
exchange
required
for
manufacturing of discrete mechanical parts.
The geometry information is, by itself,

inadequate to define a process plan for an NC


machining program.
The STEP AP224 standard [27] is also a
possible approach since it is designed to allow
process planning using machining features. It
is a well defined standard, has yet to gain
widespread usage.
Gcodes (EIA274) are the standard
language for commanding NC machines but
are unsuitable for defining the desired part.
G-codes are postprocessed for each individual
NC machine. These NC programs are large in
size, but small in information content. They
contain no information about the design intent
of the part, nor any tolerance information.
With the advent of Open Architecture
Controllers (OAC) [1,15] on modern machine
tools, G-codes could be augmented by higher
level languages. Many machine tools already
have built-in macros to perform basic
drilling and pocketing operations.
The
translation from the NCML file described in
this paper into those macros would be very
straightforward.
To date, only a few web sites try to match
the buyers and suppliers of custom machined
parts in a B2B web based environment.
MfgQuote.com (www.mfgQuote.com) is a
web site providing this kind of service. The
main function of MfgQuote.com is to
distribute buyers RFQs to the registered Job
Shops via the web. Other examples of internet
aided commerce for Job Shops exist, but it is
our belief that improved data descriptions are
needed to enable truly successful e-commerce
in this domain.
The purpose of our research is to develop
methods which can help Job Shops achieve
higher productivity and be competitive in the
electronic age while also overcoming the
aforementioned problems of low technology
level, uneven workload, and an insufficient
number of skilled machinists. The goals are:
To improve Job Shop productivity and to
amplify
the
skilled
machinist's
capabilities.

To provide an efficient matchmaking


method that will allow Job Shops to
maintain full utilization of their
manpower and machines.
To provide information that is accurate,
complete, unambiguous and machine
interpretable to thereby reduce the Job
Shop's burden of quotation and
translation of the design model data in
the CAM system.
To build a communication method
between buyers and sellers to allow
discussion of design and fabrication
problems.

3. Numerical Control Markup Language


(NCML)
We propose a new format for exchange of
product information between buyers and
sellers of custom machined parts: NCML.
NCML is based on XML, the document
processing standard proposed by the World
Wide Web Consortium (W3C) [30].
The format of the XML document is
defined in a Document Type Definition
(DTD). Therefore, the syntactical correctness
of the NCML file can be checked by applying
the DTD to the XML document. Moreover, the
DTD document can be stored at any place on
the Internet and referred to by users
worldwide. XML provides an agreed upon
syntax and the DTD provides a definition for
the structure and content of the particular data
type.
XML and HTML are both derived from
SGML (Standard Generalized Markup
Language) and while HTML has permitted the
rapid growth of the Internet by making
documents universally "human readable",
XML is designed to allow data to be formatted
such that it is "machine readable". Unlike
HTML which has a fixed set of tags which
identify the characteristics of text, XML
allows users to define their own tags, thereby
making it possible to share databases via the

web in a format that makes machine


interpretation possible.
A number of
applications are being developed by disparate
groups of users, e.g. MathML for the
definition of mathematical equations, SML for
the steel industry, etc.
XML documents can be displayed in
popular web browsers like the Microsoft
Internet Explorer (ver 5.0 or up) without any
modification and programming efforts.
Moreover, there are many supporting tools to
make the XML document available on the
Internet. To date, at least two popular XML
formatting language for improving the
appearance of the XML document on the web
browser are available: CSS (Cascading Style
Sheet) and XSL (eXtensible Style Language).
For programmers who must develop
applications to process the XML, APIs in the
most common computer language for instance,
C++ and Java, are available for data parsing
and storing the database system [3,17].
4. Document Type Definition for NCML
In this section we describe the
architecture of NCML. Figure 1 illustrates the
structure of NCML. The NCML document is

comprised of everything it takes to define a


machined part. The Element Tree for NCML is
included in Appendix A, and a sample NCML
document of a simple machined part is in
Appendix B.
The root element of the NCML file is the
"part-spec" which contains five elements:
HEADER: The header element consists
of general information about the part and the
buyer.
WORKPIECE: The workpiece element
specifies the shape of workpiece such as a
CUBE or CYLINDER. The material type
is also defined in this node. More complex
definitions such as IGES, SAT, XMT or STEP
files can also be used to define the geometry
but are not currently implemented.
BODY: As seen in Figure 1 the NCML
body elements are arranged in an intuitive
format consistent with the language of
machinists. From the top level, the body
structure is broken down into setup, pattern,
and operation.
The operations of the body element are
NCML Root
part-spec
Contents in () - Element Identification

header

workpiece

body

tool-set

tolerance-lib

setup(S1)

setup(S2)

tool(T1)

tolerance-set(Tol1)

tool(T2)

tolerance-set(Tol2)

tool(T#)

tolerance-set(Tol#)

...

...

... ...

... ...

pattern-pocket
(S1-PP1)

operation-pocket
(S1-PP1-op1)

pattern-hole
(S1-PH2)

operation-pocket
(S1-PP1-op2)

Figure 1 NCML components and structure

based on manufacturing features (e.g. Hole,


Pocket and Contour) and are initially focused
on 2 machining operations such as those
classified by Kramer [14]. These features are
made more general by the tool-set elements of
the NCML document.
TOOL-SET: Commonly used tools like
ball-end and flat-end cutters can be defined in
the tool-set element, as well as less commonly
used tools, e.g. a dovetail cutter. This concept
allows the user to easily and simply define
machining features such as counterbored
holes, edge rounds, or tapered sides on a
pocket or contour. The manufacturing feature

<operation-hole seq-no="S:1-PH:1-OP:1">
<depth value = "1.50"/>
<point />
</operation-hole>
(a) operation-hole codes with two different tools

<operation-contour seq-no="S:1-PC:1-OP:1">
<depth value="0.50"/>
<offset direction="NONE"/>
<poly-line>
<line>
<point y="1.00"/>
<point x="1.50" y="1.00"/>
</line>
<line>
<point x="3.00" y="2.00"/>
</line>
</poly-line>
</operation-contour>

and its associated tool define an operation in


NCML. All operations are associated with
geometry consisting of points or curves.
Curves are comprised of lines and arcs and
may be either open or closed. For example, a
hole is defined by a point; a pocket by a closed
curve; and a contour by either an open or
closed curve.
In Figure 2, we can see the NCML
feature definition and graphical display of the
features. Notice that the same feature
geometry can generate different machining
shapes according to the chosen tool.
Figure 2a shows the hole operation. The
hole on the left is a simple hole. However, the

<operation-pocket seq-no="S:1-PP:1OP:1">
<depth value = "0.50"/>
<poly-line>
<line>
<point x="0.30" y="1.70"/>
<point x="0.30" y="0.30"/>
</line>
<line>
<point x="2.70" y="0.30"/>
</line>
<line>
<point x="2.70" y="1.70"/>
</line>
<line>
<point x="0.30" y="1.70"/>
</line>
</poly-line>
</operation-pocket>
(c) operation-pocket codes

(b) operation-contour codes

Figure 2 Examples of features with custom tools

second one is a hole with a countersink. Notice


the difference of corner radii in the simple
pocket operation in Figure 2c. The tool choice
can lead to different corner radii, all with the
same pocket operation.
The tools actually used by the Job Shop
may or may not be the same as the tool defined
in the NCML file. Actual tool usage depends
on the availability of each tool in the their tool
crib. The feature definition along with the tool
definition in the NCML file may be translated
into several simple machining volumes in the
machining process.
TOLERANCE-LIB: Tolerances play a
vital role in manufacturing and are used by the
skilled machinist in almost every aspect of
process planning and tool path generation. It is
therefore very important to include tolerance
specifications in NCML. In the tolerance-lib
element, several tolerance-set elements can be
defined. In each tolerance-set element, several
tolerance
values
for
size
tolerance,
concentricity tolerance, etc-can be added. Each
structural element like setup, pattern or
operation includes a reference to a toleranceset.
5. Hierarchical Structure Definition
The body element is comprised of one or
more setups. The setup element corresponds
to an orientation of the workpiece on the NC
milling machine. The Local Coordinate
System (LCS) is an orthogonal right hand
coordinate system defined in the setup
element. The LCS is defined by an origin in
World Coordinate System
(WCS). Any
geometry declaration inside the setup element
is defined relative to this LCS.
In each setup, machining operations may
be grouped into patterns. The pattern element
is a group of similar operations that use the
same cutting tool and share the same
machining strategies. The pattern element is
directly associated with a tool element defined
in the tool-set. Examples include bolt hole

patterns or a set of nested pockets.


The operation elements are the
fundamental machining features and are
currently limited to one of three basic types:
hole, contour, and pocket. These three
fundamental operations can be used to create
holes, pockets, bosses (pocket with an island),
slots, facing, and side milling operations. The
application which processes the NCML file
can calculate the volume or each machining
operation. Associating basic process planning
with specific machining strategies makes it
possible to automatically estimate machining
time and cost for quotation purposes.
6. Implementation
An implementation of the data interface
with NCML files is now briefly described. To
validate how NCML works and its
effectiveness in the data interchange on the
web, a prototype system was developed. This
prototype system covers all processes from the
design of the parts to web based data
interchange and finally to part fabrication. We
have developed two separate applications:
FACILE [9,10] and EMill. FACILE (Fast
Associative Clean Interface Language and
Environment) is a simple manufacturing
feature based CAD/CAM software system
which allows us to quickly create NCML
documents. FACILE can also be used to
generate NC toolpaths from the NCML
document.
FACILE has been implemented using the
SilverEngine geometric kernel [8] from the
Schroff Development Corporation [22] using
Microsoft C++.
EMill is an e-commerce model for custom
machined part whereby buyers can post RFQs
and sellers can bid on jobs. The matchmaking
method adopted in EMill is based on an
auction/bid system similar to other successful
e-commerce sites.
The functional elements in this prototype
system are shown in Figure 3. The shading
texture in the diagram indicates functions not

yet implemented.
The various functions of FACILE are:
Modeling: Users can create a model by
defining machining operations organized into
the pattern and setup elements. The swept
volumes for the machining features are
subtracted from the object workpiece in a step
that we call MACRO simulation to show the
user what the final part will look like. The
same capability can be used by the Job Shop to
easily visualize the sequence of operations and
the resulting shape of the part before
generating any toolpaths.
NCML Generator: This is one of the
basic functions of FACILE. FACILE can
generate NCML documents as defined by the
user through the graphical interface.
Web Compatible Graphic model
generator: Showing a graphical representation
with the NCML document helps users
visualize the part. FACILE is used to create a
VRML
(Virtual
Reality
Modeling
Language)[28] model of the part from the
NCML document. VRML is a platformindependent file format for sharing 3D worlds
on the Web [13].
Part Data Posting on the EMill Web
Site: The data posted by the buyer consists of
an NCML document and the VRML 3D
model. If needed, other supplementary data
can be included. The EMill application will

arrange the given data on the specified web


page and inform the sellers that an RFQ is
ready for bid.
Dynamic Quotation
(Quotation
Helper) and Manufacturing Feasibility
Check: Since EMill employs an auction/bid
method for matchmaking, timely and accurate
quotation is essential for both buyers and
sellers. To achieve this goal, it is necessary to
extract information from the NCML document
which affects the cost of the job. This is a
critical function and will be the focus of our
research efforts during the coming year.
Matchmaking:
The
matchmaking
model applied in EMill is a variant of the
bidding model used in other well-known
auction sites. The main difference is that while
price is of primary importance when buying
and selling commodity items, in the EMill
model, delivery time and the buyer's
confidence in the Job Shop's capabilities are at
least as important as price. EMill will match
buyers and sellers efficiently by allowing the
buyers to set the bidding period, specify a
target price and/or delivery time, and by
allowing the sellers to suggest modifications in
a convenient electronic format. Figure 4
shows the screen shot where fabricators get the
general information on the posted parts and
can place a bid on the part.

FACILEDesigner(CAD)

EMill
E-Commerce

Modeling

Web Posting
Dynamic
Quoatation

NCML Generator
Web compatible
Graphic model
generator

FACILEFabricator(CAM)

NCML translator
Feasiblity
checking

Machining
strategy Editor

Design
Collaboration
Match Making

Figure 3 Functional elements in the NCML implementation

NC code
generation

Figure 4 - Screenshot of the EMill prototype broker web site for buying
and selling custom machined parts.
Communication Tools: A potential part
bidder can examine the RFQ information
(geometry and specifications) and interact with
the part buyer by using the markup capability
of EMill. The upper left frame of Figure 4
shows a standard VRML viewer plug-in
(COSMO player). Users can rotate and zoom
the image in and out. They can switch between
machining set-ups defined in the NCML
document in the left lower frame. A user can
pop out a fabrication feature by clicking on it
in the VRML frame. This also leads the user to
the geometric definition of the selected feature
in the lower left frame.
Clicking a line in the upper right window
activates the markup window on the right
lower window. Sellers can create and add new
comments on the part on the right side of this
page. By responding to the sellers' comments,

the buyer can resolve ambiguities in part


design and answer questions about possible
modifications which would make the
machining easier or less expensive.
NCML translator: FACILE can both
create and import NCML documents. The
imported NCML document can be translated
into an internal solid model and viewed by the
seller to help visualize the part.
Toolpath generation: FACILE is
equipped with manufacturing functions which
illustrate how NCML can be used to generate
toolpaths for a specific NC machine. The
machinist can create a set of manufacturing
strategies for each machining process and then
assign those strategies to each pattern and/or
operation in the NCML document. Toolpaths
can then be generated automatically [7].
These toolpaths can be simulated via what we

call "micro simulation" (as opposed to the


macro simulation discussed earlier prior to
toolpath generation). Cutting conditions can
be optimized using methods developed in
some of our other research [2,4,6,11, 12].
7. Conclusions and Future work
This paper describes a proposal for the
establishment of NCML, an enabling
technology for the electronic buying and
selling of custom machined parts. NCML is an
XML document, which is being proposed as a
standard for data sharing on the web.
Therefore NCML should be compatible with
other web-based applications. This modest
first step needs significant development before
it could be adopted for general usage.
In the next phase of our research we
intend to test the NCML concept by applying
it to a number of test parts obtained from the
National Design Repository maintained by
William Regli at Drexel
University
(http://edge.mcs.drexel.edu/repository).
The
concept can only be proven if actual parts can
be made using this method.
To be successful NCML will need to
expand it scope to include fixtures and
specialized
tooling.
In
addition,
characterization of machine tools within
NCML would aid in the matching of buyer's
parts with the seller's specific capabilities.
Finishing operations also need to be
considered. An engineering drawing, despite
its imperfections, contains a great deal of
useful information, all of which must be
included in NCML.
The mapping of the NCML document
into specific machining strategies and
eventually into toolpaths should be fairly
straightforward in most cases, but the NCML
document does not present a unique
description of the part. Indeed, a particular
part can be represented with an unlimited
number of setups, patterns and operations. The
mapping from one NCML representation into
others to accommodate the machinist's

preferences and the capabilities of a particular


type of NC machine will require further
research.
The tolerance-set element requires more
development as it is not currently able to
handle all types of geometric form tolerances
or all possible tolerance relationships between
machining features.
The need to translate CAD geometry into
NCML presents a potential barrier to usage. It
can certainly be done by manual means, but
automatic feature recognition and NCML
generation directly from the CAD solid model
would be preferable. Research by Nau [20],
Shah [24] on automatic feature recognition
may be applied to this task.
Finally, the development of any standard
requires
the
participation
of
many
constituencies. The primary stakeholders in
NCML include:
1) Job Shops
2) Machine Tool builders
3) Machine Tool Controller builders
4) CAM software vendors
5) Internet Broker service providers acting
as a middleman for the matching of
buyers and sellers of custom machined
parts
6) CAD software vendors
While
acknowledging
the
many
challenges, it is also important to recognize the
promise of NCML. We believe that it has the
potential to greatly accelerate the usage of ecommerce in the production of custom
machined parts.
8. Acknowledgements
The support of the National Science
Foundation under grant DMI-9713906 is
gratefully acknowledged.

9. References
[1] Altintas, Y., 1994, "A Hierarchical OpenArchitecture CNC System for Machine Tools",
Annals of the CIRP, vol. 43, pp. 349-354.
[2] Choi, B and R. Jerard, 1998, Sculptured Surface
Machining - Theory and Applications, Kluwer
Academic Publishers, ISBN 0-412-78020-8
[3] Eckstein, R., 1999, XML Pocket Reference,
OReilly
[4] Fussell, B.K. R.B. Jerard and J.G. Hemmett, CNC
Feed Velocity Selection for Sculptured Surface
Machining, Proceedings of the 2000 NSF Design
and
Manufacturing
System
Conference,"
Vancouver, B.C., Canada, Jan. 3-6.
[5] Hardwick, M. and D.L. Spooner, STEP Services
for Sharing Product Models in a Virtual
Enterprise, Proceedings of the 1998 ASME Design
Engineering Technical Conference, DETC98/CIE5518, Sept 13-16, Atlanta.
[6] Hemmett, J.G. B.K. Fussell, and R.B. Jerard,
Automatic 5-axis CNC feed-rate selection via
discrete mechanistic, geometric and machine model
integration, Proceedings of the IFIP TC5 WG5.3
Conference on Sculptured Surface Machining,
Kluwer Academic Publishers, 1999.
[7] Held, M., G. Lukcs, L. Andor, 1994, "Pocket
Machining Based on Contour-Parallel Tool Paths
Generated by Means of Proximity Maps",
Computer-Aided Design, 26(3):189--203, March.
[8] Howe, J., 1997, "SilverSmith, The SilverScreen C
Programming Manual," Schoff Development
Corporation.
[9] Jerard, R.B. and Cox, S.J., "FACILE: A Clean
Interface for Design and Fabrication," Proceedings
of the 1998 ASME Design Engineering Technical
Conference, DETC98/CIE-5529, Sept 13-16,
Atlanta.
[10] Jerard, R.B. and Ryou, O., "Internet Based
Fabrication of Discrete Mechanical Parts,"
Proceedings of the 2000 NSF Design &
Manufacturing Research Conference, Jan 3-6,
2000, Vancouver, British Columbia
[11] Jerard, R.B. and B.K. Fussell, Toolpath
Optimization by Real-time Application of an
Integrated
Geometric/Mechanistic
Model,
Proceedings of the 1999 NSF Design and
Manufacturing System Conference," Long Beach,
California, Jan. 5-8.
[12] Jerard, R.B., B.K. Fussell, J.G. Hemmett, Mustafa
T. Ercan, Toolpath Feedrate Optimization: A Case
Study, Proceedings of the 2000 NSF Design and
Manufacturing System Conference," Vancouver,
B.C., Canada, Jan. 3-6.

[13] C.Y. Kim, Y. Kim, S.H. Kang, N. Kim and P.


OGrady, Internet-Based Concurrent engineering:
An Interactive 3D System with Markup,
Proceedings of the 1998 ASME Design
Engineering Technical Conference, DETC98/CIE5522, Sept 13-16, Atlanta.
[14] Kramer, T. R., 1992, A library of material removal
shapes element volumes (MRSEVs), Technical
Report NSTIR 4809, NIST, Gaithersburg, MD,
Mar.
[15] Manufacturing Data Systems, Inc. (MDSI),
http://mdsi2.com/
[16] Mead, C. and Conway, L., 1980, Introduction to
VLSI Systems, Addison-Wesley.
[17] Michael Morrison, et al. , 2000, XML Unleashed,
Sams Publishing.
[18] The MOSIS Service, Information Sciences
Institute, University of Southern California,
http://www.mosis.org/
[19] Parasolids,
Unigraphics
Solutions
Inc.,
http://www.ugsolutions.com/products/parasolid/
[20] Regli, B., Gupta, S. K. and Nau, D.S., 1995,
Extracting Alternative Machining Features: An
Algorithmic Approach, Research in Engineering
Design. Vol. 7, Number 3, pp. 173-192
[21] Sarma, S.E., S. Schofield, J. Stori, J. MacFarlane
and P. Wright, Rapid Product Relization from
Detail Design, Computer Aided Design, vol. 28,
no. 5, pp 383-392, 1996.
[22] Schroff
Development
Corporation,
http://www.schroff.com
[23] Scofield, S., and Wright, P.K., "IMADE: A
Hierarchy for Intelligent Machines", Concurrent
Product and Process Engineering, ASME, MED vol.
1.
pp
53-65.
see
also
http://infopad.eecs.berkeley.edu/~fuchung/papers/c
anada96/canada96.htm.
[24] Shah, J.J. and M. Mantyla, 1995, Parametric and
Feature-Based CAD/CAM, Wiley.
[25] Smith, J.P., S.A. McMains, C.H. Sequin, SIF: A
Solid Interchange Format for Web-Based
Prototyping, Proceedings of the 1999 NSF Design
and Manufacturing System Conference," Long
Beach, California, Jan. 5-8.
[26] Spatial Technology, http://www.spatial.com.
[27] STEP AP224, ISO/FDIS 10303-224, Mechanical
Product Definition for Process Planning Using
Machining Features, International Organization for
[28] VRML, ISO/IEC 14772-1, http://www.vrml.org
[29] Wang, F.F. and P.K. Wright, Web-Based CAD
Tools for a Networked Manufacturing Service,
Proceedings of the 1998 ASME Design
Engineering Technical Conference, DETC98/CIE5517, Sept 13-16, Atlanta.
[30] World
Wide
Web
Consortium
(W3C),
http://www.w3.org/

Appendix A. The NCML element tree(s)


Root element : part-spec
part-spec
|_(header,
| |_(part,
| | |_(name, date, revision )
| |__address?,
| | |_((name, tel, email),
| | |__(company, street, region, postal-code, locality, country)?)
| |__memo?)
|
|__workpiece,
| |_(material, cube | cylinder)?)
|
|__structure?,
|
|__body,
| |_(setup+)
|
|_(axis,
|
|__(pattern-hole |
|
| |_(operation-hole+)
|
|
|_(depth, point) ...
|
|___pattern-contour |
|
| |_(operation-contour+)
|
|
|_(depth, offset, poly-line) ...
|
|___pattern-pocket )* )
|
|_(operation-pocket+)
|
|_(depth, ... poly-line+) ...
|
|__tool-set,
| |_(tool+)
|
|_(diameter, flute-length?, corner-radius?, pitch-width?, h-limit?,
|
point-angle?, apt-parameter?, poly-line?,is-cutter?)
|
|_((line | arc)*) ...
|
|__tolerance-lib )
|_(tolerance-set*)
|_(bilateral?, flatness?, roundness?, profile?, concentricity?)
Conventions:
"( )": Parenthesis to include sub elements
"...": Element omission symbol
Element multiplicity symbols:
" " : Exactly One
"?" : Optional(zero or one)
"+" : One or more
"*" : Many(zero or more)

Appendix B. Simple Part in NCML


<?xml version='1.0' encoding='ISO-8859-1' ?>
<!DOCTYPE part-spec SYSTEM "d:\facile\lib\MPPML.dtd">
<part-spec unit = "INCHES" version = "NCML(FACILE Version 1.0)">
<header>
<part>
<name>SAMPLE</name>
<date>8/30/2000</date>
<revision>Blank-Part Number</revision>
</part>
<address>
<name>ROBERT B. JERARD</name>
<tel>603)862-1234</tel>
<email>ROBERT.JERARD@UNH.EDU</email>
</address>
</header>
<workpiece type = "CUBE">
<material>BLANK :Default Material</material>
<cube>
<point z = "-1.000000" use = "Minimum Point"/>
<point x = "5.000000" y = "4.000000" use = "Maximum Point"/>
</cube>
</workp iece>
<body>
<setup seq-no = "S:1">
<axis>
<point use = "ORIGIN"/>
<point z = "1.000000" use = "Z-Axis"/>
<point x = "1.000000" use = "X-Axis"/>
</axis>
<pattern-pocket seq-no = "S:1-PP:1" use-tool = "T1">
<operation-pocket seq-no = "S:1-PP:1-OP:1" >
<depth value = "0.250000"/>
<poly-line>
<line>
<point x = "4.000000" y = "3.000000"/>
<point x = "1.000000" y = "3.000000"/>
</line>
<line>
<point x = "1.000000" y = "1.000000"/></line>
<line>
<point x = "4.000000" y = "1.000000"/></line>
<line>
<point x = "4.000000" y = "3.000000"/></line>
</poly-line>
</operation-pocket></pattern-pocket>
<pattern-hole seq-no = "S:1-PH:1" use-tool = "T2">
<operation-hole seq-no = "S:1-PH:1-OP:1" >
<depth value = "1.500000"/>
<point x = "0.250000" y = "0.250000"/>
</operation-hole>
<operation-hole seq-no = "S:1-PH:1-OP:2" >
<depth value = "1.500000"/>
<point x = "4.750000" y = "0.250000"/>
</operation-hole>
<operation-hole seq-no = "S:1-PH:1-OP:3" >
<depth value = "1.500000"/>
<point x = "0.250000" y = "3.750000"/>

</operation-hole>
<operation-hole seq-no = "S:1-PH:1-OP:4" >
<depth value = "1.500000"/>
<point x = "4.750000" y = "3.750000"/>
</operation-hole>
</pattern-hole>
</setup>

Sample Part Shape

<setup seq-no = "S:2">


<axis>
<point x = "5.000000" use = "ORIGIN"/>
<point x = "1.000000" use = "Z-Axis"/>
<point z = "-1.000000" use = "X-Axis"/>
</axis>
<pattern-contour seq-no = "S:2-PC:1" use-tool = "T3">
<operation-contour seq-no = "S:2-PC:1-OP:1" >
<depth value = "0.500000"/>
<offset direction = "NONE"/>
<poly-line>
<line>
<point x = "0.500000" y = "-0.500000"/>
<point x = "0.500000" y = "4.500000"/>
</line></poly-line>
</operation-contour></pattern-contour>
</setup>
</body>
<tool-set>
<tool type = "FLATM" index = "T1">
<diameter value = "0.500000"/></tool>
<tool type = "DRILL" index = "T2">
<diameter value = "0.250000"/></tool>
<tool type = "FLATM" index = "T3">
<diameter value = "0.375000"/></tool>
</tool-set>
<tolerance-lib/>
</part-spec>

You might also like