Teaching CAD in Mechanical and Manufacturing Engineering Programs – An Experience at University of Calgary –

D. Xue Department of Mechanical and Manufacturing Engineering, University of Calgary Calgary, Alberta, Canada T2N 1N4 E-mail: [email protected]

Abstract theory, primarily computer graphics, for satisfying requirements in engineering design and manufacturing. This paper introduces our experience of teaching a Since many advanced functions, such as finite element CAD course in mechanical and manufacturing analysis (FEA), motion analysis, CNC simulation and engineering programs at University of Calgary. Three machining, and computational fluid dynamics (CFD), aspects of the CAD knowledge, including computer have been added to the CAD systems in the past graphics theory, practice of CAD systems, and decade, focus of teaching CAD courses has also been applications of CAD in engineering design and shifted from computer graphics to applications of CAD manufacturing, are discussed based on the in engineering design and manufacturing. requirements for the mechanical and manufacturing Presently CAD is considered as a fundamental engineering programs. The various components of a component in mechanical and manufacturing CAD course at University of Calgary, including engineering programs. CAD is usually introduced lectures, laboratories, textbooks, assignments, and through the following three types of courses. course projects, are provided at the end of this paper. • Junior undergraduate course in engineering 1. Introduction graphics: to use a CAD system as an electronic drafting tool to practice engineering graphics Development of CAD tools was started by the knowledge. pioneer work of the SKETCHPAD project at the MIT • for designing an electronic drafting board to replace Senior undergraduate course and junior graduate the conventional mechanical drafting board [1]. In course in CAD/CAM/CAE: to use a CAD system as 1970s, considerable theoretical results have been a tool for engineering design, manufacturing, and achieved in computer graphics, such as solid modeling, analysis. free form curve and surface modeling, and • Senior graduate course for special purposes: to use visualization of 3-D geometric objects. In 1980s, and to develop specialized CAD systems for commercial CAD systems, such as AutoCAD by complex shape modeling, customized finite element Autodesk for 2-D drafting and Pro/Engineer by generation, computer animation, and so on. Parametric Technology Corporation (PTC) for 3-D modeling, were introduced. Today CAD systems are In recent years, the following questions are often widely used in engineering design and manufacturing, raised due to the improvement of CAD functions. including geometric modeling, structure analysis, (1) Should a CAD course be offered in mechanical and motion analysis, CNC machining, rapid prototyping, manufacturing engineering programs? and so on. Two issues are usually considered to decide The CAD courses were introduced to mechanical whether a course should be offered. First the topics and manufacturing engineering programs in 1980s with in the course have to be essential for the program. the advances of computer hardware and software Second the materials of the course take systematic technologies. Due to the limited functions of CAD approach to learn. For a good CAD system, it takes systems in late 1980s and early 1990s, most of the only days, if not hours, to learn the fundamental efforts in these CAD courses were devoted to the CAD functions of 3-D modeling and 2-D drafting. Therefore questions are raised on whether a CAD • Hardware and Software course should be offered. In other words, are we − Input devices: keyboards, mice, digitizers satisfied if the students have some fundamental − Output devices: monitors, raster printers, vector knowledge on 3-D and 2-D geometric modeling? plotters − (2) What should be offered in a CAD course? Computer systems: operating systems, Suppose we agree that a CAD course should be programming languages, computer networks offered in the mechanical and manufacturing − Computer graphics tools: OpenGL, VRML [5,6] engineering programs as what has been well • 2-D Drafting accepted by most present mechanical and − Primitives: lines, circles, arcs, ellipses, etc. manufacturing engineering programs, the questions − Area filling: solid filling, pattern filling on what should be offered are often raised. Should − Clipping of 2-D primitives in views we focus on the CAD theory – the computer graphics? Should we introduce sophisticated • 3-D Solid Modeling functions of a CAD system? Or should we focus on − Data structures: CSG, B-reps, half-space the engineering applications of CAD systems? − Boolean operations: union, intersection, This paper aims at answering the above two difference questions by studying the three aspects of CAD − Euler’s law knowledge required for the mechanical and • Geometric Transformation and Mapping manufacturing engineering programs. − 2-D transformations: translation, rotation, etc. • CAD Theory – Computer Graphics − 3-D transformations: translation, rotation, etc. • Practice of CAD Systems − Mapping between two coordinate systems • Applications of CAD in Engineering Design and • 3-D Geometric Viewing Manufacturing − Projections: perspective projection, parallel These three aspects of CAD knowledge are projection discussed with details in Sections 2.1, 2.2, and 2.3, − Windows, view ports, and their mapping respectively. • Modeling of Curves and Surfaces − 2. Three Aspects of CAD Knowledge Analytic curves: lines, circles, conics, etc. − Synthetic curves: Hermite cubic curves, Bezier For each aspect of CAD knowledge, we focus on curves, B-spline curves, NURBS curves the following two issues: − Analytic surfaces: planar surfaces, ruled surfaces, surfaces of revolution, tabulated • CAD Knowledge cylinders • Use of CAD Knowledge in Design and − Synthetic surfaces: bicubic surfaces, Bezier Manufacturing surfaces, B-spline surfaces, NURBS surfaces In addition, case study examples are also given to • Detection of Visible Curves and Surfaces support our discussions. − Detection of visible curves 2.1. CAD Theory in a CAD Course − Detection of visible surfaces CAD theory, primarily computer graphics, serves • as the foundation to develop CAD systems and to Illumination and Shading understand CAD concepts. Since the objective of a − Color models: RGB, CMY CAD course in mechanical and manufacturing − Light properties: diffuse reflection, specular engineering programs is not to implement new CAD reflection, ambient reflection systems, questions on whether computer graphics − Shading models for polygons: constant shading, should be introduced or what topics in computer Gouraud shading graphics should be introduced are often raised. − Transparency properties of materials − Shadows 2.1.1. CAD Theory – Computer Graphics − By studying the popular computer graphics and Surface texture mapping CAD textbooks [2-8], the major topics of computer • Computer Animation graphics are grouped into the following categories. − Motion simulation − Virtual reality with sensor devices 2.1.2. Applications of CAD Theory in Design and Table 1. Selection of computer graphics topics Manufacturing Although a good understanding of computer Computer Graphics Topics N C I graphics theory helps students to use CAD systems Hardware and Software – Input devices X more effectively, considerable efforts are required to – Output devices X learn the topics in computer graphics. Since the – Computer systems X objective of the CAD course in mechanical and – Computer graphics tools X manufacturing engineering programs is not to develop 2-D Drafting new CAD systems, some of the computer graphics – Primitives X topics may never have chances to be employed by – Area filling X engineering students in their future careers. – Clipping of 2-D primitives in views X In this section, the required computer graphics 3-D Solid Modeling – Data structures X topics for a CAD course are identified by studying the – Boolean operations X relations between computer graphics topics and their – Euler’s law X applications in mechanical and manufacturing Geometric Transformation and Mapping engineering. We classified these topics into three major – 2-D transformations X categories, – 3-D transformations X – Mapping between two coordinate systems X • Not Required 3-D Geometric Viewing • Concepts Only – Projections X • In-depth Formulation – Windows, view ports X Modeling of Curves and Surfaces as shown in Table 1. – Analytic curves X The major potential applications of the computer – Synthetic curves X graphics knowledge in mechanical and manufacturing – Analytic surfaces X engineering are listed as follows. – Synthetic surfaces X Detection of Visible Curves and Surfaces • Hardware and Software – Detection of visible curves X − Selection of computer systems (e.g., PC or – Detection of visible surfaces X Silicon Graphics workstations, MS Windows or Illumination and Shading UNIX) – Color models X − – Light properties X Selection of input and output devices (e.g., – Shading models for polygons X mouse or digitizer, raster printer or vector – Transparency properties of materials X plotter) – Shadows X − Selection of computer graphics tools for – Surface texture mapping X developing customized CAD systems when the Computer Animation required functions are not provided in existing – Motion simulation X CAD systems – Virtual reality with sensor devices X N: Not Required • 3-D Solid Modeling C: Concepts Only − More effective use of a CAD system by I: In-depth Formulation eliminating unnecessary geometric details to − Sculptured surface machining using 5-axis CNC reduce the size of the CAD model machine • Geometric Transformation and Mapping • Illumination and Shading − Identification of robot arm locations and CNC − Promotion of the design cutting paths − Mapping from the CAD coordinate system to • Computer Animation the machine coordinate system in CNC − Robot motion simulation − Production system simulation • 3-D Geometric Viewing − Perspective projection for marketing 2.1.3. Case Studies − Parallel projection for engineering graphics Case Study 1: Application of Transformation • Modeling of Curves and Surfaces A milling cutter moves first along a line (which − Sculptured surface modeling using the data starts from point A and ends at point B as shown in obtained through reverse engineering Fig. 1), and then moves along an arc (which starts from point B and ends at point C). Suppose point A is located at A = [1,2]T. From point A, the cutter moves 2 2.2. Practice of CAD Systems in a CAD Course units in x-axis direction and 1 unit in y-axis direction Practice of CAD systems is considered as the core to point B. The center of the arc, D, is located at D = component in a CAD course. Two extreme opinions [6,3]T and the radius of this arc is 3. Obtain the are often heard on how to teach CAD systems. matrices [T1] and [T2] for these transformation • operations and calculate the coordinates of B and C Since a CAD system is merely a computer software using package, it can be learned by the students themselves. B = [T1]A • C = [T2]B Since a CAD system usually provides a very large number of functions, it is impossible to teach a CAD system. C 6 Y In this section, we first study the major functions of CAD systems. Then we discuss how these functions should be introduced in a CAD course. 4 2.2.1. Functions of CAD Systems Presently many CAD systems are available for B D engineering design and manufacturing. The major 2 CAD systems are summarized in Table 2. A Table 2. Major CAD systems O X 2 4 6 CAD System Company Web AutoCAD Autodesk www.autodesk.com Figure 1. CNC cutter path calculation CATIA Dassault www.3ds.com CoCreate CoCreate www.cocreate.com I-DEAS UGS www.ugs.com Case Study 2: Application of Surface Modeling Inventor Autodesk www.autodesk.com Scoliosis is the abnormal spine curvature developed IronCAD IronCAD www..com by children. A patient needs to wear a brace to prevent KeyCreator Kubotek USA www.kubotekusa.com progression of the spine curvature. Since some patients Pro/Engineer PTC www.ptc.com have difficulty to find the braces with the right sizes UGS www.ugs.com and shapes, customized braces are required to be SolidWorks SolidWorks www..com manufactured. Fig. 2 shows the process for customized Think3 Think3 www.think3.com brace design and manufacture. Since special algorithms are used to create the brace shape and the CNC The major functions of the CAD systems are machining codes to produce the male brace die, a summarized as follows. customized CAD system has to be developed. • Sculptured surface modeling functions of OpenGL [5] 2-D Drafting − was employed in this project [9]. 2-D object creation: point, line, arc, circle, rectangle, spline, etc.

Camera

Patient’s Frame Standing Location

(a) Obtain shape of the (b) Model shape of the brace based (c) Create brace male die using 5- torso by a laser system on the shape of the torso axis CNC machining

Figure 2. Process of customized brace design and manufacture − 2-D object manipulation: mirror, fillet, chamfer, • Collaboration offset, trim, extend, etc. − Data sharing through Internet and Web − Projection views: top view, front view, right − Collaboration and coordination among team view, isometric view, auxiliary view, detail members distributed at different locations view, crop view, broken-out view, section view • − Dimensions: linear dimension, radial Customized CAD Systems − dimension, angular dimension Systems developed using solid modeling − Annotations: note, balloon, datum, surface kernels: ACIS, Proprietary, − finish, tolerance, center mark Add-in modules of existing CAD systems: C++ − Title box and bill of materials based ObjectARX for AutoCAD, C++ based Pro/Tookit for Pro/Engineer, C++ based API for • 3-D Modeling SolidWorks − Primitives: block, cylinder, cone, wedge, − Systems developed using common computer sphere, torus graphics libraries: OpenGL, Java3D − Sweeping: translational sweeping, rotational In addition to geometric modeling, CAD systems sweeping − also provide functions to support various design and Boolean operations: union, intersection, other product development activities, such as design difference optimization, finite element analysis, motion analysis, − Parametric modeling: linear dimension, radial computational fluid dynamics analysis, tolerance dimension, angular dimension analysis, mold design, CNC machining, rapid − Variational geometry: parallel, perpendicular, prototyping, reverse engineering, and son on. These tangent, collinear, concentric engineering applications are discussed in Section 2.3. − Assembly modeling: coincident, parallel, perpendicular, distance, angle, concentric, 2.2.2. Practice of CAD Functions tangent Different efforts are required to practice different functions of CAD systems. We classify these CAD • Visualization functions into the following 3 major categories, − Viewing: wireframe, hidden line visible, hidden • line removed, shaded, pan, rotation, zoom in, Optional Functions • zoom out Fundamental Functions • − Illumination: color of part, material of part, Core Functions transparency property of part, lights, texture of based on the potential of using these CAD functions in surface engineering design and manufacturing as shown in − Animation: explosion of parts in an assembly, Table 3. changes of positions and orientations of parts, kinematics motion 2.2.3. Case Studies Two case studies to develop customized CAD • Management of Geometric Objects systems are introduced in this section. − Dependency relations among geometric elements (e.g., features) Case Study 1: An Add-in Module of SolidWorks An add-in module to create the geometry of a block − Different configurations of the same part and was developed using SolidWorks C++ API functions. assembly When the three parameters of a block, as shown in Fig. • Design Libraries 3 (a), are entered, the geometry of the block, shown in − User defined features Fig. 3 (b), is then created automatically using the − Standard parts: bolts, nuts, gears, etc. SolidWorks API functions. Similar method can be employed to implement a • Data Exchange bookshelf design system by entering the following − Import/export of files from/to other CAD parameters. systems • − CAD data exchange standards: IGES, STEP height • − Extraction of features from geometry width • depth • Product Data Management • number of shelves − Permissions and preemptions of file access • color − Management of files in a large CAD project

Table 3. Selection of CAD functions CAD Functions O F C 2-D Drafting 2-D object creation X 2-D object manipulation X Projection views X Dimensions X Annotations X Title box and bill of materials X (a). A dialog box for entering parameters 3-D Modeling Primitives X Sweeping X Boolean operations X Parametric modeling X Variational geometry X Assembly modeling X Visualization Viewing X Illumination X Animation X Management of Geometric Objects Dependency relations X Different configurations X Design Libraries (b). Automatically created geometry User defined features X Figure 3. An add-in module of SolidWorks Standard parts X Data Exchange Import and export of files X CAD data exchange standards X GLint nMumberPoints = 3; // control point number Extraction of features X GLfloat ctrlPoints[3][3][3] = {{{-4.0f, 0.0f, 4.0f}, {-2.0f, 4.0f, 4.0f}, {4.0f, 0.0f, 4.0f}},

Product Data Management {{-4.0f, 0.0f, 0.0f}, {-2.0f, 4.0f, 0.0f}, {4.0f, 0.0f, 0.0f}}, Permissions and preemptions of file access X {{-4.0f, 0.0f, -4.0f}, {-2.0f, 4.0f, -4.0f}, {4.0f, 0.0f, -4.0f}}}; Management of large CAD project X glMap2f(GL_MAP2_VERTEX_3, // Bezier surface type Collaboration 0.0f, // lower u range Data sharing through Internet and Web X 10.0f, upper u range Distributed collaboration and coordination X 3, // distance between points in the data Customized CAD Systems 3, // dimension in u direction (order) Using solid modeling kernels X 0.0f, // lower v range Add-in modules of existing CAD systems X 10.0f, upper v range 9, // distance between points in the data Using common computer graphics libraries X 3, // dimension in v direction (order) O: Optional Function &ctrlPoints[0][0][0]); //pointer to the control point array F: Fundamental Function glEnable(GL_MAP2_VERTEX_3); C: Core Function (a). C++ program

Case Study 2: Surface Modeling Using OpenGL A Bezier surface with 3 × 3 control points is modeled using the C++ functions of OpenGL [5]. Part of the C++ program and the created Bezier surface are shown in Fig. 4 (a) and (b), respectively. The scoliosis brace design and manufacturing system introduced in Section 2.1.3 (see Fig. 2) was also developed by OpenGL to model the surfaces using NURBS functions [9]. 2.3. Engineering Applications in a CAD Course The goal of learning CAD is to solve engineering (b). Created Bezier surface design and manufacturing problems using the CAD Figure 4. Modeling of a Bezier surface using OpenGL knowledge. 2.3.1. Engineering Applications of CAD In addition to geometric modeling, CAD systems Table 4. Selection of CAD applications are used throughout various life-cycle phases of CAD Applications O C P product development. We classify the CAD Finite Element Analysis X applications into the following major categories. Motion Analysis X Computational Fluid Dynamics Analysis X • Finite Element Analysis (FEA) Optimization X − Structure analysis: stresses, strains, CNC Simulation and Machining X displacements Mold Design X − Thermo analysis: temperatures, heat fluxes Rapid Prototyping X Reverse Engineering X • Motion Analysis Virtual Reality X − Mechanism design: joints, initial conditions O: Optional − Simulation and animation: positions, velocities, C: Concepts/Demos Only accelerations P: Practice Required

• Computational Fluid Dynamics (CFD) Analysis 2.3.3. Case Studies − External and internal flows Two case studies for structure analysis and motion − Steady-state and transient flows analysis are introduced in this section. − Incompressible liquid and compressible gas Case Study 1: Structure Analysis with COSMOSWorks flows COSMOSWorks is the add-in module of • Optimization SolidWorks for finite element analysis. A − Design parameters, objective function, search COSMOSWorks structure analysis tutorial used in our methods CAD course is shown in Fig. 5. The boundary conditions are defined as: • CNC Simulation and Machining − Modeling of manufacturing geometry • Analysis type: static analysis − Creation of machining paths • Material: alloy steel − Simulation of machining processes • Mesh type: solid mesh • Restraint type: immovable surfaces of two holes • Mold Design • Pressure: 1000 psi normal to a planner surface − Creation of mold geometry − Selection of parting lines • Rapid Prototyping − Creation of STL files − Consideration of support structures • Reverse Engineering − Data acquisition methods: CMM, laser scanning • Virtual Reality (a). Boundary conditions − Devices: head mounted display, haptic devices, data gloves 2.3.2. Selection of CAD Applications Different efforts are required to introduce and practice different CAD applications. We classify these CAD applications into the following 3 major categories, • Optional • Concepts/Demos Only • Practice Required based on the potential of using these applications in (b). Result of stress distribution engineering design and manufacturing as shown in Table 4. Figure 5. Structure analysis with COSMOSWorks Case Study 2: Motion Analysis with COSMOSMotion Based on the above considerations, a CAD course, COSMOSMotion is the add-in module of ENMF 401, for mechanical and manufacturing SolidWorks for motion analysis. A COSMOSMotion engineering programs at University of Calgary was motion analysis tutorial used in our CAD course is designed as a senior undergraduate course with the shown in Fig. 6. This mechanism is used to transform following course components. the rotational motion of the driver part to the linear 3.1. Lectures motion of the driven part. This mechanism is defined Lecture sessions are used for introducing CAD by 9 joints as shown in Fig. 6 (a). The angular concepts and CAD systems. SolidWorks and its add-in displacement of the driver part is defined as modules (COSMOSWorks and COSMOSMotion) are θ = 2πt, 0 ≤ t ≤ 1 used for this course. Organization of the lectures is given in Table 5. where t is the timing parameter in unit of second. The acceleration parameter of the driven part can be Table 5. Lectures of the CAD course achieved by motion analysis as shown in Fig. 6 (b). Introduction Components of CAD Systems Hardware Components − Input Devices − Output Devices Driven Part Software Components − Functions of CAD Systems − Major CAD Systems Geometric Modeling Wireframe Models, Surface Models, and Solid Models Driver Part 3-D Solid Modeling Functions CAD Data Structures (a). A mechanism with joint constraints − Constructive Solid Geometry (CSG) Model − Boundary Representation (B-rep) Model Geometric Transformation, Viewing, and Visualization 2-D and 3-D Geometric Transformations Geometric Viewing − Orthographic Projections − Perspective Projections Visualization − Color Models − Shading Complex Shape Modeling Analytic and Synthetic Representations of Curves Analytic and Synthetic Representations of Surfaces (b). Acceleration of the driven part Computer-aided Machine Component Design Applications of CAD in Product Development Figure 6. Motion analysis with COSMOSMotion Motion Analysis Structure Analysis Tolerance Analysis and Synthesis 3. The CAD Course at University of Design Optimization Calgary CNC Simulation and Machining Rapid Prototyping Based upon the discussions given in Section 2, we 3-D Geometric Data Acquisition and Reverse Engineering can answer the two questions raised in Section 1. Virtual Engineering Standards for Communicating between Systems • A CAD course should be offered in the mechanical Advanced Topics on CAD and manufacturing engineering programs, since CAD Systems many topics in the three aspects of CAD knowledge SolidWorks (i.e., computer graphics, CAD systems, applications COSMOSWorks of CAD) are used in engineering design and COSMOSMotion manufacturing. 3.2. Laboratories • For each aspect of the CAD knowledge, only the Laboratory sessions are used for practicing topics that have potential engineering applications functions of the CAD systems including SolidWorks, should be selected in the CAD course. COSMOSWorks, and COSMOSMotion. These • For each of the important components, a 2-D laboratories are summarized in Table 6. drawing with appropriate views is required. All dimensions and necessary tolerances should be Table 6. Laboratories of the CAD course given in the 2-D drawings. Laboratory Topics • Students are encouraged to use advanced functions Laboratory 1 Part Modeling in SolidWorks Laboratory 2 Assembly Modeling in SolidWorks of the SolidWorks, including complex curves and Laboratory 3 Drawing Modeling in SolidWorks surfaces, constraints, visualization functions, cross- Laboratory 4 Complex Shape Modeling in SolidWorks sections, different types of views such as detailed Laboratory 5 Visualization Functions in SolidWorks views, auxiliary views, revolving views, partial Laboratory 6 Other Advanced SolidWorks Functions views, and so on, to model the parts, assemblies, Laboratory 7 Structure Analysis with COSMOSWorks and drawings. Laboratory 8 Motion Analysis with COSMOSMotion • Students are required to use either COSMOSWorks or COSMOSMotion, or both of them for the 3.3. Textbook and Reference Books structure analysis and the motion analysis. • Textbook: Lee, K., 1999, Principles of Each final course project is evaluated by a CAD/CAM/CAE, Addison-Wesley. proposal, a report, and a presentation. Some of the completed final course projects are given in Fig. 7. • Major Reference Book: Zeid, I., 1991, CAD/CAM Theory and Practice, McGraw-Hill. 3.6. Course Evaluation • The performance of students is evaluated by Other Reference Books: [2-5] assignments, a final course project, a mid-term examination, and a final examination. The evaluation 3.4. Assignments scheme is summarized in Table 8. CAD assignments and written assignments are given for practicing the knowledge learned in the laboratories and lectures. These assignments are Table 8. Grading of the CAD course summarized in Table 7. Course Component Percentage CAD Assignment 1 9% Table 7. Assignments of the CAD course CAD Assignment 2 6% Assignment Topics Written Assignment 1 5% CAD 1 Part Modeling, Assembly Modeling, and Written Assignment 2 5% Drawing Final Course Project Proposal 1% CAD 2 Complex Shape Modeling, Visualization, Final Course Project Presentation 3% and Other CAD Functions Final Course Project Report 16% Written 1 Geometric Modeling and Transformation Midterm Examination 15% Written 2 All Other CAD Topics Final Examination 40% TOTAL 100% 3.5. Final Course Project The final course project focuses on design and 4. Summary analysis of a product with a number of components using SolidWorks and its add-in modules including Our experience of teaching a CAD course for COSMOSWorks and COSMOSMotion. The mechanical and manufacturing engineering programs requirements of the final course project are given as at University of Calgary is summarized as follows. follows. 1. Computer graphics serves as the theoretical foundation of CAD. Many computer graphics • For each non-standard component, a SolidWorks topics, such as geometric transformations and free part should be created to model this component. form curve/surface modeling, have potential to be • The whole product should be created as a used in engineering design and manufacturing. SolidWorks assembly. 2. Practice of CAD systems is a core component of a • A 2-D drawing is required for the product CAD course. In addition to the fundamental assembly. A balloon with a part ID number is functions of CAD including 3-D modeling, 2-D required to label each component in the assembly. drafting and assembly modeling, other functions, Bill of materials and a title box are also required for such as visualization, geometric object the assembly drawing. management, use of design libraries, data

(a). A front suspension mechanism (b). An oil pump

(c). A shovel excavator (d). A steering system

(e). A recumbent bicycle (f). A hydraulic trolley jack

Figure 7. Samples of completed final course projects

exchange, and development of customized CAD [2] J. D. Foley, A. van Dam, S. K. Feiner, and J. F. Hughes, systems, should also be introduced. Computer Graphics: Principles and Practice, Addison- Wesley, 1990. 3. Application of the CAD knowledge for solving [3] J. D. Foley, A. van Dam, S. K. Feiner, and J. F. Hughes, engineering design and manufacturing problems is Computer Graphics: Principles and Practice in C, the goal of the CAD course. Students need to Addison-Wesley, 1995. understand the relations between CAD and other [4] D. Hearn and M. P. Baker, Computer Graphics: C courses in the mechanical and manufacturing Version, Prentice Hall, 1997. engineer programs. Students also need to practice [5] D. Hearn and M. P. Baker, Computer Graphics with OpenGL, Prentice Hall, 2003. the fundamental application functions, such as [6] A. L. Ames, D. R. Nadeau and J. L. Moreland, VRML 2.0 finite element analysis and motion analysis, in the Sourcebook, John Wiley & Sons, 1996. CAD course. [7] I. Zeid, CAD/CAM Theory and Practice, McGraw-Hill, 1991. References [8] K. Lee, Principles of CAD/CAM/CAE, Addison-Wesley, 1999. [1] I. E. Sutherland, “SKETCHPAD: A Man-Machine [9] Wu, H., et al., "Design and Manufacturing of Customized Graphical Communication System,” Spring Joint Braces for Scoliosis Treatment," Proceedings of the 2002 Computer Conference, Baltimore, MD, 1963. ASME Design Engineering Technical Conference, Montreal, Quebec, 2002.