Laser Scan to Print

Many of you have been asking for a laser scanner that can turn your CupCake CNC into a 3D copier. Thingiverse user tc_fea (aka my dad) is hard at work making that a reality. Using Visual Basic, ANSYS and a lot of math, tc_fea has gone from scan to print. Leave a comment if you’d like to see the source code and we’ll be sure to post it online.

Required Equipment

  • Chessboard
  • Laser-line level
  • Web camera
  • Windows PC with Visual Basic

Step 1 – Scan the Object

Actual Scan Object (drill)

First, tc_fea puts the scan object in front of a known, calibrated background – in this case an antique chessboard. He manually moves the laser line level incrementally across the image, taking a picture after each move.

Step 2 – Compute the Point Cloud

Point cloud

Tc_fea feeds the multiple scan images into his Visual Basic software for processing. The software does the following:

  1. Subtracts each scan image from a baseline image (with no laser line). This produces a very high contrast scan line.
  2. Subtracts the RGB component colors separately from the scan line, pixel-by-pixel (using Bresenham’s Algorithm). This allows a color scan.
  3. Applies a threshold filter to isolate the scan line from the background.
  4. Assemble the scan lines into a point cloud by performing a number of image transformation routines based on OpenCV methods
  5. Renders an image of the 3D point cloud in color

Step 3 – Mesh and Create an STL file in ANSYS

ANSYS photo

Next, tc_fea meshes his point cloud in ANSYS, a analysis package used, among other things, to analyze fighter jets and certify nuclear reactors. Overkill? Absolutely. Expensive? You bet. Fortunately, tc_fea is using an affordable demo version called ANSYS ED, which has many of the features in the full version, but limits the number of nodes and elements. Tc_fea’s program kicks out a pretty good point cloud, so you could probably accomplish the same thing in MeshLab or Blender (both free).

Step 4 – Print!

p100719_scanned_drill (2)

Finally, tc_fea prints the scanned part using his CupCake CNC running ReplicatorG! Homemade scan to print for less than $100!

For more things designed by tc_fea, go to http://www.thingiverse.com/tc_fea/things

Tagged with 9 comments
 

9 Comments so far

  • Jeff Keegan
    July 21, 2010 at 5:02 pm
     

    And of course there’s this, and this made from it..

     
  • bre
    July 21, 2010 at 8:29 pm
     

    yup, Andy’s doing amazing work!

     
  • Lane
    July 21, 2010 at 8:33 pm
     

    Do you have to ask? Of course people want to see the code. Even if I am the only people.

     
  • DStaal
    July 23, 2010 at 7:52 am
     

    One thought: Visual Basic limits anything he develops to Windows. It might be worth looking at Real Basic instead: It’s 90+% compatible, but it can produce Windows/Mac/Linux applications.

     
  • ecahseb14
    July 27, 2010 at 2:19 am
     

    check out the david 3D scanner…it’s pretty much the same concept, just a better result if you ask me.

     
  • sarkem.org
    July 29, 2010 at 6:45 pm
     

    The Top Ten Recommended Registry Cleaners…

    I found your entry interesting thus I’ve added a Trackback to it on my weblog :)

     
  • Reece Arnott
    August 1, 2010 at 8:04 pm
     

    Probably a good time to mention that I am hoping to have my own 3d scanning Java project released, at least as a beta version, probably in the reprap sourceforge repositiory as I hope to eventually integrate it into the reprap host software, in a couple of weeks time.

    It is designed to be very easy to use:
    – print out the calibration sheet (optionally design one yourself with nothing more complicated than MS-Paint)
    – place your object on it
    – take pictures with a handheld camera
    – give the computer the pictures, what calibration sheet you used, and how big the paper was you printed it on, and the output file name (currently only outputs as STL file)
    – Watch the blue bars
    – Done.

     
  • Scanning with a 3D PRINTER? - MakerBot Industries
    December 1, 2010 at 9:01 am
     

    [...] which uses a little tub of milk to detect the outline of an object as it sinks into the milk, the chess board and laser level scanner, and now Mark Moissette has invented a way to use his own 3D printer as a limited [...]

     
  • unclog print head
    February 8, 2011 at 2:02 am
     

    I am hoping to have my own 3d scanning Java project released, at least as a beta version, probably in the reprap sourceforge repositiory as I hope to eventually integrate it into the reprap host software, in a couple of weeks time.

     
 

Leave your comment

 
 
 

xhtml: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>