Scanning a Shoe Last with the iPhone True Depth Camera

In this 3DShoemaker tutorial, I’m going to show you how an Apple iPhone can be used as an accurate 3D scanner. It is useful for a variety of footwear applications. I’ll focus on how a shoe last can be scanned. The resulting scan can be used as a reference for developing a fully parametric shoe last model that can be customized in 3DShoemaker and then 3D printed.

Unbeknownst to many people, the phone in their pocket makes for an excellent 3D scanner. Since iPhone X, the higher end iPhones have been equipped with what Apple calls a True Depth camera. The primary use for this is to capture biometric data, namely the face geometry of the user in order to securely unlock the phone (Face ID). The way it works is that thousands of infrared light beams, invisible to the human eye, are projected onto the face. And then an infrared camera spots these from an angle. Triangulation is then used to get distance of individual projected dots from their origin, creating a 3D map.

iPhone Face ID dot projector used for scanning shoe last
By Phiarc – Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=124800341

As you would expect, various app developers jumped on the opportunity to use this technology for 3D scanning not just faces, but all manner of objects. And as by now you’ll expect me to add, it can be used to scan numerous things for footwear applications. For instance, human feet can be 3D scanned. And footwear and components can also be scanned. For this tutorial, I’m going to focus in on 3D scanning a shoe last. I’ll also show how to clean up the resulting model such that it could be used in 3DShoemaker as a reference model for developing a parametric shoe last.

There are multiple 3D scanning apps out there. Some just use the camera to create 3D models using a technique known as photogrammetry. And others use the Lidar scanner. While these are okay, what we really want for the best results are the apps that use the True Depth camera. Apps to consider are Scandy, Heges, EM3D, and 3D Scanner App. The one I use is Scandy.

Before scanning your first shoe last, you’ll want to get a mirror apparatus so that you can see the iPhone screen while doing the scanning (the True Depth camera is on the front of the phone, for obvious reasons). There are a variety of these you can purchase. But if you have access to a 3D printer, it is really easy to print one. I printed this one from Thingiverse. It fits great with these 2″ x 2″ craft mirrors off Amazon. A bit of crazy glue and the apparatus is done.

To scan the shoe last, I highly recommend using a turn table or Lazy Susan so that you don’t have to walk around the shoe last. The more you move, the more likely the positioning system is to lose track and the model to become discontinuous. And if you have a turntable, then you can just rest the phone on a fixed surface while you rotate the turntable.

The data can then be cleaned up in Rhino. Perhaps the simplest approach is to turn on the mesh points and delete the unnecessary ones. The SelBrushTool is a good command for this.

So that gets us the top of the last, which is all that is really needed as reference data for creating parametric shoe lasts in 3DShoemaker. You could of course also scan the bottom of the shoe last and then stitch the parts together, but that is quite a bit more work and there are specialized scanners out there that would do a far better job at this. But if you do want to give it a try with just the iPhone and Rhino, you can use the command Orient3pt to align the scans before cleaning them up. You’ll want to mark three non-collinear reference points on the shoe last to help with this, and make sure to scan with texture on.

That’s it, that’s how you reverse engineer a shoe last with just the phone in your pocket! And you’re one step closer to a fully customizable and manufacturable shoe last. In a future tutorial I’ll give some tips on 3D scanning a foot.

Leave a comment

Your email address will not be published. Required fields are marked *