In this instructable, I'll be showing you (in some detail) how to a make a 3D printed copy of a real object, starting with capturing it with 123D Catch, refining it using Meshmixer, and then printing using a Makerbot (or any other 3D printer).
- A camera (even a smartphone will work, though a DSLR might yield better results)
- A rig to let you move the camera around the object, like this https://www.instructables.com/id/Camera-rig-for-123D-Catch/ (optional, though it does help in getting good results)
- 123D Catch software, free from http://www.123dapp.com/catch
- Meshmixer software, free from http://www.meshmixer.com/
- ReplicatorG software, free from http://replicat.org/
- A 3D printer
Step 1: Prepare for Capture
Here are some important tips:
- Photographs should capture all sides of the target object, both all the way around, and top and bottom. A good approch is to take 20 objects all the way around, and then move up (pointing the camera down at the object) and take another 20
- Choosing a smaller platform for the object helps capture more details from below. Notice how the bear is sitting on tiny circular stage.
- The object should not be moved at all during capture, and lighting should remain consistent. In effect, once the object is in place, you should move around it
- The target object should take up most of the frame: either get close to the object or zoom in
- While it is not absolutely necessary to maintain the same distance from the object all the way around, it does help the algorithm if distances are consistent
- Consistent diffuse lighting all around the object works best.
- Accurate focus is important - you will want to remove any out of focus shots
So go ahead, take your pictures. If you're using the camera rig I referenced earlier, adjust the horizontal distance on the rig, and the camera zoom, so that the object fills the frame. Since the distance to the object will be consistent, you might want to focus manually.
When you're done taking pictures, save them all to a folder with a descriptive name.
Step 2: Create Photo Scene in 123D Catch
Now we'll submit the photos to the 123D Catch web service, to create a photo scene.
Open the 123D Catch application, and click the button for "Create a New Photo Scene". You'll get a dialog prompting you to select image files. Navigate to the folder where you put your photos, and select them all. (You can use the Ctrl-A shortcut to select all, or click the first file, and then Shift-click the last file to get them all).
You'll be asked whether you want to wait, or be sent an email when the process is done. You'll need to enter your email address, and a descriptive name for the scene. I prefer to wait for the upload part of the process, in case there are problems.
Once the files are uploaded, you can press the button for Create Photo Scene. At this point, I click the link underneath the button and ask to be emailed once the process is done. The dialog will retain the email address and scene title you entered earlier.
The scene calculation can take some time, about 15 to 20 minutes. Now is a good time to get a coffee or a sandwich.
Unfortunately, if the stitching process fails, you don't get notified. If after an hour or so you still haven't been notified, try the process again, except this time waiting for results. That way you will get a message if anything goes wrong.
If you DO get a notification, then the next step is to review and clean up the capture in 123D Catch.
Step 3: Review and Clean Up Scene in 123D Catch
If everything went well, 123D Catch will show you a 3D presention of your object that you can navigate around. Click on the orbit icon on the tool bar, and you can look at your model from all sides. Make sure that it is filled in on all sides.
There will probably be things in the scene that are not part of your target object. In this case, 123D Catch has captured the camera rig as part of the object.
You can erase these by selecting them with the lasso or square tools. The selection will turn red. You can delete it by pressing delete. Go ahead and clean up your capture by deleting anything that doesn't belong.
When you are done, save your scene with another name. That way you can always re-open the original photo scene if you mess up.
In addition, you will want to export the scan of the target object itself as a 3D file. Go to File/Export in 123D Catch, and choose .OBJ format for export. Save the file to folder with a descriptive name.
If it didn't work out, here are some things that can go wrong, and how to fix them.
- The 123D Catch window shows your target object, and estimated position of the camera around it. You might find all the cameras tightly gathered around the object, and one or more really far away from it. I find that this happens when an out-of-focus image gets included. To get rid of it, click the outlying camera, and 123D Catch will highlight the corresponding photo in the "filmstrip" at the bottom of the screen. Right-click on the photo, and ask to have it removed from the scene. Save the scene and re-open it, and now your object should fill in most of the screen.
- Many of the photos in the "filmstrip" at the bottom show a warning triangle. This means that 123D Catch was not able to find common features in these and other images. If you double click one of these, 123D Catch will then prompt you to find matching features in several different images. When you're done, you can submit the scene for recalculation. I find that if too many images have warning triangles, it is worth trying to correct the problem, and reshoot the pictures.
- 123D Catch has captured the room around the object, and not the object itself. If this is the case, try reshooting the pictures, trying to get closer to the object.
Step 4: Filling in Gaps and Holes Using Meshmixer
The .OBJ file you created in the previous step (exported from 123D Catch) should be pretty complete, but you will notice that there is a hole in the bottom! 3D printing software will have a problem with this, since it will assume that you want to print a hollow shell, and not a solid.
There are various ways to fix this, and for this case we will use a brilliant piece of software from Autodesk called Meshmixer. Open the program, and press the Import button. Choose the .OBJ file that you exported in the previous step.
Navigation in Meshmixer is somewhat quirky, but you can orbit around your object by pressing Alt and dragging while pressing the left mouse button. (Meshmixer help is here: http://www.meshmixer.com/help/index.html)
If there are holes in your object, they will be outlined in blue. Click the Inspector button on the toolbar, and you will now see "bubbles" attached to each hole. Click on each bubble and Inspector will attempt to automatically repair your object by filling in all gaps. If the results are not to your liking, try this: undo (Ctrl-Z) and then right-click on the bubble. Instead of repairing, Inspector will now select the edges of the hole, and you can choose different edits. In this case, choose Erase & Fill from the Edit submenu. By default, it will try to follow the contours, so our bear ends up with a rather embarrassing bulge. You can reduce this by modifying the Scale parameter, visible in the sidebar on the right.
You will probably want to turn your object right side up - 123D Catch and Meshmixer use different coordinate systems, so your object might be on its side. Under the Edits submenu in Meshmixer, choose Transform. You can drag the curved segments on the navigation widget to orient the object properly.
Save your work as a meshmixer project when you're done. Next we'll do some additional cleanup, and then export the file for printing.
Step 5: Cleaning and Refining the Model Using Meshmixer
Here's how we do it:
- Click the Select button in Meshmixer. This lets you "paint" a selection on the model. You can vary the size of the selection by rolling your mouse wheel, or by changing the value in the sidebar on the right. If you select too much, press Shift and drag the mouse to remove areas from the selection.
- You'll want to select all sides of the "bridge" between the paw and leg. You can press Alt-left mouse at any time to spin the model.
- When you're done selecting, go to the Edit menu and choose Discard. This will get rid of the bridge, but it will leave a hole in the paw, and in the leg.
- Use the Inspector to fill in the holes.
Go over your model until all the surfaces are smooth.
Step 6: Preparing for Print, Making a Flat Bottom
In order to make it easier for the model to be printed, we want at least some flat surfaces on the bottom. For this, we will go to the Edits menu in Meshmixer, and select Plane Cut. You will see that the model will now be sliced with a flat plane. You can adjust the cut with the navigation widget that appears. Drag on the arrows to move the plane back and forth, and on the curved segments to turn it.
In the example, we've cut a little bit off the bottom of the bear so that there is some flat surface.
Save your work in Meshmixer, and go to File/Export to save it as an STL file.
Step 7: Preparing for 3D Printing Using ReplicatorG
Open the STL file you saved in the previous step, using ReplicatorG.
If you don't see anything, don't panic. Chances are the scale or position of the object are not right. Here's how you can fix it:
- Click the Move button in the ReplicatorG sidebar. Click the Center and Put On Platform buttons. You should see the object now.
- If it is too big or too small, click on the Scale button in the sidebar. Drag up and down with the mouse until it is right size relative to the build platform.
- If it is in the wrong orientation (facing up or down), click the Rotate button on the sidebar, and then X+/X- or Y+/Y- or Z+/Z- buttons until it is in the right position. The Rotate submenu has a handy "Lay Flat" button which will find the flat bottom of the object, and make sure it is flat to the build platform.
If you do have a 3D printer, then let's turn the STL file into something the printer can understand.
In order to print, the STL model has to be turned into a format called G-Code, which can be interpreted directly by the 3D printer.
These are simplified instructions for printing with a Makerbot Thing-O-Matic. Other consumer 3D printers will follow a similar process, and it is possible to do this with tools other than Replicator-G. This is not a detailed instruction, please consult the Makerbot website and wiki for more detailed instructions.
In Replicator-G, select the Generate G-Code button in the sidebar to start this process. For this example, you will want to use support material, which basically builds a frail scaffold of plastic to support overhangs in the model. In this case, the arms and chin need support, so select "full support" in the G-Code dialog box.
G-Code generation in Replicator-G takes a while. When it is finished you can either print directly from Replicator-G, or build to a file, copy that to an SD card, and have the printer go directly from the SD card. This way you can disconnect your computer from the printer while printing.
Step 9: Print and Clean Up
The model will now print. In the picture you can see the support material under the arms and chin.
Remove the support material by pulling it off with pliers, and trim it with an X-acto knife.
Removing the support will leave marks and "bruising" on the plastic. You can get rid of these by using a hot air gun to heat the model for a few seconds - the bruising will disappear.
You now have a miniature copy of a teddy bear!