computer aided angular tolerance charting system ... · software engineering. the data structures...

20
Computer Aided Angular Tolerance Charting System: Implementation Jianbin Xue a * and Ping Ji b a Department of Mechanical Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing, China b Department of Industrial and Systems Engineering, The Hong Kong Polytechnic University, Hong Hum, Kowloon, Hong Kong, China Abstract Tolerance charting is one of the important technologies used in process planning to develop the mean sizes and tolerances of the working dimensions for a new manufacturing process, or to analyze a set of existing dimensions and tolerances to determine if the component can be made to meet the blueprint specication. In this paper a computer-aided angular tolerance charting system is implemented, which is mainly based on the mathematical models of the algebraic method for both square shouldered and angular features. A surface changing algorithm is applied to calculate the working dimensions. The process tolerance allocation is carried out with a discrete interval costtolerance model and a multi-choice knapsack model. With a genetic algorithm, an optimal or a near-optimal solution of tolerance allocation is achieved consequently. The implementation of such a computer-aided angular tolerance charting system is presented from the viewpoint of software engineering. The data structures for blueprint information, operation information, and tolerance charts are designed. The functions of the angular tolerance charting system are described. The prototype of the system is analyzed in detail. Introduction According to the Academic Press Dictionary of Science and Technology, a tolerance chart is dened as a graphical representation of a sequence of operations to which a part must be manufactured with identifying specied dimensions indicating tolerance limits(Morris 1992). It is a visual graphic tool used to develop the mean sizes and tolerances of the working dimensions for a new manufactur- ing process, or to analyze a set of existing dimensions and tolerances to determine if the component can be made to meet the blueprint specication. It is an effective means to deal with the tolerance stack-up problem in process planning for part machining. Engineering drawings have traditionally been used for design documentation and for effective communication between engineers from different departments. During the design of mechanical components and assemblies, tolerances are specied in conjunction with part geometry, material type, and other technical specications. *Email: [email protected] Handbook of Manufacturing Engineering and Technology DOI 10.1007/978-1-4471-4976-7_115-1 # Springer-Verlag London 2014 Page 1 of 20

Upload: others

Post on 07-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

Computer Aided Angular Tolerance Charting System:Implementation

Jianbin Xuea* and Ping JibaDepartment of Mechanical Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing, ChinabDepartment of Industrial and Systems Engineering, The Hong Kong Polytechnic University, Hong Hum, Kowloon,Hong Kong, China

Abstract

Tolerance charting is one of the important technologies used in process planning to develop themean sizes and tolerances of the working dimensions for a newmanufacturing process, or to analyzea set of existing dimensions and tolerances to determine if the component can be made to meet theblueprint specification. In this paper a computer-aided angular tolerance charting system isimplemented, which is mainly based on the mathematical models of the algebraic method for bothsquare shouldered and angular features. A surface changing algorithm is applied to calculate theworking dimensions. The process tolerance allocation is carried out with a discrete intervalcost–tolerance model and a multi-choice knapsack model. With a genetic algorithm, an optimal ora near-optimal solution of tolerance allocation is achieved consequently. The implementation ofsuch a computer-aided angular tolerance charting system is presented from the viewpoint ofsoftware engineering. The data structures for blueprint information, operation information, andtolerance charts are designed. The functions of the angular tolerance charting system are described.The prototype of the system is analyzed in detail.

Introduction

According to the Academic Press Dictionary of Science and Technology, a tolerance chart is definedas “a graphical representation of a sequence of operations to which a part must be manufactured withidentifying specified dimensions indicating tolerance limits” (Morris 1992). It is a visual graphictool used to develop the mean sizes and tolerances of the working dimensions for a new manufactur-ing process, or to analyze a set of existing dimensions and tolerances to determine if the componentcan be made to meet the blueprint specification. It is an effective means to deal with the tolerancestack-up problem in process planning for part machining.

Engineering drawings have traditionally been used for design documentation and for effectivecommunication between engineers from different departments. During the design of mechanicalcomponents and assemblies, tolerances are specified in conjunction with part geometry, materialtype, and other technical specifications.

*Email: [email protected]

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 1 of 20

Page 2: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

Process planning is a function by which the drawing specifications are transformed intomanufacturing instructions. The process engineers interpret the meaning of the blueprint drawingand design the manufacturing routings by deciding which manufacturing process and machinesshould be used to perform the various operations necessary to produce a component and thesequence.

The cost of production increases geometrically for uniform incremental tightening of tolerances.One way to minimize production costs is to ensure that no tolerance is held tighter than required bythe product design drawing or by the nature of the manufacturing process concepts coveringsequencing, choice of location surfaces, dimensioning schemes on the cuts, work-holdingprinciples, etc.

The widespread and growing use of NC machining has reduced the extent of the tolerance stack-up control problem by allowing cuts to be machined as shown on the blueprint dimensioningschemes, by eliminating manual control of machine decisions affecting the cuts, and by reducingthe number of location surface changes and the attendant fixture required by non-NC machining. Ingeneral, it has also improved size control and control of geometric characteristics of part feature.However, not all tolerance stack-ups are eliminated by using NC machine. NC machines are oftencombined with conventional machines to form a group of machines to make a part.

Many simple parts can be made without the help of tolerance charting. However, in aerospace,automotive, and other industries, many parts are very expensive to manufacture. Scrap and reworkof these parts result in large economic loss, especially in the just-in-time (JIT) manufacturingenvironment. “Doing it right the first time” is obviously very important. Because of the complexityof the part, the tightness of the tolerance, the large number of operations needed to produce the part,and the high frequency of changing machining datum, process tolerances for the part are difficult tobe controlled, and the scraps are usually inevitable. In production planning for quantity runs,however, the part cannot always be machined dimensionally as shown on the drawing, so datumsurfaces must be set up by the production engineer based on a selection of locating surfaces forfixture and on cutting tool design layout decisions. Whether a part is made completely to print in oneoperation or routed over a series of machine, some of which may be NC, the process engineer mustbe capable of recognizing that a tolerance stack-up situation has been created which will affect thetolerance assigned to the machine cuts. When tolerance stack-up problems must be handled, theeasiest, quickest, and most foolproof way is by the use of the tolerance chart. The tolerance chartingtechnique can systematically control the process tolerances in process planning and eliminate thescraps in manufacturing. The sequence of manufacturing processes can be visualized witha tolerance chart. Whether a part can be machined to selected tolerance can be predeterminedgraphically by constructing a tolerance chart. Process planners can take advantages of the tolerancecharting tools in determining the working dimensions and in allocating optimal tolerances tocorresponding working dimensions. Particularly for complex parts like splined shafts, fine gears,airplane engine shafts, and/or similar parts, tolerance charts are invaluable, practically indispensablefor economical production. This is the reason why tolerance charts are widely used in manufacturingengineering, particularly in precision manufacturing engineering.

Industries that utilize tolerance charting vary from large corporations manufacturing aircraftengines, off-road vehicles, and automobiles to NC-based machine shops. In any manufacturingcompany three separate groups are constantly concerned with the problems of determining themagnitude of the tolerances to be assigned to working dimensions, how tolerances build up, andultimately, what is to be done about those manufacturing situations where in the shop did not holdthe prescribed tolerances.

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 2 of 20

Page 3: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

Product designers are the first group of users, who have the responsibility of issuing designs thatincorporate the maximum possible working tolerances compatible with the functional requirements.

Manufacturing engineers are the second group of users, who have the responsibility of issuingoperation sheets that prescribe the best and most economical sequence capable of producing the part.

Quality control engineers are the third group of users, who have the responsibility of measuringquality, evaluating quality, and acting as the organizational catalyst when tolerances are not held toprint and a coordinated group effort is required to determine when this happened.

In current CE (concurrent engineering) environment, tolerancing is a common issue concerned byall human being involved in the product project. The design engineers’ job will fuse with theproduction engineers’ job. The utility of tolerance charts may cover all departments of the wholeplant and even multi-plants. Tolerance charts become one kind of enterprise resources shared amongengineers from different departments. They can be stored in a PDM (product data management)system along with the geometric model, operation routing, NC files, etc. In modern manufacturingindustry, the user groups of tolerance charts may cover ever wider than before.

Tolerance charting is one of the effective ways used by process planners to increase theproductivity and reduce the cost by optimal designing the dimensions and their tolerances to reducethe scraps and reworks. Process engineers using tolerance charts try to guarantee that all flaws will bepurged from the initial process-planning decisions responsible for the tolerance stack-ups. Once thishas been done correctly, the resulting process tolerances can be optimized. The final process will becost effective and free of all high cost tolerances.

This paper introduces the development of a software package named computer-aided angulartolerance charting (CAATC). The mathematical models are used to implement the angular tolerancecharting with computer programs.

Characteristics of CAATC

CAATC is a Windows® application that can create tolerance charts electronically. It isa computerized graphic method of presenting the working dimensions of a part with angular featuresat the stages of their manufacture process. It can visually ensure the dimensions and tolerances tomeet the specifications in the blueprint according to the principle of tolerance stack-ups.

CAATC is a promising tool for process planners. It will free the process planners from the labor-concentrated jobs. The tedious works, such as constructing the schematics for blueprint dimensionsand stock removals, calculating working dimensions, and identifying dimensional chains, areaccomplished by the computer. The process engineers are only needed to prepare some necessarydata to input into the computer and do some selection for machining cuts, the dimensional chains areidentified automatically, and the process tolerances are allocated optimally.

CAATC is a computer-aided 2D tolerance charting system, more capable than those simple 1Dtolerance charting systems. The distinctive characteristics of the system are summarized as follows:

StandardizationWith the development of computer-aided tolerance charting systems, the forms of tolerance chartsvary from one to another. A standard template for tolerance charts is constructed as a basis in thissystem. At the same time, the users can personalize the tolerance charts with their preferences byselecting different options. So, a universal tolerance chart template is developed for different users.A standard tolerance chart template has been developed.

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 3 of 20

Page 4: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

InteractivenessA major failure from many tolerance optimization programs is that the operation sequence must beplanned prior to running the programs and cannot be modified during the charting process.Interactive tolerance charting is a process-planning tool, not simply a process-checking tool. Aninterface is developed to input the tentative process sequence or to transfer the tentative processsequence from a CAPP program. Most importantly, the tentative process sequence can be modifiedin need if there are unachievable tolerances or dimensions. So it is capable of modifying the currentprocess plan and generating alternative operation sequences, as well as of checking the processes foreach sequence. In short, interactive charting is flexible and efficient.

IntegrationThe CAATC program is designed to be able to integrate with CAD/CAPP/CAM systems. Thiscapability is essential in today’s concurrent engineering environment. The part sketch is drawninteractively. It can also be transferred from an existing CAD file. So the process planners will nothave to redraw the part or re-input the design specifications. What they must do is select thedimensions and tolerances involved in the tolerance charts. The system outputs are also easy to berecognized by other systems.

SystematizationVarious computer-aided techniques are available for tolerance charting. This raises a crucial issue asto how computer-aided tolerance charting should be performed. With the algebraic method, thetolerance charts are able to represent the operational sequence graphically. The tolerance charts areextremely flexible to deal with angular features. The algebraic method is much more systematic andeasier to implement than other mathematical models. It considers the whole process procedureinstead of the single-dimensional chain. Both the forward and the reverse dimensional chains areeasily obtained. Thereafter, the working dimensions are determined with the reverse dimensionalchains, and the tolerance allocation is optimized with the forward dimensional chains.

UniquenessThe CAATC system can deal with the tolerance charts not only for square shouldered parts but alsofor angular featured parts. It determines the dimensional chains in both the x-axis and the y-axis. TheCAATC system can handle 2D tolerance charts, while others cannot. This is unique.

UniformityThe data structures, the surface model, the algebraic method, and the trigonometric formulas areuniform in spite of the square shouldered or angular features.

Mathematical Models Inside of the CAATC System

In order to deal with tolerance analysis and tolerance synthesis with a tolerance charting, manymathematical models had been developed in the last 30 years. Several computer-aided tolerancecharting systems are used to perform efficiently the calculations for dimensional planning and toadjust economically and reasonably the working tolerances for each machining operation in theprocess.

Early computer-aided tolerance charting method just computerized the manual tolerance chartingapproaches. In order to develop a systematic, efficient method for tolerance charting, it is necessary

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 4 of 20

Page 5: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

to establish some mathematical models for tolerance charts. In 1988, Tang and Davies introduceda matrix-tree-chain approach for computer-aided tolerance charting(Tang and Davies 1988). Byperforming a series of operations on the matrix, the dimensional chains and other relationshipbetween a dimension and other related dimensions were found out. This mathematical modelrecalled the interest on tolerance charting among researchers over the world. After that, manymathematical models representing the tolerance charts had been developed. Irani et al. proposeda graph representation of the machining sequence in tolerance charts in 1989 (Irani et al. 1989). Theblueprint schematics and the stock removal schematics were all represented with the graph repre-sentation. Their graph-theoretic algorithm eliminated the need to maintain balance dimensions, aswas done in the conventional scheme. Whybrew et al. introduced a graph-theoretic approach totolerance charting in 1990 (Whybrew et al. 1990). Two approaches to find the route from a cut face tothe original surface were presented, that is, a rooted tree diagram and a tabulation method.A. Y. C. Nee and A. S. Kumar presented a rule-based system for angular tolerance charting in1992 (Nee and Kumar 1992). In the following year, B. K. A. Ngoi and C. K. Chua developeda matrix method of deriving the dimensions and tolerances during tolerance charting (Ngoi andChua 1993). P. Ji presented a tree-theoretic representation for tolerance chart (Ji 1993a). TangG. R. et al. presented a list approach to the tolerance chart (Tang et al. 1993). The year of 1993 gainedthe most popular interest in computer-aided tolerance charting.

As to the tolerance allocation problems, the heuristic or mathematical optimization approacheswere often used. Chase et al. (1990) presented an approach to tolerance allocation for mechanicalassembly based on the discrete cost–tolerance relationship. Three methods, that is, exhaustivesearch, univariate search, and sequential quadratic programming, were developed for selecting themost economical manufacturing process for each dimension from a set of alternative processes.Dong and Soom (1990) used an expert system to automatically generate the optimization objectivefunctions and to associate each design tolerance with an appropriate production cost-precisionmode. The general formulation of optimal tolerance design was introduced for multiple relateddimensional chains. Lee and Woo (1989) formulated the tolerance allocation for assembly asa discrete optimization problem. For an optimum selection of tolerance from a given discretemodel involving various manufacturing processes, a branch and bound algorithm was developedto ensure optimum selection. Gadallah and El Maraghy (1994) developed an algorithm using thecombinatorial nature of orthogonal arrays to assign dimensional tolerances and to selectcorresponding process. Kopardekar and Anand (1995) presented a neural network-based approachfor the tolerance allocation problem considering process capabilities and mean shifts. Linet al. (1997) studied the assembly tolerance allocation problem based on theMonte Carlo simulation.Ji et al. (2000) proposed a fuzzy comprehensive evaluation approach to evaluate the machinability ofa part and developed a genetic algorithm to optimize the model. Chen and Fischer (2000) also usedthe genetic algorithm method in dealing with tolerance allocation problems for assembly. Ming andMak (2001) used the genetic algorithm to generate the optimal tolerance for each manufacturingprocess and adopted the Hopfield neural network to select the manufacturing operations.

He developed an optimization program to determine the optimal set of dimensions and tolerancesby combining three cost-based objective functions (He 1991). For concurrent optimization of bothdesign and manufacturing tolerances, Zhang et al. (1992) presented a simulated annealing method.Al-ansary and Deiab (1997) formulated a nonlinear multi-variable optimization model solved witha genetic algorithm. Jeang and Hun (2000) presented a method to determine the process means andtolerances simultaneously and to adjust them sequentially by considering process drift or deterio-ration. Li et al. (2000) used the genetic algorithm method to find the optimal machining datum setand machining tolerances simultaneously.

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 5 of 20

Page 6: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

In fact, tolerance charting is the most effective tool for process tolerance allocation. In early days,process tolerance allocation was accomplished with the trial and error method with the aids oftolerance charts (Ahluwalia and Karolin 1984). Initial tolerances were assigned to the machiningcuts. The tolerance stack-up was then calculated to check whether the blueprint requirements weremet or not. Obviously the optimal solutions were not so often obtained with such a heuristic method.In the 1990s, some advanced tolerance allocation approaches were developed. A linear program-ming model was developed for tolerance balancing (Ngoi 1992). Another direct linear programmingmodel was developed on considering the blueprint dimensions and the process capabilities(Ji 1993b). A gradient search procedure was proposed by formulating the tolerance allocation asan optimization problem to minimize the cost under the constraints of design, machining, andprocess capabilities (Nurre and Vedati 1998). A feature-based tolerance chart was used in alternativetolerance allocation for machining parts (Tseng and Terng 1999).

Because most models of tolerance allocation problems were formulated with the manufacturingcost as the objective functions, the cost–tolerance relationship became one of the most importantissues for the tolerance allocation problems. Various functions had been proposed to describe thecost–tolerance relationship and various optimization methods had been applied (Chase et al. 1990;Wu et al. 1988). Dong et al. (1994) developed several new cost–tolerance models and a hybrid-model tolerance optimization formulation. These cost–tolerance models were all formulated ascontinuous curves based on the collected empirical cost–tolerance data. In practice, the empiricalcost–tolerance data should be directly obtained from machine shops and recorded in the originalform of discrete points. In fact, the cost–tolerance model can be derived as a discrete interval modelbased on the tolerance grades that can be achieved with a certain machining cuts.

Here in the CAATC system, the mathematical model of algebraic method is employed to calculatethe working dimensions and to verify the tolerance stack-ups. A surface model is employed tocalculate the surface change after a machine cut is carried on the surface. With the cost–tolerancerelationship, a multi-choice knapsack model is formulated for the tolerance allocation problem. Thegenetic algorithm is used to solve the knapsack problem. Finally, the tolerances are optimallyallocated to each work dimensions. And it is easy to check the tolerance stack-up. Figure 1 showsthe relationships between the different mathematical models.

Fig. 1 The relationship between the mathematical models

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 6 of 20

Page 7: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

Design of the CAATC System

The general overview of the CAATC system is shown in Fig. 2. Three main classes of informationare required to input into the system to build a tolerance chart. They are blueprint information,operation sequence information, and stock removal information. Blueprint information includes thepart sketch and the dimensions. The part sketch is drawn through defining the points and the surfacesdescribing the part. The dimensions are inputted manually based on the part sketch. Besides, theycan also be transferred from a CAD file. Operation information is the tentative operation sequencethat used to manufacture the part. It includes operation number, operation type, machined surface,and reference surface. It is often designed manually. It can also be transferred from a CAPP system.Stock information includes the stock removals and process capability of each machining cut. It is themanufacturing resource information including machine types, minimum and maximum stockremovals, and multiple tolerances appropriate to a specific material for machine cuts. If theinformation is retrieved from an existing CAD or CAPP files, it should be transferred to the dataformat that can be recognized by the CAATC system.

The output of the tolerance charting system consists of the working dimensions, the updatedoperation sequence, the stock removals, and the resultant dimensions. The working dimensionsinclude the mean working dimensions and their tolerances. The updated operation sequence is theoutput information only if the operation sequence is modified in the tolerance charting system. Theoptimized stock removals and their tolerances are used to check whether the machine cut can beaccomplished or not. The resultant dimensions are indicated if the resultant dimensions are differentfrom the blueprint dimensions although they are still proper to manufacture the part.

Fig. 2 General overview of the CAATC system

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 7 of 20

Page 8: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

Data Structures in the CAATC System

The CAATC system is developed with Visual C++ on theWindows 2000/XP platform. According tothe information involved in the system, several data structures are designed to describe the blueprintinformation, the operation information, and the tolerance charts.

Data Structures for Blueprint InformationBlueprint information is the basic data required to the CAATC system. It is the design informationdescribing a part. It usually includes the part shape, the dimensions, the tolerances, and the surfacefinish information, etc. However, the surface finish information is not considered in the CAATCsystem. The part shape is described with the basic geometric information, such as points andsurfaces. A part sketch is often shown at the top of a tolerance chart in aid of analyzing the blueprintinformation. The presentation of the part sketch is different from the part drawing in a CAD system.It does not need to be scaled. In 2D space, the part sketch can be defined with the points and thesurfaces that determine the delimitations of the part. So, a list of points and a list of surfaces shouldbe defined. The surface is described with a line segment and its normal direction in this system. Theline segment is expressed with two points, and the normal direction is described with an angle, whichis measured from the positive x-axis to the normal of the surface. Here, the two points describing thesurface have two facets: one is the real position of the surface in the part coordinate system and theother is the descriptive values used to draw the surface in the sketch. So, both the position valuesshould be included in the definition of the points. So, the class of the points is given as follows.

class CPoints:: public CObject{CString m_strName;int m_nDrawX;int m_nDrawY;int m_nRealX;int m_nRealY;}

And the surface class is defined as follows:

class CSurface:: public CObject{CString m_strBeginPoint;CString m_strEndPoint;float m_fAngle}

Fig. 3 Representation of geometry information

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 8 of 20

Page 9: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

Here, Examples of the points and surfaces files are presented for the part shown in Fig. 3.

Example.ptrP1 10 20P2 10 120P3 60 120P4 10 60P5 120 20P6 120 90P7 120 60

And the surface file Example.sur is shown below:

Example.surA P1 P5 270B P4 P7 270C P2 P3 90D P3 P6 78E P1 P2 180F P5 P6 0

An ideal CAD system should not only support the geometry and topology of the part in questionbut also its tolerance specification and functional description (Mullapudi and Gavankar 1994). Inaddition to the geometric data, the topology of the part sketch is also required by the CAATC system.It can also be extracted from the CAD file. However, the topology of the part needed in the tolerancechart is different from that in the CAD file. It only records the adjacent relationship between thesurfaces. It can be generated when the surface information is inputted.

Another blueprint information, that is, the dimension, is also obtained from the blueprint drawing.The blueprint dimensions are all length dimensions, because the angle information is described withthe normal direction of the surface in the part sketch. Each blueprint dimension includes thefollowing information: number, begin surface, end surface, dimension, and tolerance. Because theresultant dimensions are the final dimensions of the part, they are considered as one of the propertiesof the blueprint dimensions. In addition, each blueprint dimension is produced with severalmachining cuts in the process sequence. The link of the cuts forms a dimensional chain. So theblueprint dimension also has a chain property. Thus the data structure of the blueprint dimension isdesigned as follows:

class CBlueprint :: public CObject{int m_nNo;CString m_strFrom;CString m_strTo;float m_nBlueprintMean;float m_nBlueprintTol;float m_nResultantMean;float m_nResultantTol;CString m_strChain;}

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 9 of 20

Page 10: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

Data Structure for Process Operation InformationThe tentative operation sequence is the main body of a tolerance chart. The operation sequence is thebackbone that links up all machining cuts to manufacture the part. Each operation has some staticattributes, such as the sequence number, the operation name, the machined surface, and the datumsurface. The working dimensions and their tolerances are the dynamic attributes of the operation.The stock removals and their tolerances also belong to certain operations. For those secondmachining cuts, the stock removal is the closing link of the dimensional chain. The dimensionalchain is one of the attributes of the operation. In the tolerance chart, each row of the chart representsan operation. So, the data structure of the operation is designed as follows:

class COperation :: public CObject{int m_nSeqNo;CString m_strName;CString m_strMachiniedSurface;CString m_strDatumSurface;float m_nWorkingDimensionMean;float m_nWorkingDimensionTol;float m_nStockRemovalMean;float m_nStockRemovalTol;CString m_strChain;}

Each operation may consist of several machining cuts. So it should be transferred from an initialtentative operation sequence to a formal machining cut sequence, that is, the operation sequenceshows all the machining cuts in the process plan.

Data Structure for a Tolerance ChartThe data structure of a tolerance chart should include all information involved. A tolerance chart ismade up of four main components. First, a list of points is used to describe the delimitation of thepart. Second, a list of surfaces (include square shouldered and angular featured surfaces) is used todescribe the outline of the part. Third, a list of operations is used to describe the sequence ofmachining cuts, which form a tentative operation sequence that the part will be machined with. Eachmachine cut in the operation sequence is extended to have the working dimension and the stockremoval dimension in the tolerance chart. Fourth, a list of blueprint dimensions is used to describethe blueprint dimensions to be controlled in the tolerance chart. These objects are necessary forconstructing the tolerance chart. Themanipulation of the tolerance chart is accomplished through themanipulations on these object lists. The interrelationship between the three lists reflects the com-plexity of the tolerance charting for angular features.

The class of tolerance chart is defined as follows:

class CToleranceChartDoc : public CDocument{

CTypedPtrList<CObList, CBluePrint*> m_blueprintList;CTypedPtrList<CObList, COperation*> m_opeationList;CTypedPtrList<CObList, CSurface*> m_surfaceList;CTypedPtrList<CObList, Cpoints*> m_pointsList;

};

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 10 of 20

Page 11: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

Functional Modules of the CAATC System

The mathematical models developed in the authors’ previous works (Xue and Ji 2002, 2004, 2005)are used to help the process planner to determine the working dimensions and to allocate the process

Fig. 4 Overall data flow diagram of CAATC

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 11 of 20

Page 12: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

tolerances in the CAATC system. The data structures of the classes involved have been introduced inlast section. How these classes interact will be revealed in this section.

The CAATC system is designed based on the software engineering. The data flow diagram of theCAATC system is shown in Fig. 4. Rectangles represent data processes, arrows represent data flows,and parallelograms represent data elements. Rhombuses indicate alternative selections. Trapezoidsindicate manual inputs. Documents and screen shows are also included in the data flow diagram.

Based on the data flow of the CAATC system, the interfaces between different modules aredefined. However, the transfers of the files from CAD and CAPP systems are not performed in thisbook. All necessary information is inputted manually. Based on the functional requirements, sevenfunctional processing modules and one auxiliary module of the CAATC system are developed asfollows.

Part Sketch Drawing ModuleThe part sketch can be either obtained from a CAD file or inputted manually. The part sketch isrepresented with points and surfaces and their topological relationships. The points are inputted first.Based on the point’s information, the surfaces are defined with two points and an angle between thesurface normal and the x-axial direction so that the surfaces are fully represented in 2D space. Thecharacteristic values are derived from the points in the part sketch. The lines representing thecharacteristic values are drawn to the bottom of the chart. All points and surfaces are visuallyillustrated. The topological relationship of the part is generated automatically when the surfaceinformation is inputted.

Blueprint Dimension ModuleBlueprint dimensions determine the final characteristic values of the surfaces in fact. The blueprintdimensions are the distances between any two characteristic values in the tolerance chart. In thismodule, each blueprint dimension and its tolerance are inputted manually. The correspondingcharacteristic values are designated at the same time. By setting the origin of the coordinate system,two additional conditions are attached, which are X ¼ 0 and Y ¼ 0. The relationships between theblueprint dimensions and the characteristic values are established in a matrix mode. By use of theGaussian eliminating method, the initial characteristic values are obtained. The blueprint informa-tion is stored in computer.

Operation Sequence ModuleAn operation sequence can be either obtained from a CAPP system or manually inputted. Theinformation of the operation sequence includes sequence numbers, operation numbers, machiningcut type, machined surfaces, and the characteristic value measured from and the characteristic valuemeasured to. The machined surfaces are selected from the surface list generated in the part sketchmodule. The initial operation sequence has no working dimension and no stock removal. Theinformation will be generated and updated in the procedure of manipulating the tolerance chart.When inputting the operation sequence information, the characteristic values of all surfaces areupdated at each machining cut backward from the last machining cut to the first one. The changes arecalculated with two unique trigonometric formulas as the Eq. (1). The tentative operation sequenceinformation is also stored in the computer.

For Eq. 1, the normal depth of cut is a; by deriving backward, before the machining cut, x will bedecreased with Dx, and y will be increased with Dy.

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 12 of 20

Page 13: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

Dx ¼ �a sin bð Þsin a� bð Þ

Dy ¼ a cos bð Þsin a� bð Þ

8>><

>>:

(1)

Angles a and b must be reckoned from the positive x-axis to the normal of the surface with theright-hand rule. The two formulas are applicable to both the internal and external angular featuresand for the square shouldered features and even for the “V”-shaped angular features. Details canrefer to author’s work (Xue and Ji 2005).

Here, in order to calculate the surface change during the charting procedure, an algorithm isdeveloped for calculating the surface changes due to the machining cut made on the surface based onEq.1.

Algorithm SCC (Surface Change Calculation) Algorithm:. Input: List “A”, a list containingN characteristic values, machined surface P (xa, ya, xb, yb, angle1), its adjacent surface Q (xb,yb, xc, yc, angle2), and the stock removal on machined surface “S”.

Output: List “B”, the list containing n characteristic values, in which the changed characteristicvalues are updated.

Algorithm. Function SCC (A, P(xa, ya, xb, yb, angle1), Q(xb, yb, xc, yc,angle2), S){DelX ¼ – S * sin(angle2) / sin(angle1 – angle2);DelY ¼ S * cos(angle2) / sin(angle1 – angle2);For (I ¼ 0, I++, I < N ){if (A[I].x ¼ ¼ P.xb);{B[I].x ¼ A[I].x + DelX;}else if (A[I].y ¼ ¼ P.yb){B[I].y ¼ A[I].y + DelY;}elseB[I] ¼ A[I];}Return B;}

Working Dimension ModuleThe working dimensions are determined with the blueprint dimensions and the stock removals. Theworking dimensions are obtained from the absolute values by subtracting the characteristic values ofdatum surfaces from the characteristic values of machined surfaces in the operation sequence. Theresult is a set of linear equations. These linear equations can be neatly formulated into a matrix. Theelements of some columns are all zeroes in this matrix, and the stock removals associated to these

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 13 of 20

Page 14: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

columns are “solid” stock removals. After eliminating these columns and their corresponding stockremovals, the remained matrix is the reverse dimensional chain matrix. Each row of the matrixrepresents a reverse dimensional chain.

Dimensional Chain ModuleThe forward dimensional chain matrix is the inverse of the reverse dimensional chain matrix. Thereverse dimensional chains are represented with a square matrix. With the inverse matrix function, itis easy to obtain the forward dimensional chains. In this module, the main activity is the matrixmanipulation. The forward chains are illustrated in the chain column in the tolerance chart.

Process Tolerance Allocation ModuleBased on the multi-choice of the tolerance grades that each machining cut may have, the processtolerance allocation is formulated as a multi-choice knapsack model. The objective function is tominimize the total manufacturing cost. The constraints include tolerances stack-ups under theblueprint and stock removal limits, the process capabilities, and the maximum and minimumstock removals. This multi-choice knapsack model is solved using a genetic algorithm. If no feasiblesolution of tolerance allocation exists, the report will show which constraint is violated. If the modelhas a feasible solution, an optimal or near-optimal solution is reported.

Output ModuleThe final goal of CAATC is to produce a complete tolerance chart. If the tentative operationsequence is economic to manufacture the part, it can be considered that the tolerance chart hasbeen successfully constructed. Thereafter, the tolerance chart can be printed as a final document.

Auxiliary Input ModuleSome auxiliary information is needed to input into the computer. The information of the tolerancechart layout is manually inputted. The information of the machining cuts, such as the machiningcapability, minimum and maximum stock removals, the process tolerance grades, the tolerancevalues, and the manufacturing costs, are stored in the computer. The information is necessary for thetolerance allocation module.

Graphic User Interface of CAATC

CAATC is an independent program that can run on a stand-alone personal computer. It can also beintegrated with CAD/CAM/CAE/CAPP software applications by developing some interfacesbetween the systems. CAATC can be launched at the “Start” menu in Windows 2000/XPenvironment.

Guide to Using CAATCThe overall procedure for using CAATC can be simply described as follows:

1. Start a new tolerance chart, the system will open a blank tolerance chart.2. Input the part sketch step by step. The part sketch can be defined interactively. First, define the

points one by one or import the points from a file. Second, define the surfaces or import thesurfaces from a file based on the point’s information. The topology of the part is automaticallygenerated when inputting the surfaces.

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 14 of 20

Page 15: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

3. Derive the characteristic values.4. Define the blueprint dimensions from a file.5. Define the operation sequence from a file. This file can be edited line by line to modify the

process operations.6. Determine the “solid” stock removals. Load stock removal values to the remaining machine cuts

from a file.7. Derive the working dimensions. The reverse dimensional chains are formulated automatically.8. Allocate process tolerances to the machining cuts optimally with the genetic algorithm.9. If a problem exists, interactively edit the process operations, the working dimensions, and the

stock removals as necessary.10. If it is all right, then save the angular tolerance chart into a file.11. Print out the complete tolerance chart.

Graphic User InterfacesWhen the menu item “New” is clicked, a blank tolerance chart is created. At this time, the part sketchand the operation sequence are all blank, as shown in Fig. 5.

Click on the Define menu, the part sketch can be inputted interactively and shown at the top of thechart. The part sketch input dialog has two phases, one is for point input and the other is for surfaceinput, as shown in Figs. 6 and 7, respectively. If the information of a part has been prepared, it issuggested to retrieve the part information directly. The “import points” and the “import surfaces”menu items are used to input the points and the surfaces in groups.

The blueprint dimension can be inputted with the dialog shown in Fig. 8.In order to input the operation sequence, click on the menu of input operation single; the dialog for

inputting the operation information is shown in Fig. 9.

Fig. 5 Workspace of the tolerance charting system

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 15 of 20

Page 16: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

The user interface can be activated via the menu items, as shown in Fig. 10 or the system tool bar,as shown in Fig. 11.

Once all inputting entries are complete, the resultant tolerance stack-ups are calculated, and theresultant lower and upper dimensions are compared with the design targets. If a design specificationis not achievable, the relevant design specification dimension and all the operations that contribute toits resultant tolerance stack-ups are highlighted in red color on the computer screen. It is not possibleto progress to the next stage in the charting procedure until the process plan has been modified tosatisfy the design specification.

Stock removal allowances are checked next in a similar manner. If an operation has a tolerancestack-up greater than the allowance, the mean dimension and the stack-up tolerance are highlightedin the red color on the computer screen. There are two options available for the user to choose duringchecking. First the user can set the stock removal allowances equal to the tolerance stack-up. Thisfeature is sometimes used to generate initial allowances quickly for comparison with a goodmachining practice. If this option is chosen, allowances do not need to be entered during input ofthe operations. Second, the user can override the checking for any individual operation and accepta tolerance greater than an allowance. This is useful for grinding and similar operations. If this optionis chosen, the allowance for that operation is highlighted in red to remind the user that the checkinghas been overridden.

After all the information needed in an angular tolerance chart is checked, with the algebraicmethod, the dimensional chains can be shown automatically. Working dimensions cannot be

Fig. 6 Points input dialog

Fig. 7 Surfaces input dialog

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 16 of 20

Page 17: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

calculated until the process plan has been verified with regard to the design and stock removalallowance constraints. Resultant dimensions can be specified at this stage. The program willre-compute resultant dimensions’ upper and lower limits automatically and check these dimensionsagainst the design specifications. Finally, a hard copy of the completed chart can be printed, ifrequired.

Summary

This CAATC software package can perform the most tasks of the tolerance charting with modernadvanced algorithms and methods. With the input by users, CAATC can automate the design tasksthat would take hours, days, or even weeks if performed manually. CAATC looks simple, but verycomplex in fact. CAATC gives users friendly interfaces and aids the process planner to construct thetolerance chart, and uses the algebraic method to determine the dimensional chains and workingdimensions and to implement the tolerance allocation with the genetic algorithm. CAATC needs todeal with much information about the machining cuts, work dimensions, process sequences, stockremovals, resultant dimensions, and so on. The information is very complex. So, it is hard to

Fig. 8 Blueprint dimension input dialog

Fig. 9 Operation sequence input dialog

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 17 of 20

Page 18: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

construct an excellent data structure to describe the angular tolerance charting. These tasks must bedealt with one by one. After the CAATC system becomes more experienced, a more simplified datastructure should be constructed. The algebraic method used in determining the working dimensionsis very effective. Some of the conditions are required to input directly by the user interactively. UsingCAATC as a tool of developing the tolerance charts, the time can be reduced sharply.

However, how to integrate the CAATC software with existing CAD, CAPP, or CAM softwarepackages is another pending problem to be solved.

References

Ahluwalia RS, Karolin AV (1984) CATC – a computer aided tolerance control system. J Manuf Sys3(2):153–160

Al-AnsaryMD, Deiab IM (1997) Concurrent optimization of design andmachining tolerances usingthe genetic algorithms method. Int J Mach Tools Manuf 37(12):1721–1731

Chase KW, Greenwood WH, Loosli BG, Hauglund LF (1990) Least cost tolerance allocation formechanical assemblies with automated process selection. Manuf Rev 3:49–59

Chen TC, Fischer GW (2000) A GA-based search method for the tolerance allocation problem. ArtifIntell Eng 14:133–141

Dong Z, Soom A (1990) Automatic optimal tolerance design for related dimension chains. ManufRev 3(4):262–271

Dong Z, Hu W, Xue D (1994) New production cost-tolerance models for tolerance synthesis. TransASME J Eng Ind 116:199–206

Gadallah MH, El Maraghy HA (1994) A new algorithm for discrete tolerance optimization. In:Computer integrated manufacturing and automation techniques, Proceedings of the fourth inter-national conference, Troy, 10–12 Oct 1994, pp 292–297

He JR (1991) Tolerancing for manufacturing via cost minimization. Int J Mach Tools Manuf31(4):455–470

Irani SA, Mittal RO, Lehtihet EA (1989) Tolerance chart optimization. Int J Prod Res27(9):1531–1552

Jeang A, Hun CZ (2000) Process parameters determination for precision manufacturing. QualReliab Eng Int 16:33–44

Fig. 10 System menu

Fig. 11 System toolbar

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 18 of 20

Page 19: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

Ji P (1993a) A tree approach for tolerance charting. Int J Prod Res 31(5):1023–1033Ji P (1993b) A linear programming model for tolerance assignment in a tolerance chart. Int J Prod

Res 31(3):739–751Ji S, Li X, Ma Y, Cai H (2000) Optimal tolerance allocation based on fuzzy comprehensive

evaluation and genetic algorithm. Int J Adv Manuf Tech 16:461–468Kopardekar P, Anand S (1995) Tolerance allocation using neural networks. Int J Adv Manuf Tech

11(10):269–276Lee WJ, Woo TC (1989) Optimum selection of discrete tolerance. J Mech Trans Auto Des

111:243–250Li W, Bai G, Zhang C, Wang B (2000) Optimization of machining datum selection and machining

tolerance allocation with genetic algorithms. Int J Prod Res 38(6):1407–1424Lin CY, Huang WH, Jeng MC, Doong JL (1997) Study of an assembly tolerance allocation model

based on Monte Carlo simulation. J Mater Proc Tech 70:9–16Ming XG, Mak KL (2001) Intelligent approaches to tolerance allocation and manufacturing

operations selection in process planning. J Mater Process Tech 17:75–83Morris CG (1992) Academic Press dictionary of science and technology. Academic press inc. San

Diego, CAMullapudi R, Gavankar P (1994) An object-oriented tolerance representation scheme for concurrent

engineering. Int J Manuf Syst Des 1(2):145–153Nee AYS, Kumar AS (1992) A rule-based system for angular tolerance charting. Int J Mach Tools

Manuf 32(6):885–899Ngoi BKA (1992) Applying linear programming to tolerance chart balancing. Int J AdvManuf Tech

7:187–192Ngoi BKA, Chua CK (1993) A matrix approach to tolerance charting. Int J Adv Manuf Tech

8:175–181Nurre JH, Vedati K (1998) Cost optimization of a process plans tolerance assignments for

manufacturing. Int J Model Simulat 18(3):196–200Tang XQ, Davies BJ (1988) Computer aided dimensional planning. Int J Prod Res 26(2):283–297Tang GR, Fuh YM, Kung R (1993) A list approach to tolerance charting. Comput Ind 22:291–302Tseng YJ, Terng YS (1999) Alternative tolerance allocations for machining parts represented with

multiple sets of features. Int J Prod Res 37(7):1561–1579Whybrew K, Britton GA, Robinson DF, Sermsuti-Anuwat Y (1990) A graph theoretic approach to

tolerance charting. Int J Adv Manuf Tech 5:175–183Wu Z, Elmaraghy WH, Elmaraghy HA (1988) Evaluation of cost-tolerance algorithm for design

tolerance analysis and synthesis. Manuf Rev 1(3):168–179Xue JB, Ji P (2002) Identifying tolerance chains with a surface-chain model in tolerance charting.

J Mater Process Tech 123(1):93–99Xue JB, Ji P (2004) Process tolerance allocation in angular tolerance charting. Int J Prod Res

42(18):3929–3945Xue JB, Ji P (2005) Tolerance charting for components with both angular and square shoulder

features. IIE Trans 37:815–825Zhang C, Wang HP, Li JK (1992) Simultaneous optimization of design and

manufacturing – tolerances with process (machine) selection. Annals CIRP 41(1):569–572

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 19 of 20

Page 20: Computer Aided Angular Tolerance Charting System ... · software engineering. The data structures for blueprint information, operation information, and ... # Springer-Verlag London

Index Terms:

Dimensioning and tolerancing 3–5, 7, 10, 12Genetic algorithm 5–6, 14Process planning 2–4, 11Process tolerance allocation 5–6, 11, 14Tolerance analysis 4Tolerance charting 2–5, 7–8, 15Tolerance chart 1, 5–6, 8, 10, 14Tolerance stack-up 2, 6, 14, 16Tolerance synthesis 4Tolerances 2, 5, 9

Handbook of Manufacturing Engineering and TechnologyDOI 10.1007/978-1-4471-4976-7_115-1# Springer-Verlag London 2014

Page 20 of 20