Int J Adv Manuf Technol (2002) 19:805–811 Ownership and Copyright 2002 Springer-Verlag London Limited
A Generative Feature-Based CAPP/CNC System for Hydraulic Manifold Blocks W. Xiang‡, C. W. Chuen, C. M. Wong and L. H. Yam Department of Mechanical Engineering, The Hong Kong Polytechnic University, Hong Kong
A generative CAPP/CNC system for hydraulic manifold blocks is proposed to generate the process plan and the NC codes automatically by interfacing with a feature-based product model. A backward recursive method is used to determine the process operations for features, and an optimal searching algorithm is generated for sequencing the process operations. The sequenced process operations can be translated into the appropriate NC codes that can be recognised by a numerical control (NC) machine. In addition, a visual simulation for machining is built to check both the reliability of the NC codes and the feasibility of the design and manufacturing processes. The software is built using an object-oriented approach and it can be run under the Windows environment. Keywords: CAPP/CNC system; Feature-based; Generative; Hydraulic manifold block; Visual simulation
1.
Introduction
Computer-aided process planning (CAPP) is used to analyse the size, shape, and location of various geometric features on a part, to translate them into manufacturing operation instructions and to determine the optimal process sequences required for the conversion of a rough part into a finished one. The two main kinds of CAPP approach are the variant CAPP method and the generative CAPP method. The variant CAPP method uses group technology to generate the process sequence of a family part. In the generative CAPP approach, process plans are generated by means of decision logic, formulae, algorithms, and geometry-based data to make processing decisions for converting a part from raw material to its finished state [1]. In this paper, an optimal process planning method using a generative approach is adopted for generating the processes for manufacturing hydraulic manifold blocks which
Correspondence and offprint requests to: C. M. Wong, Department of Mechanical Engineering, The Hong Kong Polytechnic University, Hunghom, Kowloon, Hong Kong E-mail: mmcmwong얀polyu.edu.hk ‡Present address: Design Research Centre, School of Mechanical and Production Engineering, Nanyang Technical University, Singapore.
are the mounting blocks for different functional hydraulic valves and pipe joints in hydraulic systems. This generative feature-based CAPP/CNC system interfaces to an object oriented featured-based product model developed by Xiang et al. [2]. The structure of the CAPP/CNC system and the information flow among the interface of process planning, the NC programming system and the feature-based product model are shown in Fig. 1. The details of the product model, the feature library, and the standard library were introduced by Xiang et al. [2]. The process planning system receives the geometric description of a part, analyses all the features on the part with the knowledge-based rules and selects the appropriate manufacturing processes for each of the features using a process capability database and tool library. Then, the sequenced processes and instructions are translated into numerical control (NC) machining programs that can be used to machine the part on an NC machine. The final NC codes can be checked using visual simulation. The feature library stores all the predefined feature classes. These features are defined by analysing the different kinds of hydraulic manifold blocks in hydraulic systems. They can cover the information used for design, assembly and manufacturing. The feature-based hydraulic manifold block model is built using these features and is a dynamic model that can be expanded and updated during the CAD/CAM stage. This block model has many interfaces with different applications, such as design, evaluation, and process planning. This paper will focus on the interfacing to CAPP/CNC and the method used for CAPP/CNC assuming that the process plan and NC codes are developed for a horizontal machining centre. In addition, it is assumed that the raw stock for a hydraulic valve block is
Fig. 1. The structure of feature-based CAPP/CNC for a hydraulic valve block.
806
W. Xiang et al.
selected from various sizes of standard rectangular bars for machining to the desired size.
2. The CAPP Application for Hydraulic Manifold Block 2.1
The Definition of Classes Used in CAPP
The definition of features is important for integrating the information in a manufacturing system. There has been much work on the classification of machining surfaces (e.g. hole feature, pocket feature) [3,4]. Young and Bell [5] added fixture features and datum features for process planning. Gindy et al. [6] classified features based on the external access directions (EADs) from which the feature volume could be machined by cutting tools. Gu et al. [7] presented an object-oriented product model with features that are efficient for both process planning and for the description of the assembly relationship. In this paper, the definition of features must be suitable for both the design and manufacture of hydraulic manifold blocks. For establishing the group relationship or assembly relationship among the basic machining surfaces on a hydraulic manifold block, system-level features, assembly-level features, part-level features and hole-face features are defined. The feature-based model which is built by combining such features can describe clearly the geometry parameters, assembly relationships and machining features. The relationship of all the defined features used for feature-based CAD/CAM for a hydraulic manifold block is shown in Fig. 2. There are two main types of relationship, AKO (a kind of) and REF (reference). The former indicates the relationship between two features using the relationship of super-class and subclass, while the latter indicates two features referencing to each other. For the application of CAPP/CNC, two classes, TProcess and TTool, are introduced to cover the necessary information and methods for process planning. Figure 3 shows the structures of these two classes. In class TTool, the variable “parameter” is used to indicate the geometrical parameters of a tool, whereas the “tolerance” shows the manufacturing ability of the tool. Also, the suggested manufacturing parameters such as speed and feed are included in class TTool. The variables defined in class TProcess cover the information for processes such as operation number, cut number, and
Fig. 3. The structures of (a) class TTool, and (b) class TProcess.
process record. There are three pointers in TProcess to the tool used in the current process, the current feature to be machined and the next process. Each item of the process has its own priority value, which is set according to the manufacturing knowledge. The priority of an item of the process is an important factor for generating the final process list. The process list is generated based on the sequencing of the priority value from large to small. The details are illustrated in the following section. 2.2 The Proposed Approach of Process Planning for Hydraulic Manifold Block
In process planning, the sequence of the machining processes for producing a part is complicated and requires substantial and sufficient manufacturing knowledge. Insufficient knowledge may generate improper sequences of operations which, in turn, may result in high production cost, unacceptable dimensional error, and/or reduced tool life. In the proposed generative process planning for hydraulic valve blocks, there are three major steps in creating a manufacturing process plan: (1) Analysis of part requirements. (2) Determination of manufacturing operations. (3) Sequencing of manufacturing operations. Each step has the related manufacturing knowledge encapsulated with the features, which are stored in the knowledge base or designed in the algorithm. A backward recursive approach is adopted to determine the machining operation for features and an optimal search algorithm is used to obtain the final sequenced process list for a product. 2.2.1
Fig. 2. The relationship of features.
Analysis of Part Requirements
At the engineering level, the part requirements can be defined as the part features, the dimensions, and the tolerance specifications. These requirements, in turn, determine the process planning. The analysis of part requirements is aimed at identifying the manufacturing features from the hydraulic valve block model and at determining their basic process types, tool types, and set-ups.
CAPP/CNC System for Hydraulic Manifold Blocks
Hole-making operations and face-making operations are the most important process operations in the manufacture of a hydraulic manifold block, because most of the manufacturing features on a hydraulic manifold block are surfaces and holes. The raw stock of a valve block is composed of six envelope surfaces. These surfaces should be regarded as face features produced by the milling process. In the machining operations in a horizontal machine centre, the six surfaces together with other features located on the surfaces of the manifold block can be machined by two sets of set-ups, because the front, right, back, and left faces can be grouped into one set-up and the other two faces can be grouped into another. In addition, holes can be classified as blind holes, through holes, screwed holes, step holes, chamfer holes, conic holes, and so on. Among these types of hole, blind holes and through holes are simple manufacturing features that require only one machining process, and the others are complex hole features that may have two or more elementary machined surfaces (e.g. a chamfer hole feature has a cylinder surface and a chamfer). Each of these specific manufacturing feature instances may have its own process planning and constraints. In a feature-based hydraulic valve block model, such knowledge is incorporated into the instance methods of the feature class THoleFFace. In the definition of class THoleFFace, the instance method ToolFProcessFselect() is designed using the related knowledge to determine how to manufacture the current object instance. Figure 4 illustrates some rules for basic processes and tool selection in a pseudo-language. Surface roughness and tolerance requirements also influence the selection of processes and tools. The capabilities of tools and processes are stored as knowledge data in the product model. This encapsulates the information on dimensional accuracy and size range for manufacturing the product. For example, if the tool is a drill (type) and the hole diameter is 15 mm, then after the drilling process, the size tolerance of the machined holes must be in the range of (−0.05–0.2 mm), the shape precision can be 0.1 mm and the roughness can be 2.5 mm, as shown in Table 1. When the requirement of an objective feature is in accordance with one of the rules in the process and the tool capability database, the process and tool can be selected to machine that feature. 2.2.2 Determination of Manufacturing Operations for Feature
After the requirements of the manufacturing features for a hydraulic manifold block have been analysed, the basic process type and tool type can be determined and such information is
Fig. 4. The rules for basic tool and process selection.
807
updated as the relative feature instance in the hydraulic manifold block model. Then, the system selects the appropriate processes with the concrete information of tools from the tool library. The tool library contains information on the standard tool geometry and the dimensional accuracy for machining each of the features (e.g. the drill diameter, spindle speed, feedrate, and surface finishing for drilling a hole). In this step, a process list is formed by initialising all the variables of the process instances in class TProcess. All the processes can be visited by searching through the point addresses. A backward recursive planning mechanism is developed for generating the processes for the features on a hydraulic manifold block. Backward recursive planning, contrary to the forward planning approach, develops the processes by tracing the task of process planning from the finished parts to the raw material [1]. Some of the basic rules of backward recursive planning are given in Table 2. These rules are also the basis for determining the variable “preparation” of the class TProcess. For example, a cartridge valve hole feature shown in Fig. 5(a) has three kinds of manufacturing surface: through hole feature, step hole feature, and chamfer hole feature. The two chamfer hole surfaces (H3, H2) of a step hole have high positional precision, close dimensional tolerance and a high requirement on surface roughness. Therefore, the finished machining process must be selected to satisfy such feature requirements. Moreover, the step hole surface should be machined in one process to ensure the requirement of positional precision. The process preparation for machining this complex hole feature, using backward recursive planning, is shown in Fig. 5(b). The process sequence is the reverse of the operations from the raw stock to the finished part. 2.2.3
Sequencing of Manufacturing Processes
There may be several ways to produce a given design. The criteria for evaluating these alternatives include the quality of the product and the efficiency of machining. A good process plan for a part should have minimum non-productive time, an appropriate use of tools and a satisfactory accuracy requirement. Kruth et al. [8] generated nonlinear process plans to improve the response time of CAPP, and Chu and Gadh [9] designed an approach for minimising the set-up for process planning. An optimisation for sequencing the processes is now introduced in this paper to minimise the non-productive time. Prior to the description of the optimisation of sequencing the processes, some rules included in the sequencing method are: Rule 1. Processes should be sequenced according to the setup so as to save the arrangement time and to ensure machining accuracy. Rule 2. Important features should be machined first, then other features added to the process plan afterwards. Rule 3. When processing with the same set-up, tool changes should be minimised. Rule 4. When processing with the same set-up, pallet change should be minimised; when there must be pallet rotations, the pallet should be rotated clockwise and the number of angles of rotation should be reduced.
808
W. Xiang et al.
Table 1. The capability of tool and process. Tool
Drill Drill Drill Deep drill Deep drill Reamer
Process
Drilling Drilling Drilling Drilling Drilling Reaming
Size range
Size tolerance
DownFlimit
UpFlimit
DownFlimit
UpFlimit
13 25 50 0 16 0
25 50 100 16 50 13
−0.05 −0.08 −0.1 −0.04 −0.05 −0.013
0.2 0.25 0.3 0.04 0.05 0.013
Table 2. The list of preparation of process. Current process
The preparation of the current process
DrillingFcentre Drilling Reaming RoughFboring CounterFboring Tapping Chamfering
– DrillingFcenter储-Drilling Drilling Drilling Drilling储Reaming储RoughFboring Drilling储Reaming储RoughFboring
Precision
Roughness
0.1 0.1 0.1 0.1 0.1 0.013
2.5 2.5 2.5 2.5 2.5 1.6
Sometimes, operations depend on other operations. For example, if hole X opens into hole Y with fine surface requirement, then all processes for machining hole Y must be done before the machining of hole X; otherwise, the surface requirement of hole Y will not be achieved. The above rules and constraints are all the important factors that affect the sequencing of the processes. All of them are encapsulated as knowledge in the optimal searching algorithm for sequencing. The optimisation for sequencing the processes is, in fact, a search method to rearrange all the processes for a product. Referring to the definition of the class TProcess, each process has a variable “priority” which stores a value indicating the process priority. The value is set according to the above constraints and rules. The process with a higher priority value should be carried out first. Determining the optimal process rearranges the process list according to the algorithm shown in Fig. 6.
3. Interface to CNC
Fig. 5. Manufacturing processes for a cartridge valve hole feature. (a) The analysis of manufacturing features. (b) Backward recursive planning.
Since the successful introduction of numerically controlled machines, NC technology has revolutionised the manufacturing industry because of its advantages such as reduced production costs, high accuracy and repeatability. After the process list for manufacturing a hydraulic manifold block has been developed, an NC program can be generated by transferring the processes to an NC code format.
Rule 5. Tool movements should be minimised. There are other constraints that affect the sequence of the processes. Mill et al. [10] and Chu [9] presented some common types of constraint due to interaction problems. For CAPP of hydraulic manifold blocks, only the following constraints can occur because most of the machined surfaces are envelope surfaces and holes. Rough machining operations must be done before the finish machining operation. For example, the reaming process must be done after drilling. This is called “machining surface interaction”. Some constraints such as accessibility and set-up may require some features to be machined before or after the others. For example, a tapping process must be done on an existing hole.
Fig. 6. The algorithm of sequencing process.
CAPP/CNC System for Hydraulic Manifold Blocks
3.1
Analysis of Process Plan
A sequenced process plan is the source information for automatic NC program generation. The detailed description of a process class is given in Section 2.1. Among all the variables of a process class, “operationFNo”, “cutFNo”, “record”, “* holeFFace”, and “*tool” are useful in generating the NC codes. “*holeFFace” and “*tool” are point variables that store concrete information about the manufacturing feature and tool. For example, a workpiece may have two shallow holes of 38.1 mm (1.5 in) depth (H1, H2) and a deep hole of 101.6 mm (4.0 in) depth (H3). Some of the process operations are given in Table 3. An NC program provides a complete description of the tool path, the motion modes (rapid, linear interpolation, or circular interpolation), and the cutting conditions by using standard Gcodes and M, T, F, S, X, Y, Z, and G functions. The values of “operationFNo” and “cutFNo” decide the cutter movement (especially the cutter movement backward to the original point). When the values are different in two continuous processes, the cutter must move back to the original position and then rapidly move to another position after machining one feature; alternatively, when the values are the same, the cutter moves to another position without a backward movement to the original position. Therefore, processes with the same “operationFNo” and “cutFNo” should be optimised by arranging for the minimal non-productive cutter movement between the productive contours. Pallet rotation depends on the value of a manufacturing face. The rotation parameters will be 0°, 90°, 180°, and 270°. The parameters about the tool will be translated to the tool change command (M06) and the cutter condition commands (S, F). The feature and the process record are the important factors for deciding the fixed cycles. The fixed cycles considered in this paper include drill cycle (G81), counter-boring cycle (G82), deep hole drilling cycle (G83), tapping cycle (G84), bore-inout cycle (G85), G86, G87, G88, and G89. For example, the processes shown in Table 3, G83 (deep hole drilling cycle) are used to define a process, “Drilling a deep hole feature H3– 101.6 mm (4 in)”. 3.2
Afifi and Hayhurst [11] developed a computer-aided part program by considering the optimisation of a multi-component pallet residence time in a machining centre. A code generation algorithm is introduced to deal with the sequenced process plans. Because the process plan is already sequenced as a process-list, the NC program can be generated by scanning the process list sequentially and by generating a code segment for each item. The code generation algorithm is shown in the flow chart in Fig. 7. The machine tool used for producing the hydraulic manifold block is a horizontal machining centre. The cutter movements may either be tool cutting path definitions or NC macro calls. A cutting path usually consists of a tool movement with rotating spindle and feedrate (when a cutter is used to machine a feature) or without a rotating spindle (when a cutter is moved to a new position for a new cut). For the above example, the automatically generated NC codes are: N5 G90 G80 N10 T01 M06 N15 G54 X25.40 Y38.10 S500 M03 M08
Code Generation Algorithm
Since the relationship between the information covered in the process and the NC codes has been analysed, it is possible to translate the process into NC codes using a code generation algorithm. This algorithm is used to scan through the process plan and to insert pallet rotations, tool changes, and machining actions into the NC codes.
809
Fig. 7. The flow chart of NC program generation.
Table 3. The part information of a process list. Operation
Cut
Record
Face
Feature
Position
Tool
Speed (r.p.m.)
Feedrate (mm min−1)
1 1 1
1 1 2
Drill Drill Drill
Front Front Right
H1-38.1 H2-38.1 H3-101.6
(25.4, 38.1) (25.4, 76.2) (50.8, 38.1)
T01 T01 T02
500 500 500
127 127 127
810
W. Xiang et al.
N20 N25 N30 N35 N40 N45 N50 N60 N65 N70 N75 N80
G0 Z38.10 G99 G81 Z-38.10 R7.26 F127.00 Y114.30 G0 Z38.10 M05 G90 G80 T02 M06 B90 G55 X50.80 Y38.10 S500 M03 G0 Z38.10 G99 G83 Z-101.60 Q19.05 R7.62 F127.00 G0 Z38.10 M05 M30
4.
Interface to NC Code Simulation
It is difficult, even for an experienced part programmer, to find the errors from reading NC codes, therefore, a visual simulation is used to check the validity of the NC codes in the machining processes. The techniques of animation and dynamic databases are used in this simulation. The whole manufacturing process can be visualised on the computer screen without actually implementing it in real-life, enabling the current manifold block to be inspected directly. It checks not only the reliability of the NC codes for manufacturing but also checks the accessibility of the tools to the manifold block. The input of this application is the NC codes of a hydraulic manifold block generated for a CNC application. The NC codes are written using the standard G-code format. Each Gcode has a specific function in machining. Therefore, the code can be translated into the appropriate motion, such as the movement of the tool, the direction of the tool feed, the cutter conditions and so on. Added to these fixed machining cycles, such as G81, G82 and G83, the cutter movement should be defined e.g. as a circle. Figure 8 shows a sample G83 cycle and its cutter movement [12]. The command format for the G83 code is “G83 Xx Yy Zz Qq Rr Ff”. Figure 9 shows the interface to NC visual-inspection. The information for all the tools would be stored in a tool library, together with the geometry and the manufacturing parameters such as feedrate and speed. There is also a dynamic on-line hydraulic manifold block database, which stores all machined features. After all the process operations for machining a feature have been completed, the parameters of that feature
Fig. 9. The interface of NC code visual simulation.
instance will be input to the dynamic block model. A full block model is completed only after the last machine step has been carried out successfully. Figure 10 shows the running interface of the NC code simulation. Four windows show separately the full state of manufacturing, the tool information, the current manufacturing face information, and the NC code information. In the manufacturing window, the hydraulic block is shown in an up view and side view. When the current feature is being machined, all the holes machined before that operation in the same section are shown in this window. This will help the user to check the interaction among the machined holes and check the current cutter. The tool information window shows the geometry and the parameters of the current cutter. The information in the tool information window and the manufacturing face information window can be switched between geometric information and parametric information. In the NC code window, the current executing NC code is simulated according to the manufacturing process. An additional feature is that all the NC code file can be edited. The NC code visual inspection application has the ability of self-morphological checking. When a mistake is found in
Fig. 10. The running interface of NC code visualization.
Fig. 8. Cutter movement of G83 cycle.
CAPP/CNC System for Hydraulic Manifold Blocks
811
the current segment of the NC codes, it will be listed as an error. An animated technique is applied in the programming of the visual simulation, which makes the inspection more applicable to the real manufacturing. The simulation of the cutter movement is shown following the indication of the NC code to finish the tool changing motion, the fixed cycle motion, the rapid backward motion, and so on.
one of the applications of the feature-based product model for a hydraulic manifold block [2]. It illustrates integrated CAD/CAM software development for a feature-based hydraulic manifold block built in the Windows environment.
5.
References
Conclusions
A generative approach for CAPP is introduced for generating the process operations for a hydraulic manifold block. After the requirements of the features on a product have been analysed a backward recursive method is used to determine the sequencing of the processes. The method starts with the final hydraulic manifold block. Some features can be abstracted and each feature has its process operations for machining. After the processes have been determined for the feature, this feature will be removed from the final manifold block. Then, until the raw stock is reached, all the processes for machining the hydraulic manifold block must be determined. The manufacturing knowledge and constraints are important for determining the priority of each process operation and are stored in a knowledge library or are encapsulated in the features. An optimal searching algorithm is developed to sequence all the process operations so as to reduce the non-productive time. It has following advantages: It is in accordance with the methods of an experienced process planner. It satisfies manufacturing techniques and constraints. It saves process planning time. NC codes can be generated automatically after the sequenced process operations for a hydraulic manifold block are developed. A code generation algorithm is used to scan through the process plan and insert pallet rotations, tool changes and machining actions into the NC code segments. Visual simulation of the NC codes has also been implemented for checking the cutter movement, the manufacturing accessibility and the quality of the design. The CAPP/CNC system introduced in this paper, together with the design application and the checking application, is
Acknowledgement
The work described in this paper was supported by a grant from the Hong Kong Polytechnic University (Project no. 353/093).
1. H. C. Zhang and L. Alting, Computerized Manufacturing Process Planning System, Chapman and Hall, 1994. 2. W. Xiang, C. W. Chuen, C. M. Wong and L. H. Yam, “Feature representation and database schema of an object-oriented featurebased product model for hydraulic manifold blocks”, International Journal of Advanced Manufacturing Technology, 16(3), pp. 182– 188, 2000. 3. K. W. Chan and K. Case, “Process planning by recognizing and learning machining features”, International Journal of Computer Integrated Manufacturing, 7(2), pp. 77–99, 1994. 4. B. K. Choi, “CAD/CAM compatible, tool-oriented process planning for machining centers”, PhD thesis, Purdue University, 1982. 5. R. I. M. Young and R. Bell, “Design by features: advantages and limitations in machine planning integration”, International Journal of Computer Integrated Manufacturing, 6(1, 2), pp. 87–93, 1993. 6. N. Z. Gindy, X. Huang and T. M. Ratchev, “Feature-based component model for computer-aided process planning system”, International Journal of Computer Integrated Manufacturing, 6(1, 2), pp. 20–26, 1993. 7. P. Gu, Y. Zhang and D. H. Norrie, “Object-oriented product modelling for computer-integrated manufacturing”, International Journal of Computer Integrated Manufacturing, 7(1), pp. 17– 28, 1994. 8. J. P. Kruth, J. Detan and G. V. Zeir, “Methods to improve the response time of a CAPP system that generates non-linear process plans”, Advances in Engineering Software, pp. 25.9–25.17, 1996. 9. C. C. Chu and R. Gadh, “Feature-based approach for set-up minimization of process design from product design”, ComputerAided Design, 28(5), pp. 321–332, 1996. 10. F. G. Mill, J. C. Salmon and A. G. Pedley, “Representation problems in feature-based approaches to design and process plan”, International Journal of Computer Integrated Manufacturing, 6(1, 2), pp. 27–33, 1993. 11. A. A. Afifi and D. R. Hayhurst, “Computer-aided part program optimization of multi-component pallet residence time in a machining centre for canned cycles and cutter tool compensation”, International Journal of Computer Integrated Manufacturing, 8(1), pp. 1–20, 1995. 12. S. C. Lin, Computer Numerical Control: Essentials in Programming and Networking, Delmar, 1994.