It’s not magic! Create 3D models from photos

Every so often, we are greeted with new research or technology that promises to greatly improve how we work with CAD. At Siggraph 2013, five researchers released a jaw-dropping video of 3-Sweep. This clever demo shows an order of magnitude of improvement in modeling speed by snapping to photographs when sketching. The thing is, this technology isn’t entirely out of reach. You can do the basics today in most 3D CAD tools. Let’s take a closer look, starting with the video.

Click to view the 3-Sweep demo video

3-Sweep stands out because it’s as useful as it is cool

What stands out about this approach is that it could well have applications for mechanical engineering. Many photograph-based technologies, such as motion tracking and photogrammetry, fail to cross over from entertainment to engineering. Although these tools create beautiful results, the resulting models typically lack the resolution needed for engineering or they require so much post-processing that it is more efficient for engineers to start from scratch. The beauty of the 3-Sweep approach is that it appears to be compatible with precise CAD. In fact, you can even try creating 3D models from photos in your CAD system, if you are willing to set it up right. Doing so gives you a deeper appreciation for what 3-Sweep is doing. Let’s take a look at what you can achieve in conventional CAD, and then do it ourselves in Autodesk Fusion 360 on GrabCAD.

Some basics and how it works in conventional CAD

Over the years, I’ve found myself remodeling from photographs for several reasons.

1. Reverse engineer from scanned photo tracings.
Sometimes, I wanted to reverse engineer a part where I didn’t need precise measurements for most of its geometry. Remodeling from a photo, along with calipers when I needed more resolution, has proven to be a very efficient approach. One particularly compelling trick is to put flanges and other flat interfaces directly on the glass of the office scanner. Sketching over those images easily achieves similar resolution to most 3D printers. Years ago, I modeled most of the castings on this ‘78 Beetle Transmission in SpaceClaim by tracing carefully taken photographs and scans of its flanges.

See ‘78 Beetle Transmission in SpaceClaim in 3D on GrabCAD

Pictured: ‘78 Beetle Transmission in SpaceClaim. Click to view in 3D. Make sure you try the Explode tool on this one!

2. 3D sketch on top of images.
The next step is to try actual 3D sketching on top of images. Below are some examples I did by 3D sketching on MC Escher lithographs using a technique substantially similar to the basic approach used in the video.

See Belvedere in 3D on GrabCAD

Pictured: Belvedere model on GrabCAD

See Waterfall in 3D on GrabCAD
Pictured: Waterfall model on GrabCAD

3D models from photos on GrabCAD

Now let’s take a look on how to to accomplish this basic trick in Fusion 360 for GrabCAD, which is still free for a limited time.

1. Take the photo.
Take the photograph using telephoto as much as possible to minimize parallax. Although the 3-Sweep researchers use perspective to reconstruct depth, it’s much easier in CAD to use axonometric (perspectiveless) projections. If you don’t have a fancy SLR camera with a telephoto lens, try to keep your model to within the middle third of your image and crop.

Step 1: Take the photo

When taking the photo, err on the side of a lower-resolution image with less parallax, as the perspective distortion will likely be the dominant error.

2. Set up your project.
Create a new Fusion 360 Design from GrabCAD Workbench, and start by creating a shape that closely resembles a shape in your image, as best as you can eyeball it. Boxes are the easiest shape to start with. Then, insert your cropped image onto a plane using the “Attached Canvas” command in Fusion 360, as that placement technique will present all six degrees to permit fine positioning in Fusion’s Move tool.

3. Refine with ‘Look At’ feature.
Try to line up the image with your cube, using the Look At button on the View toolbar to check the alignment. You’ll need to tweak the rotate handles many times to get it to line up in the Look At view. Every time you move the image, you need to choose Look At again, so this step will take some iteration.

Step 3: Refine with 'Look At' feature

Try to focus on getting one corner to line up. Clearly, 3-Sweep’s ability to figure out the right orientation and perspective of the view using edge detection is extremely clever and useful compared to eyeballing it iteratively. If we had the ability to use the edges of the photo to set up the projection, like 3-sweep, we would save a lot of time.

Clearly, 3-Sweep’s ability to figure out the right orientation and perspective of the view using edge detection is extremely clever and useful compared to eyeballing it iteratively.

4. Start sketching.
Having lined up the top of the box, that top face becomes the most natural place to sketch. In this case, I’ll place a three point circle along the highlights of the rim.

Step 4: Start sketching

Use Press Pull to pull the cylinder down until it looks decent and resize the box to better fit model model. With a little more modeling, the result appears okay, but the perspective is annoyingly present, like in the image below.

Step 4: Start sketching, pt 2

5. Get some perspective.
We can get a better feel for the accuracy of our trace if we turn on perspective display in Fusion 360. After a few tweaks to the image scale and the model, the results are impressive.

Step 5: Get some perspective

How 3-Sweep improves on this process

There are some other tricks 3-Sweep uses to map textures based on the image, which should now be clear if you’ve ever applied a decal by projecting a bitmap. They also have some nice background auto-fill that makes the model magically pop off the canvas. Those features will probably be less relevant for mechanical designers, but they go a long way to making their demo effective.

Tell me what you think

Would you model from photographs to create quick concepts or reverse engineer parts? Do you see this approach as a refinement to the current paradigm of 3D modeling? When would you envision yourself using it? Let me know in the comments.

Get Workbench now