Project Policies

Projects are an important part of this course. Typical projects will be programming based -- though some exceptions may be entertained if the topic selected by you is (a) directly relevant to the course; and (b) involves an equal amount of effort as other projects.

Project topics may be suggested by you, or you may consult me for suggestions.

As far as possible, I will try to participate in each project. This means that you may have to schedule a project meeting with me every week, or more frequently.

The project topics must be selected by the end to week 4. However, I expect that most of you will begin work on the project by week 2.

Each project will be done by one or two people, depending on the complexity. Each member of a group will receive identical scores.


Possible Topics Following are some suggested topics for projects. Most of these require programming. The preferred language is C++, and acceptable alternatives are Java or Visual basic. Some projects will work better if you know how to use OpenGL.

Graphical verification fo NC programs: You will write a program that will take a RS274 file as input, and will graphically display the NC path in a window.
Specs for StandAlone version: Menu-based input file-selection, OpenGL based display: white background, red lines for cutting motion, yellow lines for other (rapid feed, tool change) motions, zoom-in, zoom-out, pan, rotate.

Specs for StandAlone version, 2 persons [same as above], plus: display of each control block on screen, on-screen editing of each block (text -mode only), allowing file-write after program editing.

Specs for integrated version In this case, you can integrate the function with a commercial CAD system, such as CATIA or SolidWorks. The graphics can be handled by thecommercial system. Your program must provide mechanisms to specify the STOCK and Tool, and show the stock being cut by the tool. Each motion statement must be displayed, and the user is allowed to edit the NC program and save the edited file.

Spring CAD/CAM [This project will done in conjunction with some UG students who are working on their final-year project on this topic]. The objective is to design a simple CAD software that alows a user to specify the geometry of a spring. The CAM software will then automatically create the NC program to control a Spring-making NC machine.

Surface/Solid Models from Scanned Data Develop a software that will first read in a point cloud data file from a laser scanner (or coordinate measurement machine). Typically, such files have millions of points of data. Your program will get an input form the user specifying a tolerance value, and will attempt to reduce the point cloud to a small set of (few hundred) points, that can be used to create a surface model in a CAD system such as SolidWorks, CATIA, or perhaps AutoCAD. The program must be able to generate the file that will create the model in the selected CAD system, without much more action from the user.

Part Programming (APT) Program Develop a software that to implement a part-programming language (such as Micro APT from Chang Wang, Wysk ). The program will read a part program from the specified file, and display the part, as well as the tool motion using line graphics.

Specs for 2 persons Use Java. Allow rotate, pan, zoom-in, zoom-out.