Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!


by tbuser, published

Spinscan by tbuser Jul 11, 2011


360 degree 3D laser scanner.

Still a work in progress, but I wanted to post what I have so far.

The latest version can be found at https://github.com/tbuser/spinscan_turntable

I'm also working on software at https://github.com/tbuser/spinscan

Checkout the spinscan tag to see examples of scanned stuff: http://www.thingiverse.com/tag:spinscan

Recent Comments

view all
can you leave a instructions to how to install the steppedmovie.java?, when I run processing1.5.1, I laways got can not find a class or type named "steppedmovie",how can I fix the problem? Thanks...
Can I mod this and put it on a new thingiverse page?
Can you send a video in action? If its seems possible, I might do this with a food turntable and my ps eye

More from 3D Printer Accessories

view more


Liked By

view all


Spinscan by tbuser is licensed under the GNU - LGPL license.

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag
can you leave a instructions to how to install the steppedmovie.java?, when I run processing1.5.1, I laways got can not find a class or type named "steppedmovie",how can I fix the problem? Thanks...
Can I mod this and put it on a new thingiverse page?
Can you send a video in action? If its seems possible, I might do this with a food turntable and my ps eye
so how does the new one connect to the table? is it still geared or is it direct drive now?
When can be expect some details about the used electronics? Would like to start building one....
I'm about to start building one of these awesome scanners, but the update link was 404ed for me, and I notice that there are recent updates to the githubs. Should I hold off on printing parts for a while or can I get started right now? Thanks! :-D
We need some solid instructions on this.

So does it just spin the object and film it then we build the model from that or is there a laser light like on the MakerScaner?
And where is electronics?
great work!

Also check out our 3d-scanner with turntable: hci.rwth-aachen.de/fabscan
We will release it on thingiverse very soon.

Since the electronics are very similar, you might even be able to use our fabscan software with your hardware...

binaries are only available for mac os x, but since it is
open source, you should be able to port it to your favorite OS :) It is a single click and it produces different point cloud files and STL.
Cool! Last time I saw your page there was no code to download. :) I'll definitely check it out.
bohne - in reply to tbuser
code is in the github... direct link: github.com/francisengelmann/FabScan
any chance you could export the processing program as an applet or application? also how do you wire up the stepper to the arduino with 12Volts?

love the project tho.
is it possible to not use the quicktime element, and use a linux tool like MPlayer or VLC?
You can record videos using anything you want and then load the videos into spinscan instead of recording from within spinscan. Just need to make sure the videos are in sync.
Keep it up. This is Great.

Thank you for inspiring more people to use both printing and scanning technology.

Please make everything in the K.I.S.S. principle.
Check out the tiki cup scan: thingiverse.com/thing:11449
Tiki Scan #1
by tbuser
Check out the latest results: thingiverse.com/thing:11382

Spinscan now does color texture scans and the dimensions are much more accurate now.
Dopey Scan #1
by tbuser
once you have a .ply file, convert it to .stl with meshlab using these hints:

here's one possible method:
normal reconstruction:
surface reconstruction:
recovering original colour
cleaning up and assessing

1. open meshlab ( starts with an empty project )
2. File -
gt; import mesh -
gt; [browse to and locate the .ply file you generated in spinscan or similar ]

3. Open Layer view (7th icon from the left , looks like a pile of papers)

gt; Sampling
gt; Poisson-disk Sampling: Enter the Number of Samples as the resulting vertex number / number of points you want. Good to start with about the same number as your vertex to maintain resolution, or if you have a very large file, choose something like 10000 or so to reduce your point cloud to something easier to work with ) - you MUST tick the "Base Mesh Subsampling" tickbox or you'll get an error here.

gt; Normals/Curvatures and Orientation
gt; compute Normals for Point Sets [set neighbours = 10 or 20]

5. TRIANGULATION : ( try any of these, and see which works best for you ) :

a. Filters
gt; Point set -
gt; Surface Reconstruction: Poisson, set octree to 11 (ish) [you should now see a new layer in the Layer Dialog to the right] but really strange border! ( increase this to 12 or 13 if you loose too much resolution on your object at 11. )

b. Filters
gt; Point set -
gt; Marching cubes RIMLS. Set Grid resolution to 1000 for a detailed mesh, or approx 200 for less details.

c. Filters -
gt; "Remeshing , Simplification and reconstruction" -
gt; Alpha Complex / Shape ( might work, not sure )

6. Fill holes by Filters -
gt; "Remeshing , Simplification and reconstruction" -
gt; Close Holes , picks out number automatically

save often as program crashes a lot!
On my mac, I installed the following to make this work:

Processing 1.5.1 processing.org/download/

OpenCV Framwork ubaa.net/shared/processing/opencv/download/opencv-framework.1.1.dmg

and then downloaded these extra libraries:
OpenCV Processing library: ubaa.net/shared/processing/opencv/
ControlP5 library: sojamo.de/libraries/controlP5/

( unzip the libraries, and copy the zip contents as-is to /Applications/Processing.app/Contents/Resources/Java/modes/j
ava/libraries/ )

I then open the spinscan.pde with the Processing.app, and it loads, and runs ( press play).

Everything seems to behave OK, and I'm able to make a .ply output file ( en.wikipedia.org/wiki/PLY_%28file_format%29 ) , but I don't have anything that will read the .ply format (
meshlab fails with "No face field found" ).
buzz - in reply to tbuser
done. I looked inside the generated output file, and there is no "element face" definition in the header, and no "face data" in the data ( AFAICT) , and according to the .ply format specification I found ( see link) it is compulsory.

buzz - in reply to buzz
looks like the latest version of mesh-lab loads it OK. now I just need to find out how to turn vertices into triangles, and export to .STL format so I can print it. :-)
The screenshot of the software looks awesome!

I can see this on my work bench in the near future ;)
Thanks for sharing!

I will definitely try to make this - I have a PS3 camera, line-laser and steppers ready for this. Also got Spinscan to work after I installed OpenCV
amp; Processing library for it. It generated .ply just fine, although Z was stretched as you said. Anyway, great work and can't wait to get own hardware to the point where I can start scanning things :)
Awesome! Yeah the software is really rough, the math isn't right, but it's at the point where it actually makes almost useful point clouds. :)
Ok feel a little dumb; don't see the electronics list anywhere? I have a PS Eye cam
amp; a line laser already.

(Also a Kinect. Actually surprised there aren't more Kinect scanner apps flooding the place too...)
I haven't documented it all yet, so there is no list of electronics. :) Soon.

I still haven't played with a kinect, but I'm guessing it would be hard to get such small details using a kinect. A kinect would be great for scanning larger objects, though.
Here's the first scan I made with this: thingiverse.com/thing:10730
Gnome Scan #3
by tbuser
how fun! I already bought the electronics for this as well, this design might get me motivated to continue! Thanks a lot for sharing... again.
I wonder if you could use the kinect as the camera with this software. That would allow you to correct depth data from the kinect with the laser. Thenyou could use that corrected dat to help align your pointcloud and fill in undersampled areas...
or you could use it as the basis for a printable LP turntable! :)
loving it and the OpenSCAD-based design... :)

Would also make for an interesting alternate print bed on a reprap (or ToM, etc). Then either the camera or laser could be mounted on the X carriage.