# 3D Scan/Kinect Makerbot/Howard Community College/Fall2011/501 cupcakes
### Problem Statement

Past attempts using the X-BOX Kinect Camera, and ReplicatorG to convert an STL file to Gcode, and then operating the MakerBot Cupcake CNC have been successful at printing a 3-D object, but these attempts have been unsuccessful in creating a video.

### Team Members

Here is a list of the team members working on this project. The links to their individual project pages are also given:
* Baminnick
* Alex
* Andrew

### Summary

There are three overall aspects to complete this project: 1) Operating the MakerBot 2) Scanning an object manually 3) Using the Kinect to capture a 3D image of an object. While using the MakerBot in this project, an understanding of how to print objects was developed and a procedure was the ultimate result. This procedure allows a future ENES-100 student to operate the MakerBot without difficulty. Scanning an object manually was completed by using an infrared laser, video camera, MeshLab, and MakerScanner. With these materials, one could scan an object that is rotating and develop an STL file that can be printed. We were unable to complete this because it is difficult to scan an object manually. Using the Kinect to capture a 3D image of an object is a result of a more effective manner than scanning an object manually. In this project, viewing and operating the Kinect camera was completed. In conclusion, these three aspects were completed to the best of the groups abilities for the benefit of the ENES-100 class.

### Poster

Team photos of this project are shown throughout this page:
Here are youtube videos developed from someone working on the MakerBot:
* Homemade MakerBot 3D Printer
* Make a 3D Laser Scanner
* 3D Printing of a Wrench
* Video of an object being scanned with MakerScanner
Here are youtube videos that we have developed to help others working on the MakerBot:
* Setting Up the MakerBot Cupcake CNC
* Centering the Work Table under the MakerBot Motor
* MakerBot Cupcake CNC Test Extrusion
* MakerBot Cupcake CNC Printing

### Story

The first week of this project was spent on how to use the HCC MakerBot Cupcake CNC. We tried to create an STL file with the CAD program Blender. However, we were unable to save the file as an STL and therefore upload it into Replicator G. Our solution to this problem was to use thingiverse.com and download a ready object. Then we uploaded the file into Replicator G, and successfully we were ready to develop the GCode to print. At the same time, an issue occured regarding the connection between Replicator G and the MakerBot. Our solutions to this problem were to use other serial ports, reconnect the COM connection using a Replicator G command, and re plugin the cord. The solution to this was to use the connection command in Replicator G. Once the setup was completed, another problem occurred as we attempted to control the work table. The work table did not create a adhesive source which would allow the object to be printed. Through testing, our solution to this was to cover the work table with double sided tape. The product of this investigation was the MakerBot Procedure which outlines how the MakerBot should be used.
Once a general idea of the MakerBot was uncovered, we moved onto working with the X-Box 360 Kinect camera. The problem was how to operate the Kinect on Windows. The solution was to download a software package called, "CL NUI Platform Driver." This software package allowed the user to view what the kinect viewed, however it did not display a capture image or video function. A solution to this problem did not evolve through the team, but however the class. This problem was presented to the class, at which point the class discussed possible solutions to this problem. The solutions were to place a video camera near the software image on the computer screen, or record what is shown through another software package.
The major issue that occurred in the third week was scanning an object with an infrared laser. The first problem was downloading programs that can scan an object. Through research, we found MakerScanner and MeshLab, which are programs that can scan the object and develop an STL file. The next problem was setting up the laser and the computer at a right angle. To develop a good scan, the user must be able to use the computer without producing any light pollution. Our solution to this was to use a different camera, and so we found a movable camera that was still able to take a video but not produce any light like the computer's camera. After the object was scanned using MakerScanner, another problem occurred, downloading the file onto MeshLab. MeshLab did not develop an effective model to print. We found that the solution to this was to do trial and error, some models were better if the camera's position or laser's position changed.
The last week was spent summing up the project. Time was spent on determining what future groups can do to push the project forward. The future groups can use the items which we produced. These objects were:
* MakerBot Procedure
* Video MakerBot Cupcake CNC Printing
* Video of an object being scanned with MakerScanner
The aspects of this project that need to be pushed forward are the X-Box 360 Kinect and using this camera to capture an image and print it, and improve the methods of capturing an image with MakerScanner.

### Decision List

Here is a list of the formal decisions which we thought were necessary to complete the project:
    1. Understand how the MakerBot Cupcake CNC operates.
    2. Understand how ReplicatorG converts an STL file into Gcode.
    3. Develop a MakerBot Cupcake CNC Procedure.
    4. Set up the infrared laser manually, and download additional software (Meshlab and MakerScanner).
    5. Attempt to scan an image using the downloaded software from step 4.
    6. Convert the scanned image into an STL file to possibly print.
    7. Connect the X-Box 360 Kinect with a downloaded software package and learn how to use it.
    8. Use the Kinect to develop a 3D image or video of an object.
    9. Convert this image into an STL file that can be printed.

### Material List

The hardware we used in this project is shown in the list below:
* MakerBot Cupcake CNC, for printing an object
* X-Box Kinect camera, for taking a video of an object to print
* Wine glass to refract the light the laser emits
* Rubber band, for stablizing the laser
* Metrologic neon laser, to produce a visible infrared beam which can scan an object
* Computer with necessary software, to upload scanned images and print

### Software List

The software we used for this project is shown in the list below:
* A CAD program which develops STL files, such as Blender or Autodesk 123D
* ReplicatorG, to convert an STL file into GCode
* Kinect Software Package, for using the X-Box Kinect Camera on the computer
* Maker Scanner, to scan an object
* Meshlab, to convert a scanned image into an STL file

### Time

As a team, we spent two hours in class and three hours outside of class every week on average. Seperately, each individual member spent about five hours every week. So in four weeks, the team spent twenty hours together. And individually, each team member spent about twenty hours in four weeks. Therefore the total time spent on this project is seventy to eighty hours.

### Tutorials

HCC MakerBot Cupcake CNC Procedure

### Next Steps

We have completed much in the 3D Scan project, however certain tasks have yet to be accomplished. These tasks can be completed by another team working on this 3D Scan project. We have determined how to use the makerbot, how to operate the X-Box 360 Kinect, and how to use an infrared laser and software to scan an object. From these findings, we developed a MakerBot Procedure that others can follow to use the MakerBot, and a method for capturing a scanned object video.
However we were unable to completely scan a 3D object manually (we were able to do about 60% of it though) as in set everything up yourself using the laser and the camera. So the next step would be to capture a kinect video using a lazy susan to rotate the object. Doing this may require trial and error to complete a proper STL file that can be printed. But, with the products we created and the youtube videos that have been posted, the next team can start directly from where we left off.
We definitely recommend this project to anybody in our class. Who ever may be reading this and working on this project best of luck with pushing this project forward.