Introduction: 3D Picture Phone Case

About: I'm an inventor / maker / designer based in Portland, OR. My background is in residential architecture, film set design, animatronics, media arts, exhibit design, and electronics. I use digital design and fabr…

In this instructable I'll show you how to take a 2d image, turn it into a 3D surface, then use it to make a custom phone case. I'm using an iPhone 7 here, but I'll tell you where you might look to find a case for a different phone.

Step 1: Tools + Materials

  • Fusion 360
  • 3D Printer
    • I use a Prusa I3Mk3S for just about everything. It's the best bang for your buck, in my opinion- very well made, 3D printable replacement parts, accurate and reliable.

  • 3D Print Filament
    • I used Matte White PLA from Type A Machines for this project, but pretty much any filament will work. I like this stuff because the finish looks really good, but it makes more sense to use a filament with better mechanical properties than this if you want the mechanism to last.

Fusion 360 is free and it's awesome. I use it for everything I design and fabricate.

Student / Educator License (renew free every 3 years)

Hobbyist / Startup (renew free yearly)

Follow along with this Instructable to model your own!

Step 2: This Script Will No Longer Work

Fusion 360 officially discontinued compatibility with Javascript in December of 2020. Therefore, the Image 2 Surface Script used in this instructable will no longer work.

There may be other scripts or add-ins that do similar things, such as this Pin Point Impression Creator, but I haven't tried it.

You may have some luck going to GitHub and asking the author of the script to release it in another language like Python that Fusion 360 will be compatible with.

I'll leave up this instructable just in case Hans decides to update the script in which case it will still be useful.

Step 3: Install Image 2 Surface Script

"Script" is shorthand for a bit of code that you can plug into the program to give it a new tool that wasn't included by the software developer. There are dozens of scripts that allow you to do some pretty awesome things.

To translate a 2D bitmap image to a 3D surface for CNC milling, I used the Image-2-Surface script written by Hans Kellner.

The script is very simple. All it does is translate the value (level of lightness or darkness) of a bitmap image to the height of a point on a mesh surface. The white parts of an image will be the highest points, and the black parts will be the lowest points. This script will work with any photo, but I find it's best to use grayscale images because it's easier to predict what it will look like in 3D.

INSTALL A SCRIPT

First, download the Zip file attached above and unzip it in a location of your choice. I would advise keeping it some place other than the Downloads folder, or any other folder that is regularly cleaned out.

To load the script in Fusion, follow these steps:

  1. Start Fusion 360 and then select the ADD-INS > Scripts and Add-Ins... menu item.
  2. The Scripts and Add-Ins dialog will appear and display the My Scripts and Sample Scripts folders.
  3. Select one of the My Scripts folders, then click on the + icon near the top of the dialog.
  4. Locate the Image2Surface.js file in the folder you copied, select it, and click Open. The script should now be installed and ready to be run.

Scripts and Add-Ins Menu

Step 4: Open Phone Case Model

Attached in this step as a generic phone case shell for an iPhone 7 I made. If you've got a different phone model, go to a site like Autodesk Fusion 360 Gallery or Grabcad to find a solid model format file that will work with your phone. Acceptable file types are IGS, IGES, SAT, SMT, STP, and STEP.

An STL, OBJ, or other mesh format file won't work with the process I'm using here.

Download the phone case file,

Open the Data Panel by clicking the grid in the upper left corner of the screen, open an project folder or make a new project, then click the Upload button. Choose the phone case file to bring it into the Fusion project.

Once it's in, just double click on it to start your new design.

Step 5: Run Image 2 Surface

First, you'll need to create an image. This can be anything, but you'll get better results with high-contrast images like the one above.

375 H X 175 W is a good proportion for the picture (at least for an iPhone case), and you won't want to go much bigger than 375px X 175px at 72 DPI. Any bigger than that and the script will really bog down your machine.

The photo can be color, but it's mapping value (whiteness / blackness of each pixel), so I find making the images black and white to give me a better idea of what the surface will be.

With my file saved, and the Workspace set to MODEL, I go to ADD-INS > Scripts and Add-Ins... I select Image2Surface from the list and click Run.

CHOOSE A BITMAP IMAGE

The script opens a window where you can choose a bitmap image. I'm using the self-portrait shown above.

IMPORTANT: the image should be a small size. The higher the resolution, the more points on the mesh, which means slower performance or crashing. The image I'm using is less than 300 X 300 PX and seems to work fine. Notice also that the image is blurred- this makes for a smoother mesh.

To find good images for practice, just do a google search for "depth map image" and you'll see lots of images that are ready for this kind of work.

If you want to follow along, you can right-click and download the image below and use it to create your 3D surface.

The default settings pictures above worked just fine with the image, but you may want to tweak these settings for better results. Below is a description of the script settings.

If all goes well, you'll have a mesh surface based on the image you chose.

TROUBLESHOOTING

Is Fusion freezing or crashing when you try to run the script? Chances are, your image is too large. Keep it around 300 X 300 pixels and it shouldn't be a problem. The smaller the image, the faster the processing.

NON-WORKING SCRIPT

If the script isn't behaving as described even though you followed the instructions, I would suggest looking at this thread on the Autodesk Knowledge Base: https://knowledge.autodesk.com/support/fusion-3CHOOSE A BITMAP IMAGE The script opens a window where you can choose a bitmap image. I'm using a topographical map of the Monterey Canyons in Santa Cruz.

IMPORTANT: the image should be a small size. The higher the resolution, the more points on the mesh, which means slower performance or crashing. The image I'm using is less than 300 X 300 PX and seems to work fine. Notice also that the image is blurred- this makes for a smoother mesh.

To find good images for practice, just do a google search for "depth map image" and you'll see lots of images that are ready for this kind of work.

If you want to follow along, you can right-click and download the image below and use it to create your 3D surface.60...

Usually when a script isn't working, it's because it wasn't installed properly.

Step 6: Convert to T-Spline

The surface the script creates is a Polygon Mesh surface. This type of surface is made up of facets with edges and points. If you zoom in, you'll see that there are no curved surfaces.

This type of geometry can't be used to make g-code toolpaths, so we'll need to convert it to T-Spline geometry. A t-spline is a type of NURBS geometry that works with control points that affect a flexible surface.

You're going to need T-Spline geometry to create your 3D surface, so click the CREATE > Create Form tool from the menu. This tool takes you into the SCULPT workspace.

Next, click UTILITES > Convert and select Mesh Body in the Selection Filter. Now click the mesh surface that the script created and click OK. Now it's time to be patient and let the program do its work converting the surface to a T-Spline body- it might take a couple of minutes.

When the conversion is done, click on Finish Form on the upper right of the toolbar to go back to the Model workspace.

Step 7: Create 3D Solid

A t-spline surface won't be of much use on its own, so now you'll need to make a solid object with it. Make a Sketch, draw a rectangle that's slightly bigger than the boundary of the 3D surface of the picture, then CREATE > Extrude it so it's deeper than the overall depth of the 3D surface.

The Operation here should be New Body.

Go to MODIFY > Replace Face to cut the 3D surface out of the block you just made.

The Target Face is the 3D surface made with the script, and the Source Face is the flat face of the block that's on the same side as the positive part of the surface (the part that sticks out, not in).

You should get something that looks like this, where the 3D surface is sticking out of the block, not cut into it.

Step 8: Scale, Move, and Cut

Move the new body so that it's roughly centered on the phone case.

MODIFY > Scale the body so that the picture is smaller than the flat surface on the back of the phone case.

Move it again so that the 3D surface goes into the back of the case, but leave a little bit of a gap between the flat surfaces. You might want to avoid letting the surface go all the way through the case so that it pokes out on the other side.

MODIFY > Combine to cut the 3D surface out of the phone case.

Target Body should be the phone case, and Tool Body should be the 3D surface.

If all goes well, you should have a 3D surface cut out of the back of the phone case.

A quick rendering gives me an idea of how this will look when it's printed.

Step 9: Slice and Print

I used the default settings for PLA in Suplify 3D and printed it on my Creality CR-10. The orientation shown in the gif uses a lot of support material, but it makes for the clearest picture since it's facing up, so it's worth it.

Step 10: What Picture Will You Use?

The self-portrait came out pretty well. I can't help looking at this and thinking of Han Solo in carbonite. What picture will you use on yours?