3d Printing and Scanning

For this project, I spent the vast majority of my time trying to hack the kinect to do basic 3d scanning, with varying levels of success. I also wanted to test the limits of 3d printing delicate objects.


Step 1 | Design the model

I had been developing a set of computationally generated lace patterns using spiraled voronoi patterns. I took the center of one of these patterns and brought it as a vector path into blender where I extruded it into a 3d object. I then created a linkage of 3 of the identical spirals and imported it into meshlab to check the mesh integrity and fix the normals.


Step 2 | Printed object

The object printed successfully with the support material.


Step 3 | Finished Object

I added an earring hook to make one (very gaudy) earring. Hopefully next week I'll be able to print it's sister.


Step 1 |Scanning with the Kinect

I was really interested in hacking a kinect to do my 3d scanning. I used the libfreenect kinect library and the openFrameworks library in C++ to write some basic code that read the point cloud data from the kinect and allowed the user to modify the z-depth for the scan. I then wrote code to export the point data to .ply format. I have some working code in progress to rotate the scan to allow for full rotation, but have not been able to fully implement it yet.


Step 2 | Creating a mesh

After exporting the .ply, I imported it into mesh-lab and followed this workflow:
Compute normals for point set
Transform: flip or swap axis - Flip z axis
Surface reconstruction- poisson octree depth 11
I then exported the file as a .stl and imported it into blender and cleaned it up. openFrameworks code to be posted soon!


Thanks to Nick for helping me to understand the Kinect -> mesh workflow.


jacobsj (at) media (dot) mit (dot) edu