an overview on five approaches for translating cad ... - World Scientific

0 downloads 0 Views 2MB Size Report
Journal of Advanced Manufacturing Systems. Vol. 8, No. ... larly, because of the need for more complex parts, conventional manual tool path code writing will ... In this paper, five methods of translating CAD data into useful manufacturing infor-.
May 12, 2009 15:2 WSPC/180-JAMS

00168

Journal of Advanced Manufacturing Systems Vol. 8, No. 1 (2009) 89–114 c World Scientific Publishing Company 

AN OVERVIEW ON FIVE APPROACHES FOR TRANSLATING CAD DATA INTO MANUFACTURING INFORMATION

BAHRAM ASIABANPOUR∗ Ingram School of Engineering, 601 University Drive Texas State University — San Marcos, Texas 78666, USA [email protected] ALIREZA MOKHTAR Department of Industrial Engineering Sharif University of Technology PO Box 11155-9414, Tehran, Iran MOHAMMAD HAYASI Department of Mechanical and Manufacturing Engineering Faculty of Engineering, Universiti Putra Malaysia 43000 UPM Serdang, Malaysia ALI KAMRANI Department of Industrial Engineering University of Houston, 213 Engineering Building 2 Houston, Texas 77204-4008, USA EMAD ABOUEL NASR Department of Mechanical Engineering Faculty of Engineering at Helwan, Helwan University Helwan, Cairo, Egypt

All Rapid Prototyping and CNC material removal processes use information which is extracted from a CAD system. There are several ways to convert CAD data into usable manufacturing information. In this paper, five methods of translating CAD data into a usable manufacturing format are explained. These five methods are data translation from CAD files in STL, DXF, STEP-NC, and IGES formats as well as a platform-dependent area method of manufacturing information in a desirable format. For each method, algorithms and details about the CAD data translation into usable manufacturing and prototyping processes formats are presented. Finally, applications of each approach and its pros and cons are summarized in a table. Keywords: CAD/CAM; NC path generation; feature extraction; CAD file standards.

∗Corresponding

author. 89

May 12, 2009 15:2 WSPC/180-JAMS

90

00168

B. Asiabanpour et al.

1. Introduction Every Rapid Prototyping (RP) system has its own specifications. The part boundary form, part filling method, and part separation from the surrounding material determine the machine (NC) path pattern for every layer. This machine path pattern could be a robotic movement in XY plane for FDM or contour crafting machines, a laser pattern for material solidification in SLA and SLS machines, or a laser cutter pattern for a LOM machine. These processes require different machine path pattern generation strategies. Therefore, unlike CNC standard tool path files (e.g. APT and G-Code), there is no standard tool path file for RP systems. Similarly, because of the need for more complex parts, conventional manual tool path code writing will not be effective for many machining processes such as CNC mill, lathe, drill, and laser cutting. Therefore, geometrical data in CAD system must be extracted and translated into a usable format for a specific manufacturing process. In this paper, five methods of translating CAD data into useful manufacturing information are explained. Four of these methods use data extraction from a standard CAD format including STL, DXF, STEP-NC, and IGES and one method extracts CAD data from platform-dependent area. In each case, algorithms for data translation are presented. 2. CAD Standards The majority of the RP processes use STL CAD format to extract the geometrical data of the model to be used in an RP machine. Several commercial CAM and CAD/CAM systems use CAD input in DXF, IGES, or STEP-NC formats. This section explains the process of data extraction for each of these standards. Finally a method for the manufacturing data extraction from a platform-dependent area is explained. 2.1. Path generation by use of DXF file DXF (Drawing Exchange Format) is a CAD data file format, developed by Autodesk to transfer data between AutoCAD and other programs. Due to the complexity of the DXF files, generating a tool path from these files for any automated machining or fabricating process is very difficult. In such a tool path generation mechanism, geometrical data need to be identified and extracted from many other data available in a DXF file that are not useful for a tool path. Data can be extracted from models that are designed as two-dimensional (2D or wireframe) or two and half dimensional (2.5D or surface) objects. Extracting data from DXF files containing 2.5D objects are more complex than DXF files containing 2D objects because, for 2D objects the geometrical data are stored in the form of the object end points (e.g. start and end points of a line) while for 2.5D objects, the geometrical data of a model (e.g. the surface of a sphere) is stored in the form of many small rectangles. In such case, for each rectangle x, y, and z coordination of all four corners are stored (Fig. 1).

May 12, 2009 15:2 WSPC/180-JAMS

00168

Translating CAD Data into Manufacturing Information

Fig. 1.

91

Saving a 2.5 D model saved in the DXF file format.

Fig. 2.

Tool path generation from DXF file.

As shown in Fig. 2, in addition to geometrical data, the desired quality of the final part affects the tool path output. If the tool radius is considered for the tool path generation, which is a must for almost all path-based processes, then the complexity of tool path generation process becomes more complicated. In the tool radius compensation, the tool path is calculated for the center of the tool (not for the touching point of the tool and the part). Therefore in the tool path generation process, both the curvature of the object at the tool and object touching point and the tool specification (size and shape) are affecting the center of the tool coordination. The curvature of the object at any point is shown by the normal vector. A normal vector is a vector (often unit) that is perpendicular to a surface. Specifications of the tools may cover a variety of shapes and sizes. Three of the most common geometries of the tools are Flat End, Ball End, and Tip Radius. Most of the tools for machining and fabricating processes such as milling, extruding, welding, and laser beam are similar to one of these three geometries. Flat end tool: To calculate the position of the tool center for the tool path, the geometrical data of four corners of each rectangular 3D face is used. In this

May 12, 2009 15:2 WSPC/180-JAMS

92

00168

B. Asiabanpour et al.

Fig. 3.

Flat end tool.

process, the unit normal vector of the 3D face is calculated [Equations (1) to (3)] and then it is used to determine the tool center position [Equations (4) to (6)]. In the flat end tools, the tool center is located at the same height (z level) as the tool and object touching point. This fact simplifies the calculation for the z level of the tool position.   1   N ormal vector = ru × rw =  Xu  X

w

1 Yu Yw

= [(Yu Zw − Zu Yw ) 2

 0   Zu   Zw 

(Zu Xw − Xu Zw ) 0] = [A

B

2 0.5

ru · rw = (A + B )

U nit normal vector = N1 (U, W ) =



A (A2 + B 2 )0.5

B (A2 + B 2 )0.5

 0

0]

(1) (2) (3)

• Tool center position: A + B 2 )0.5 A Ya = Y1 + R 2 (A + B 2 )0.5 Za = Z1

Xa = X1 + R

(A2

(4) (5) (6)

At the end, it is necessary to mention that due to the complexity and limitations of the DXF files, it is very uncommon to use DXF to produce a tool path for rapid prototyping, rapid manufacturing, or even 3D and 2.5D CNC machine code. Its application in CAM is usually limited to 2D applications such as drilling. Details about the path generation for the ball end tool and tip radius end tool can be found at Ref. 1. 2.2. Path generation by use of STL file Every rapid manufacturing and prototyping system has its own specifications. The part boundary form, part filling method and part separation from the surrounding material determine the tool path pattern for every layer. This tool path pattern

May 12, 2009 15:2 WSPC/180-JAMS

00168

Translating CAD Data into Manufacturing Information

(a) Fig. 4.

(b)

(a) A meshed CAD object and (b) The position of the object and tool path.

Slice 1

file

93

Step 1 Slicing

Slice 2

:

Subroutines: Point finding Point sorting Hatch printing

Step 2 Contour generation

Machine Path file

Step 3 Heat elements status assignment

Heater status file

Slice n

Fig. 5.

The three steps of slicing, machine path generation, and heat element status assignment.

could be a robotic movement in XY plane for FDM or Contour Crafting machines, a laser pattern for material solidification in SLA and SLS machines or a laser cutter pattern for a LOM machine. These processes require different tool path pattern generation strategies. Therefore, there is no standard tool path file for RP systems. Instead, all rapid manufacturing and prototyping require a dedicated tool path generator. In this section, a tool path generation for the Selective Inhibition of Sintering (SIS) process is presented. The software that is developed for this application can be modified and adjusted for many other rapid prototyping and rapid manufacturing processes. This system uses STL files with the ASCII format as input and works in three steps (Fig. 5). 2.2.1. Step 1 — Slicing algorithm In Step 1, the STL file is read as input. Slice files are then generated by executing the slicing algorithm: (a) One facet data is read at a time and it is intersected with the XY plane. The intersection line between facet and plane P at Z = z is found. (b) For each facet, one line is generated in each plane of Z = z, Zmin ≤ z ≤ Min{Zmax , Max{zA , zB , zC }}. (c) Repeat a and b for all facets. Finally, a sliced model of the original solid model is generated. The example shown in Fig. 6 illustrates the slicing algorithm.

May 12, 2009 15:2 WSPC/180-JAMS

94

00168

B. Asiabanpour et al.

(a)

(b) Fig. 6.

(c)

Slicing algorithm steps.

2.2.2. Step 2 — Tool path generation After the completion of the slicing process, a set of vectors becomes available in each z increment. These vectors are not connected and are not in sequence. In the tool path generation process, the software starts from one vector and tries to find the next connected vector to this vector. Then it does the same for the newly found vector until it reaches the start point of the first vector (in the closed loop cases) or finds a vector with no leading attachment (in faulty STL files containing disconnections). To sort the vectors, the algorithm reads one vector at a time from a slice file and writes it to another file. This file is either path file, when one vector is connected to the previous vector, or temp file, when the vector is not connected to the previous vector. Therefore, the sorting process does not need a large amount of memory to sort the data, and there is no limitation on the number of vectors in a slice and on input file size. A simplified tool path generation algorithm is as follows: (a) The sorting process starts from the first vector (V1 ). Then next vectors are checked. If they are adjacent to the previous vector, then they are added to the output file. Otherwise, they are copied onto the temp file. (b) The temp file is considered as the reading file and step (a) is repeated for this file. (c) The process is repeated until all vectors are written into the output file and the temp file has the size of zero. (d) This process should be applied to all slices to get an optimum machine path for all layers. Figure 8 shows the algorithm implementation as presented by the path simulation module of the system.2,3 2.2.3. Step 3: Heat elements status assignment In this step, contours are read from the tool path file and drawn over the heat elements model screen. The intersection points between each line in the contour and horizontal and vertical grid lines of all heat elements are identified. Then the intersection points on each horizontal and vertical grid line are sorted. All heat

May 12, 2009 15:2 WSPC/180-JAMS

00168

Translating CAD Data into Manufacturing Information

95

Loop 1

Loop 2

Fig. 7.

A sample output of Step 2 for a single layer.

(a)

(b)

Fig. 8. Visualization of the CAD file (model) (a) and the tool path in the AutoCAD environment (b).

ON heat element OFF heat element

Fig. 9.

A bottom view of a 6 ∗ 6 array of heat elements with elements in the ON and OFF status.

elements between every odd and even intersection point (and not the other way) get ON status. For all other cases, the heat elements get OFF status. Finally, a Boolean union for the horizontal and vertical statuses will assign final status for each heat element (Fig. 9). Slicing and tool path generation algorithms have been implemented in the C programming language. The software has been successfully tested for several medium

May 12, 2009 15:2 WSPC/180-JAMS

96

00168

B. Asiabanpour et al.

Fig. 10.

Sample part produced by the SIS process.

and large STL files. Path generated by this software has been successfully tested on the SIS machine. Figure 10 illustrates some of the sample parts produced by the SIS process.4 2.3. Path generation in STEP-NC format 2.3.1. History STEP-NC is and extension of ISO 10303 or Standard for the Exchange of Product Model Data (STEP). STEP is a fully developed ISO standard that represents all the product data through its life cycle and facilitates the integration of CAD/CAPP/CAM due to its neutral and platform independent format.5,6 Today, approximately one million CAD software (released by leading CAD vendors such as Unigraphics, CATIA, ProE) stations have an STEP translator.7,8 STEP-NC was developed to define the data required for a Computer Numerical Control (CNC) machine to produce parts.7 Codes for CNCs have been in conventional language based on ISO 6983 or RS274D (well known as G-code) for 50 years.9 In 1999, a threeyear project, the Model Driven Intelligent Control of Manufacturing (MDICM), was awarded to STEP Tools Inc. by the National Institute of Standards and Technology (NIST). The goal of MDICM was to develop and implement a more efficient digital data model for CNCs.7 In 2001, US Super model project and a European project (ESPIRIT) improved the standard to provide milling data for other manufacturing processes like turning and wire-EDM.10 Large companies like Boeing, Volvo, Daimler-Chrysler, Siemens and GE are now applying this standard in their research and commercial projects.11 The STEP standard has some Application Protocols (AP) to define specific domains such as AP-224 for definition of machining features in a single mechanical part, AP-203 for representation of geometric data of the part model and AP-214 for expression of core data for automotive mechanical design and processes.

May 12, 2009 15:2 WSPC/180-JAMS

00168

Translating CAD Data into Manufacturing Information

97

Fig. 11. New method (top) vs. a typical old method (bottom) to travel from part design to manufacture (AP 203, 224 and 238 are STEP Application Protocols developed for specific domains such as design, process planning and manufacturing).

2.3.2. Advantages Two approaches for the conversion of part design to manufacture are depicted in Fig. 11. The advantages of ISO 14649/AP 238 (STEP-NC) over ISO 6983 (G-code) are also described. In ISO 6983, some of the program statements and syntax remained ambiguous to the operator; but in STEP-NC, the model of representing manufacturing data is object-oriented and feature-based.12 The aim of STEP-NC is to develop a model that can be read and employed by any CNC controller. Feedback from shop floor and machining stage is notable in CAD/CAM integration. There is no backward information while using G-code programming. By providing a complete data model of the product, STEP-NC supports a two-way information flow between design and manufacturing.12 Post processors for CNC are unavoidable when using ISO 6983 as input because the data inside the part program are of low level. STEP-NC’s ideal target is to use an intelligent controller in CNC and to abandon the 4,500 existing post processors.9,12 Significant reductions in CAM planning time (up to 35%), number of drawings from CAD (up to 75%) and machining time (up to 50%) have been reported after using the new standard.9

2.3.3. Structure STEP-NC has an object-oriented structure, meaning that is has an easily expandable and understandable representation. STEP-NC has all the machining feature information and can contain other design data such as geometrical and dimensional tolerances. Therefore, STEP-NC contains complete design data required for feature-based manufacturing. Moreover, manufacturing information is attached to each feature in the data model. Each work-plan entity consists of some workingsteps which imply the sequence of machining. In every working-step, an operation is performed on a feature using a specific cutting (probing) tool.13 A schematic representation of STEP-NC entities is shown in Fig. 12.

May 12, 2009 15:2 WSPC/180-JAMS

98

00168

B. Asiabanpour et al.

Fig. 12.

Schematic of data structure in STEP-NC (ISO 14649).

2.3.4. Feature definition STEP-NC machining features (addressed in ISO 14649-Part 10:2003E) include hole, pocket, planar face, slots, step, etc, each of which is specified by its corresponding geometric and dimensional attributes. For instance, a 2.5D closed pocket as a subtype of pocket is introduced by the following attributes: feature placement (relative to workpiece coordinate system), depth (relative to local coordinate system), feature boundary (an enclosed outline describing the upper edge of the pocket), bottom condition, orthogonal and planar radius (Fig. 13). Freeform features and some kind of compound features (such as counterbore and countersunk holes) can be also defined in this standard. 2.3.5. Machining information Process data required for milling and drilling of the defined STEP-NC machining features are specified in ISO 14649 Part 11.14 This part along with Part 10 (general process data) expresses the interface between a CNC and CAM (or shopfloor programming system). The milling process is classified into 2.5D or freeform

May 12, 2009 15:2 WSPC/180-JAMS

00168

Translating CAD Data into Manufacturing Information

Feature Boundary

Orthogonal Radius

Feature Placement

Planar Radius

Y

Depth

Z

99

Bottom Condition

X

Fig. 13.

Definition of closed pocket as a machining features in STEP-NC.

Fig. 14.

Different milling strategies in STEP-NC.

operations. The former consists of plane-milling, side-milling and bottom-and-sidemilling, each of which may cover roughing and/or finishing. For each machining feature, machining information describes the machining technology and strategy. In the machining technology domain, technological parameters of milling such as spindle speed, federate, etc are specified. Cutting tool specifications are supposed to be provided by ISO 14649 Part 111 (Tools for Milling Machines). Types of tool traveling to create machining features are also represented in machining strategy. Some of the possible patterns of tool strategy in STEP-NC are shown in Fig. 14.14 The milling strategy in STEP-NC data file is explained by the following characteristics: type of pattern (as depicted in Fig. 14), overlap (between two neighbouring tool diameters), and multiple passes (in case of multiple roughing operation). Tool approach and retract strategy are defined as separate entities. These entities designate the tool axis orientation as well as the motions of cutting tool to approach and retract a feature (Fig. 15). 2.3.6. Tool path generation There are two ways of executing a STEP-NC program: using a STEP-NC enabled CNC controller or using a conventional CNC (only accepting ISO 6983 code) controller.15,16 In the first approach, a STEP-NC data model is converted into machine tool motion (normally via drivers, motors and I/O boards).17 In the second, translating from STEP-NC data file into G-Code (ISO 6983) will be unavoidable and tool path computation is explicitly defined. Three types of explicit tool path definition are available in STEP-NC: feedstop, trajectory and parameterized path.18

May 12, 2009 15:2 WSPC/180-JAMS

100

00168

B. Asiabanpour et al.

Fig. 15.

Milling cutter approach and retract strategies in STEP-NC.14

Fig. 16.

Side milling a freeform circumference by end mill.

In these cases, the pre-described machining strategies will be overridden by the new tool path information. In the trajectory approach, tool movement can be defined as a trajectory with respect to the tool center point or cutter contact point titled “cutter location trajectory” and “cutter contact trajectory” respectively. In parameterized path, CNC is supposed to calculate the actual tool path based on connectors, approach and lift movements. Tool path data in cutter contact trajectory is generated on the basis of contact point between the cutter and the bounded curve which is the intersection of surface normal and the curve (Fig. 16). Since the trajectory approach is normally applied to the motions on the workpiece surfaces, parameterized path is also provided in STEP-NC to designate the tool motion by connecting between individual tool paths. One of the STEP-NC’s recent contributions is data traceability. When a product instance fails during machining processes, it will be possible to trace and analyze the data and identify any exceptions or unusual conditions in tool path data or any other part of machining information.19

May 12, 2009 15:2 WSPC/180-JAMS

00168

Translating CAD Data into Manufacturing Information

101

2.4. Path generation by use of IGES file Initial Graphics Exchange Specification (IGES) has developed a data format for the transmission of CAD data between different CAD systems. Although the IGES format does not provide a suitable data format for downstream manufacturing applications, it can be considered as the major driving force to achieve the international standard of product data and the data exchange format.1 IGES is a standard format that could be used to define the data of the object drawing in solid modeling CAD systems in boundary representation (B-rep) structure. Object’s geometric and topological information in IGES format can be represented by the entry fields that constitute the IGES file. The geometric information are in low level entities such as lines, planes, circles, and other geometric entities for a given object (designed part), and the topological information that defines the relationships between the object’s geometric parts are represented. For example, one of the topology (relationship) of the designed part is the loops (external loop and internal loop). An external loop provides the location of the main geometric profiles and an internal loop represents a protrusion or a depression (through/blind holes) on an external loop. Each entity (edge, face, etc) is represented by an object oriented (OO) class, and the features of that entity are the attributes of the class. In a hierarchy format, the highest level is the designed object (shell). This shell consists of manufacturing features that can be classified into simple and compound form features (FF). A simple feature (e.g. slot, pocket, hole, etc) is the result of two intersecting general geometric surfaces while compound feature is one that results from the interaction of two or more simple features (e.g. slot and pocket together make a compound feature). Features are further classified into concave or convex as attributes in the generic feature class. Concave features consist of two or more concave faces, and convex features are decomposed of either one or more convex faces or the interaction between other features in the object, as shown in Fig. 17. Moreover, faces of any designed part can be of any type of surfaces such as plane, ruled surface, p-spline surface, etc. Also, the edge of any designed part can Concave features

Convex edge

Concave edge

Fig. 17.

Convex and concave features and edges.

May 12, 2009 15:2 WSPC/180-JAMS

102

00168

B. Asiabanpour et al.

Basic face

Basic face Basic face

(a) Convex FFinterior Fig. 18.

(b) Concave FFinterior

(c) FFexterior

Classification of interior and exterior form features.

be any type of edges such as line, circular arc, conic arc, etc. Due to the attributes of the geometric and topological entities of form features (FF), form features can be classified into two categories which are interior form feature (FFinterior ) and exterior form feature (FFexterior ).20 FFinterior are the features which are located inside the basic face. On the other hand, FFexterior can be defined as the features which are formed by the entire basic surface with its adjacent faces. The basic face can be defined as the face in which there are features located in that face. Moreover, the interior form features (FFinterior ), can be further classified into two low-level categories, convex interior form feature (FFinterior convex ) and concave interior form feature (FFinterior concave ). FFinterior convex is the convex section in a basic face, whereas FFinterior concave is the concave geometric section in the face. Examples of these form feature categories are shown in Fig. 18. Figure 18(a) shows a convex part of the top face inspected; therefore this constitutes a FFinterior convex (boss), while Fig. 18(b) shows a FFinterior concave in the basic face. A FFexterior is shown in Fig. 18(c) in which FFexterior is constituted by the entire basic face and its two adjacent faces. The FFinterior concave in Fig. 18(b) is a through cylindrical hole. A blind cylindrical hole or a pocket in a basic face is also a FFinterior concave . The lowest level features in the feature hierarchy are the features defined in Fig. 19. The extracted features include through pocket features with/without round corners, through slot features with/without round corners, etc. To determine concave features is basically to identify concave faces which are defined by a concave edge that connects two adjacent faces. Similarly, convex features can be identified by the convex edge which connects two adjacent faces. The concave and convex edges are determined by the concavity test that adapted and modified from.21 Basically, the edge is defined by two vergtices (Start vertex and Terminate vertex) expressed in 3D solid model in terms of coordinates (X, Y, Z). On the other hand, convex features can be defined and classified as either inclined, interaction, or surface as shown in Fig. 20. Inclined convex features are defined by a group of convex faces which are not parallel or perpendicular to the smallest surrounded envelope of the designed object. The other type of convex features, interaction features, results from the interaction of two or more features. Surface convex features are features that locate on the exterior enclosing envelop.

May 12, 2009 15:2 WSPC/180-JAMS

00168

Translating CAD Data into Manufacturing Information

Fig. 19.

103

Hierarchy of form features.

Edges forms the wireframe of any 3D solid model and any two adjacent faces can be connected by one edge. Edges can be classified as concave, convex, or tangent edges as shown in Fig. 21. To represent edge types, the normal vectors of the two faces connected that edge and the edge direction are determined as shown in Fig. 22. Then, by applying the connectivity test, the edge classification can be achieved. Also, the angle between the two faces (Ω) is determined by the following formula:   X1 X2 + Y1 Y2 + Z1 Z2 π −1   (7) X Angle(Ω) = COS 2 2 2 2 2 2 180 X1 + Y1 + Z1 X2 + Y2 + Z2 where: (X1 Y1 Z1 ) = The components of the normal vector N1 of the first face. (X2 Y2 Z2 ) = The components of the normal vector N2 of the second face.

May 12, 2009 15:2 WSPC/180-JAMS

104

00168

B. Asiabanpour et al. Inclined Features

Fig. 20.

Interaction Features

Surface Features

Classifications of convex features.

Tangent edge Ω



(a) Convex edge

(b) Concave edge Fig. 21.

Classifications of edges.

N2 Ω

Fig. 22.

(c) Tangent edge

Surface normal vectors N1

The surface normal vectors.

A loop can be defined as the boundary of a face. Moreover, it can be the intersection border of the face with its adjacent faces. In this research, a loop is used as a basic indication to recognize the interior and exterior form features. The loop can be classified as external loops and internal loops.20,22 External loop is the exterior border of a basic face of which the loop is examined, while internal loops are located within the basic face. By examining the basic face, an external loop can be identified

May 12, 2009 15:2 WSPC/180-JAMS

00168

Translating CAD Data into Manufacturing Information

External loop

Fig. 23.

Internal loop 1

105

Internal loop 2

Classification of loops.

by the maximum margin of the basic face and the internal loop can be recognized by the interior interface boundary of the basic face with its interior features. For illustration as shown in Fig. 23, the basic face contains three loops — one is an external loop and the other two are internal loops. In general, the following steps are used for features extraction and classifications23 : Step 1: Extract the geometry and topology entities for the designed object model from IGES file: (a) Identify vertices, edges, faces, loops of the object. Step 2: Extract topology entities in each basic surface and Identify its type: (a) Identify the total number of loops in each surface. (b) Identify the basic surface due to total number of loops. (c) Classify the loops into different types (concave, convex, and hybrid). Step 3: Test the feature’s existence in the basic surface based on loops. (a) If no features exist and then stop, otherwise, go to Step 4. Step 4: Identify feature type: (a) Identify Exterior Form Features (FFexterior ) by searching for hybrid loop. (b) Identify Interior Convex Form Features (FFinterior ) by searching for convex loop. (c) Identify Interior Concave Form Features (FFinterior ) by searching for concave loop. Step 5: Identify the detailed features and extract the related feature geometry parameters: (a) Identify feature’s details (number of surfaces, surface type). (b) Identify the parameters of each feature (length (L), width (W ), height (H), radius (R).

May 12, 2009 15:2 WSPC/180-JAMS

106

00168

B. Asiabanpour et al.

(c) Identify the relative location of each feature due to the origin coordinates of the part. Based on the above algorithm, B-rep geometrical information of the part design is analyzed by a feature recognition program that is created specifically to extract the features from the geometrical information in IGES format based on the geometric reasoning approach. The proposed feature recognition program is able to recognize the following features: slots, pockets, holes, steps, counter bore holes, counter sink holes, etc. These features, called manufacturing information, are mapped to process planning function as an application for CAM. The system is developed in C++ language on a PC-based system. 2.5. Extraction of manufacturing data from platform-dependent area for path generation A design model in the CAD has its own data language that is realized through geometric and topology entities, such as vertex, edge, face, etc. In contrast, a manufacturing model in the CAM has its own data language, such as Tools Accessing Direction (TAD), tool path, the value of removal material, etc, by which a manufacturing approach is generated to form a desired CAD model. Feature recognition plays a significant role to facilitate the integration between CAD/CAM.24 A feature is a language defining parts in both manufacturing and design. Creating an understandable language for integrating CAD/CAM is a vital activity in this industry. Subsequently, many efforts have succeeded in interpreting the CAD data for extracting some local shapes within either a predefined taxonomy or un-predefined volumetric shapes. The feature recognition is therefore also considered to be a possible way to contribute to the generation of a tool path. Thus, this section of the paper describes the conversion of design data into manufacturing ones (features) from design-by-feature solid model, by which the process of the tool path generation is facilitated. Features recognizing methods have been implemented in either platformindependent or platform-dependent areas. Feature recognition in an independent platform is done via implementing the algorithms within independent platforms, such as C++, Visual Basic, etc. Accessing the information of the part (e.g. edges, faces, etc) is carried out from within standard files, which have (DXF/STL/STEP/IGES) formats. Feature recognition in the dependent platform is conducted by connecting to the objects library of design-by-feature solid modeler in order to obtain information on the design features.25–28 Then the algorithms required for converting design feature into manufacturing ones are implemented from within design-by-feature solid modeler through coding in programming platform, where the ease of accessing to the part’s objects (e.g. faces, edges, vertexes, etc) is provided. Platform-dependent area is where the translation of design data into manufacturing data is exhausted in this section of the paper. The benefits of the use of platform-dependent tools to implement the approaches to obtain

May 12, 2009 15:2 WSPC/180-JAMS

00168

Translating CAD Data into Manufacturing Information

107

manufacturing data could be listed as follows: • Easy access to the vast objects library of design features. • Obtaining and comprehensively organizing the geometry and topology entities of parts as object-oriented and organized. • Exploiting the built-in application programming interface (API) functions from within the solid modeler in order to facilitate the application of the feature recognition rules. In order to achieve the major objective of this section, software was developed in a platform-dependent area, Autodesk Inventor, to recognize the manufacturing features through the algorithms. Each recognized feature will contain a significant data (e.g. length, width, depth, vertexes, Tools Accessing Direction (TAD), the volume of feature, etc) that can be used in tool path generation. Pocket, step, slot, hole, counterbore, and countersink are the features that will be identified by the software. 2.5.1. Pocket/step/slot feature recognition Pockets, steps and slots are shapes, which can be recognized by analyzing both their profiles and design features existing in the part tree. Considering the profile of a design feature alone may not be the unique way which could contribute to the set of rules to identify these mentioned features. This is because a designer may create a 2D sketch on a surface where some basic entities such as lines stay out of the profile boundary which belongs to the design feature. Thus, this would not take actions in making a design feature. Thus, applying the rules would not be straightforward. For this reason, surveying the entities of design features such as sides and end face(s) is indispensable to recognizing the related features. After applying the rules, the essence of the considered design feature will be changed to form the feature. However, it will still not be the major concept of a manufacturing feature since a manufacturing feature could be useful practically when it can be defined as a volumetric feature. Therefore, in order to produce a volumetric feature, the calculation of feature volume is required by sweeping a base face in the feature extruding direction. A base face is obtained either by looking for an end face of a feature or by creating a virtual face when there is no end face; this is done via projecting the connected adjacent faces of a feature on an identical plane. 2.5.2. Hole/Counterbore/Countersink feature recognition A designer who is interacting with a solid modeler may choose two different methods for creating a design feature such as Hole/Counterbore/Countersink. The first method is the use of predefined built-in objects whose behaviors are identical to their feature kinds. The second method is to create a 2D profile including a circle entity and then sweeping it in the negative direction. The designed software in this

May 12, 2009 15:2 WSPC/180-JAMS

108

00168

B. Asiabanpour et al.

Fig. 24.

Flowchart for feature recognition in platform-dependent area.

study is capable of functioning with models made by either of two methods. The significant information (e.g. vertices, volume, the type of surfaces, tools accessing direction) of recognized features were also extracted and calculated while identifying those features. The proposed algorithm for the features recognition in Secs. 2.5.1. and 2.5.2. is elaborated in the flowchart (Fig. 24). 2.5.3. Implementation and example These algorithms were implemented using the Visual Basic for Application (VBA) and Autodesk Inventor mechanical design software. The Autodesk Inventor

May 12, 2009 15:2 WSPC/180-JAMS

00168

Translating CAD Data into Manufacturing Information

Fig. 25.

109

Two views of a sample part.

application programming interface (API) functions were used to gain access to specific objects of the part model. The structure of the API was defined through the objects. The Autodesk Inventor’s VBA provided an easy way of accessing the design features of the objects in the part tree. A form in the Autodesk Inventor was provided in order to get report about the running of the algorithms by the provided modules. At the beginning of the execution of the software, information which appeared on the form in the text boxes were based on predefined material kinds (e.g. mass, density, the volume of stock, the material removed from the stock). The user is free to change the types of material which are chosen for the part model which subsequently will change the information. A given sample part as shown in Fig. 25, has numerous design features. The expected outputs appeared in different list boxes when the software was executed.

(a) Fig. 26. The illustration of software output (a) the list of manufacturing features (step/slot/ pocket) with their manufacturing data (b) the list of hole/counterbore/countersink features with their proper data.

May 12, 2009 15:2 WSPC/180-JAMS

110

00168

B. Asiabanpour et al.

(b) Fig. 26.

(Continued)

Along with recognizing the types of features, additional useful information for application into the CAM was obtained. Supplementary information such as TAD, vertexes, faces, volume, area, length, width, and depth were put into different list boxes. The obtained significant manufacturing data can act as the input for a CAM system to generate the tool path. It is notable that the extracted manufacturing data can be coded and then exported, according to the standards defined in ISO 14649/AP 238, into a file with STEP-NC format. Consequently, the resulted file could be accessible in every CAM independent platform to generate a tool path.

3. Conclusions In this paper, five approaches to extracted required information for a manufacturing process from different CAD standards were explained. Some of the CAD standards such as DXF files have very complex formats and have rarely been used to generate NC code for the machining processes other than 2D applications. However, the implemented system explained in this paper shows that it is possible, but has limitations. For example, the accuracy of the produced parts depends on the accuracy of the model in DXF file. Similarly, accuracy of the part produced in a RP machine depends on the precision and accuracy of the STL file. The third section of this paper introduces a relatively new format, STEP-NC. Product design and manufacturing data are all represented in a neutral model in terms of entities and attributes. Tool path information, although optional in the STEP-NC file,

Output of the interface program can be adjusted for different CAM systems.

Simple format, widely supported by many CAD and rapid prototyping systems. Output of the interface program can be adjusted for different rapid prototyping systems.

Widely supported by CAD and CAD/CAM software. Output of the interface program can be adjusted for different CAM systems.

Fully integrative with design and manufacturing data, easy to understand/manipulate by operator due to its object oriented and feature based model, directly transferable to CNC controllers, capable to generate complex curves and splines, data traceability (recording the shop-floor events while machining and feedback to improve the succeeding tool paths).

Tool Path by STL File

Tool Path by IGES

Tool Path by STEP-NC

Pros

Mainly for the rapid prototyping and tooling processes.

CNC mill machining process.

All models are saved as the small triangles. No real curve or freeform. Most STL files contain errors that cannot be processed by most of the processors. Complex format. Data is saved for the shell of a solid model. It needs an interface system to extract manufacturing features.

Potentials for extending to CNC turn and layered manufacturing.

Limited to some few CNC intelligent controllers (STEP-NC enabled) (popularity of G-CODE) Need for feature recognition system to represent the feature model of the STEP-NC data file.

CNC mill machining process.

Not completely developed standard.

Potentials for extending to CNC turn machining.

It is good mainly for simple 2D applications such as Drilling.

Application

All models are saved as the small rectangles. No real curve or freeform. Accuracy depends on the CAD software generating the DXF file. Tool path sequence depends on the order that those features are created in the CAD software.

Cons

A comparison between three tool path generation approaches.

Tool Path by Use of 2.5 D Model DXF Files

Approach

Table 1.

May 12, 2009 15:2 WSPC/180-JAMS 00168

Translating CAD Data into Manufacturing Information 111

Tool Path by PlatformDependent Area

Approach

CNC machining process.

Unable to extract the manufacturing data of a solid model which comes from a different platform.

The ease of accessing to significant manufacturing data through the string of the connected objects in object model, the possibility of recognizing the complicated volumetric (manufacturing) features aiming to generate a feasible tool path, the ability of coding the obtained manufacturing data, based on the standards, in order to share with other manufacturing environments, automatically linking with the application/programming platforms e.g. C++, VB, MS Access, MS Excel, and SQL Server for data exchange in facilitating the integration between CAD and CAM.

Process/assembly plans generation.

Application

Cons

Pros

(Continued)

112

Table 1.

May 12, 2009 15:2 WSPC/180-JAMS 00168

B. Asiabanpour et al.

May 12, 2009 15:2 WSPC/180-JAMS

00168

Translating CAD Data into Manufacturing Information

113

can be attached to each feature definition to be performed in CNC controllers at the later stage. However, the high-level standard of product model like STEP shall integrate CAD and CAM while facilitating data exchange between vendors. This format has mainly been used for the CNC milling process and has shown significant improvement compared to the older format of G-Code. Very few studies have addressed the possibility of STEP-NC implementation for other processes such as CNC turn, grinding, and EDM and layered manufacturing.32 This opens a new area for researchers. The fourth approach explained in this paper was the use of CAD files in IGES format. IGES files contain data of a solid model in B-rep format that defines complex parts by the use of low level entities such line, circle, and planes. Therefore, identifying manufacturing features requires a relatively complex algorithm. Finally, platform-dependent approach is a newer method that simplifies the manufacturing features identification through the string of the connected objects in object model. The drawback of this method is that CAD data imported from other CAD systems are not recognizable in this system. Table 1 illustrates a simple comparison and depicts the pros and cons of each of the five approaches explained in this paper.

References 1. A. Kamrani, Collaborative Engineering (Springer, ISBN: 978-0-387-47319-2, 2008). 2. B. Asiabanpour and B. Khoshnevis, Machine path generation for the SIS process, Journal of Robotics and Computer Integrated Manufacturing 20(3) (2004) 167–264. 3. B. Asiabanpour and B. Khoshnevis, A new memory efficient tool path generation method for applying very large STL files in vector-by-vector rapid prototyping processes, Computer and Industrial Engineering, San Francisco, CA (2003). 4. B. Asiabanpour, C. Subbareddy, S. Kolichala and L. VanWagner, Computer aided energy and material savings for the SIS process, Society of Manufacturing Engineers/North American Manufacturing Research Institution (SME/NAMRI) Transaction 35 (2007). 5. T. Dereli and H. Filiz, Computer-Aided Design, A note on the use of STEP for interfacing design to process planning 34(14) (1 December 2002) 1075–1085. 6. A. R. Mokhtar, A. R. Tavakoli-Bina and M. Houshmand, Approaches and challenges in machining feature-based process planning, in Proc. DET2007, 4th International Conference on Digital Enterprise Technology, CIRP (September 2007). 7. M. Hardwick, STEP-NC Frequently Asked Questions, white paper, Steptools Inc. (2001). 8. Plugging into STEP-NC, Albert Mark, white paper, Modern Machine Shop 75(2) 80. 9. Steptools Presentations and Documents, Steptools Inc. 10. Step-nc Newsletter, (4) (June 2001). 11. X. W. Xu and S. T. Newman, Making CNC machine tools more open, interoperable and intelligent — A review of the technologies, Computers in Industry 57(2) (February 2006) 141–152. 12. X. W. Xu and Q. He, Striving for a total integration of CAD, CAPP, CAM and CNC, Robotics and Computer-Integrated Manufacturing 20(2) (2004) 101–109. 13. ISO 14649-1: 2003, Data Model for Computerized Numerical Controllers, Part 1. Overview and Fundamental Principles.

May 12, 2009 15:2 WSPC/180-JAMS

114

00168

B. Asiabanpour et al.

14. ISO 14649-11: 2003, Data Model for Computerized Numerical Controllers, Part 11. Process Data for Milling. 15. X. W. Xu, Realization of STEP-NC enabled machining, Robotics and Computer Integrated Manufacturing 22 (2006) 144–153. 16. S. H. Suh, B. E. Lee, D. H. Chung and S. U. Chen, Architecture and implementation of shop-floor programming system for STEP-compliant CNC, Computer-Aided Design 35 (2003) 1069–1083. 17. S. H. Suh, D. H. Chung, B. E. Lee, J. H. Cho, S. U. Cheon, H. D. Hong and H. S. Lee, Developing an integrated STEP-compliant CNC prototype, Journal of Manufacturing Systems 21(5) (2002) 350–62. 18. ISO 14649-10: 2003, Data Model for Computerized Numerical Controllers, Part 10. General Process Data. 19. C. J. Garrido and M. Hardwick, A traceability information model for CNC manufacturing, Computer-Aided Design 38(5) (May 2006) 540–551. 20. M. W. Fu, W. F. Lu, S. K. Ong, I. B. H. Lee and A. Y. C. Nee, An approach to identify design and manufacturing features from a data exchanged part model, Computer Aided Design 35(11) (2003) 979–993. 21. S. Liu, M. Gonzalez and J. Chen, Development of an automatic part feature extraction and classification system taking CAD data as input, Computers in Industry 29(3) (1996) 137–150. 22. I. Zeid, Mastering CAD/CAM (McGraw-Hill Higher Education, 2004). 23. E. A. Nasr and A. K. Kamrani, A new methodology for extracting manufacturing features from CAD system, Computers & Industrial Engineering 51 (2006) 389–415. 24. T. N. Wong and S. M. Lam, Automatic recognition of machining features from computer aided design part models, Proc. Instn. Mech. Engrs. 214(B) (2000) 515–520. 25. J. Y. Lee and K. Kim, A feature-based approach to extracting machining features, Computer-Aided Design 30(13) (1998) 1019–1035. 26. Y. Woo and H. Sakurai, Recognition of maximal features by volume decomposition, Computer-Aided Design 34 (2002) 195–207. 27. Z. Huang, B. Xie, L. Ma and X. Wei, Feature conversion based on decomposition and combination of swept volumes, Computer-Aided Design 38 (2006) 857–873. 28. W. D. Li, S. K. Ong and A. Y. C. Nee, Recognizing manufacturing features from a design-by-feature model, Computer-Aided Design 34 (2002) 849–868. 29. K. H. Ho, S. T. Newman and R. D. Allen, The design of a STEP-NC compliant Wire EDM CAD/CAPP/CAM system, International Conference on Flexible Automation and Intelligent Manufacture, Bilbao, Spain (July 2005). 30. Y. Tao, B. Junxi and L. Lilan, Research on intelligent CVC roll grinding and interpolation strategy, International Technology and Innovation Conference 2006 (ITIC 2006) (CP524), pp. 1909–1912, Hangzhou, China (6–7 Nov. 2006). 31. S. Suh, D. Chung, B. Lee, S. Shin, I. Choi and K. Kim, STEP-compliant CNC system for turning: Data model, architecture, and implementation, Computer-Aided Design 38 (2006) 677–688. 32. M. S. Ryou, H. S. Jee, W. H. Kwon and Y. B. Bang, Development of a data interface for rapid prototyping in STEP-NC, International Journal of Computer Integrated Manufacturing 19(6) (September 2006) 614–626.