Open Sonnar - The 3D Printable Lens Focusing Mechanism

by nhfoley, published

Open Sonnar - The 3D Printable Lens Focusing Mechanism by nhfoley Aug 15, 2013

Featured Thing!


Thing Apps Enabled

Order This Printed View All Apps

Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

Views Downloads Found in Camera


One of the most beautiful features of digital fabrication is the way it allows us to salvage the past. Our reality may be the life's work of millions of brilliant people, but often, time and technology relegate their astonishingly functional artifacts to mere novelties or footnotes. Sometimes, though, for a low cost and a modest amount of design time, 3D printing enables us to rip their work into the present, to compete with modern day on it's own merits. I only know a small amount about photography, but I am beginning to suspect that the 80 year old lens in the photos above - the Carl Zeiss Sonnar 50mm 1:1.5 - is one of these objects worth reviving.

The lens was made in the early 1930's, from robust metal and optically flawless glass in a Sonnar arrangement - a designation describing the number and placement of glass elements that focus the light, and also an arrangement known for its sharp-but-painterly image quality, but also an arrangement which has never been replicated on modern DSLR's (due to technical incompatibilities). Unlike modern lenses, however, it was designed to be used on a camera with the focusing mechanism built into the camera body, and not the lens - which means that adapting it to a mirrorless digital camera required expensive and obscure adapters.

Provided here is my first attempt at an elegant, 3D-printable integration between this lens and a modern camera. It cleanly adapts to Sony NEX / E-Mount cameras. It is also a good starting point towards a more general series of focusing adapters for various lenses, and proof-of-concept towards building 3D printed lenses in their entirety.

It is a single-helicoid focusing mechanism, which means the lens rotates as it focuses. (I have a design for a double-helicoid mechanism, but I think it will be a challenge to print with good results at this point.) The focus range is roughly 30cm to infinity. (Closer than history intended... several of the sample images above would not have been possible with a traditional adapter.)

Credit: I took the photos shown over the weekend with this lens and adapter. They are 70% beautiful because of my gorgeous girlfriend and stylish friends, 25% beautiful because the camera lens is amazing, and 5% beautiful because I was obnoxious enough to be there with a camera and hit the correct button.

2013.09.15 - v1.12 Update: Oh boy, is this ever a sweet update. I've made a bunch of improvements, including:

  • A 3D printer-optimized threadform I developed based on extensive testing of printed helicoid accuracy. The threads now have continuous curvature in the plan view, meaning that jerk in the printhead is minimized while the adapter is being printed.

  • A finer thread pitch and longer focus throw, for closer focusing and easier micro-adjustments.

  • A spring-loaded section of threads which preload the helicoid as well as eliminate the need for a screw to function as a focus range limiter

  • Better light baffling on the inside of the lens mount

  • A better snap-fit for inserting the lens

  • A more precise fit for the E-Mount

What remains to be finished: Dialing in the perfect infinity focus stop. Right now, it focuses slightly past infinity.


Tolerances are critical here. The parts need to be accurate to 0.1mm or so in order to get a good fit. Print slow, as cool as you can, and with layers at 0.06mm or 0.08mm layers to maximize quality and surface finish.

Expect to have to clean up the threads some, particularly the inner threads. Also, removing some material from the inner side of the lens mount is a necessary step in getting a good press fit.

The crux of the design is that the inner helicoid mechanism is printed in Acetal (POM, Delrin). This slippery and strong plastic is currently bleeding-edge 3D printing material, but is essential to making an adapter that is smooth and pleasurable to use.

Print in Acetal! It will enable you to make powerful things!

See details of my process here: http://umforum.ultimaker.com/index.php?/topic/2646-3d-printing-in-acetal/

All Apps

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

This App connects Thingiverse with Makeprintable, a cloud-based mesh repair service that analyzes, validates and repairs most common mesh errors that can occur when preparing a 3D design file for p...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

very pretty ...not the thing ;)

Perfect idea, great implementation. Would you please mind to share the size of the inner thread on which the lens is attached? Is it--as those brilliant old lenses used to have--25cm? Thanks, Chris

The lens mount is a press fit with a retaining ridge. Not sure what thread mount you are talking about - probably a C mount, which is 25mm diameter threads. Those will vignette heavily on a NEX but work well on Micro 4/3rds.

Thank you very much. Indeed, I have an enlarger lens Schneider Comparon 50mm f/4. It has a thread mount that is slightly larger (~+1mm) than standard C-mount. A first free lensing test showed that is has no vignetting on an APS-C/NEX. I will try your adapter: a friend of mine has an Makerbot 2X and I will print the outer helicoid in ABS and this inner one in PLA.

Sounds good. I am skeptical that the enlarger lens will mount into this adapter without modification - also, the flange focal distance may be significantly longer than it should be, so it may only work in a macro setup. Not sure what the FFD is supposed to be. Let me know how it works out.

Great Idea, brilliant "Description" !
Well done.

That's one of the most meaningful and informative "Descriptions" I've read for a Thing before. Very well done

Very nice! I'll have to upload my own E-mount. I bought my Makerbot to do variations on exactly this.

I'm printing your model in ABS. Black ABS is pretty opaque across visible and NIR.

Awesome work, I have a nex-7 that I would love to try this with, I just don't have a lens to play with. The problem I see with PLA is that it is translucent. You might want to paint the interior of the pieces with flat black paint.

Yeah, I was initially worried about this, but it hasn't seemed to be much of a problem in practice. The lens-adapter combo actually seems to have amazing contrast... much greater than I would ever have expected from an old, uncoated lens. If light was leaking through the adapter, contrast would be lowered. The sample images above only had very minor contrast adjustment, and in fact I think in all cases I actually lowered the black levels from the raw data coming off the camera.

That being said, the Printbl grape PLA seems to be quite opaque. Other PLA's might be more problematic.

I got my MakerGear M2 primarily for making camera parts, so I've done a bit of research and testing on this.

Natural PLAs are slightly yellowish clear, but there are different formulations and materials added to improve printing properties, and those make the PLA more translucent. PLA is really a polyester and readily takes synthetic fabric dyes; that allows a wide range of colors, but nearly all such dyes are transparent in the NIR (remember the fuss about Sony NightShot camcorders seeing through people's clothing?). PLA from some vendors, notably "the unfortunately named http://repraper.comrepraper.com," doesn't even seem to have much dye in it; e.g., their black looks more like smoked glass. The most opaque PLA I've found is the black that came with our M2; it prints somewhat differently from the other PLAs we've tried, and I strongly suspect that it actually contains particles of carbon black. In any case, unless you're shooting with a camera that has the built-in NIR filter removed or using a visible-light blocking filter, by the time you've got 3-4 layers of even the "repraper black" the combination of diffusion and dye darkens things well enough.

However, extruded threads are still somewhat rounded, and where thinner edges of the threads line up over several layers, you get what looks like pinholes, although they might not actually be holes at all. Unfortunately, slicers don't seem to have the concept of deliberately skewing parallel extrusions in fill to avoid creating these aligned thin spots. This is where black paint comes in. A real black paint, as opposed to one color mixed (which typically use dyes that pass NIR), often contains carbon black, and 1-2 thin coats will not only fill pinholes, but stop NIR. You'd think that latex paint wouldn't stick to PLA, but the thread structure actually lets it stick pretty well, although a light sanding before painting doesn't hurt. I'd recommend painting just the inside areas of larger parts with flat black latex containing carbon black. Incidentally, if there are actual pinholes, before painting you can fill them by rubbing plastic wood filler in and smoothing that with a moist paper towel.

I haven't really tested ABS very much because, in addition to being a nicer material to handle, PLA tends to make more dimensionally accurate parts. That said, ABS is naturally translucent, and the minor testing I did suggested that it is not any better at blocking light than PLA.

It is also worth noting that digital cameras don't have long-term light leak vulnerability like film cameras did -- you're not accumulating exposure in the film-carrying area behind the shutter between taking pictures. Even with film, most film isn't as sensitive to NIR as sensors are, so if the plastic looks opaque, it's probably good enough for that. During exposure, the light leakage even through barely tinted PLA is negligible compared to the light pouring through an f/1.5 lens... I'd only expect obviously serious light leakage problems with things like flash photos where the direct flash light hits the PLA parts and the lens is stopped-down a bit.

Great info!

Very nice; I'll have to try this. I literally just printed my first attempt at a 3" focus helical yesterday... it was very smooth, but had a little too much play -- i.e., it felt like manual focus of a modern kit zoom. ;-)

Awesome. I think there is an enormous amount of potential here. Fit tolerance is critical, but I think thread form and print material have a huge impact as well. Some of my early attempts were made with PLA for both the inner and outer helicoid, and I couldn't really find a "goldilocks" zone - some gave reasonably smooth motion, but had a little too much play, whereas others were too tight and the static friction of the PLA-PLA contact surface was just too jumpy to give a nice experience. I think acetal for one or both of the helicoids is the key to getting smooth motion. My current version takes a little bit of manual filing in order to clean up the threads once they are printed, but the motion is very smooth and getting close to a decent MF prime lens once it is assembled.

Right now I'm printing some simple tests with different thread forms to see which have the best output quality.

One of the things I was thinking of trying was mixing PLA and ABS parts, but I don't know if PLA will slide any better against ABS or not. Another possibility is use of a lubricant, which is how manual focus lenses all work, but choice of lubricant is critical. For other things, I've also found that simply applying a mild abrasive wet household cleaner and repetitively working mated PLA surfaces together can smooth-out the interface nicely... but it takes a while. I also like your internal spring idea.

Unfortunately, any of these tricks would prevent printing a helical focus unit assembled, which I would like to keep as an option.

Incidentally, my helical used the same easy-printing metric-compatible thread library (which I haven't released yet) that I used to make http://www.thingiverse.com/thing:132781http://www.thingiverse.com/thi... , but with a pitch of 5mm instead of 1mm. At a pitch of 2mm, the threads are both tight and smooth, but I haven't yet put in support for interleaving threads so that travel could be any integral multiple of the normal pitch, and moving only 2mm per full turn is darn slow for a 3" helical. Oh yeah; in case you're wondering, a 3" helical gives just under 6" focus range, which is about right for using a lens intended for 6x7cm to 4x5" formats -- typically something in the 80mm-150mm focal length range.

M42 Rear Lenscap

I'll admit, the lure of keeping it printable in one piece is pretty big.

Anyway, I think the important thing with 3D printed threads is to design them from a different perspective, literally. The actual threadform, as it is traditionally defined (by a side view), is sort of irrelevant when 3D printing - the more important thing is the actual path that the printhead takes (the plan view of the helicoid) is as smooth as possible, in order to maximize output quality. Ideally, not only the printhead path would be as smooth as possible, but also the printhead velocity, acceleration, and jerk would also be smooth - meaning that the helicoid profile in a plan view is a 5th-ish degree curve.

I eyeballed a curve with these properties last night, and the test results are noticeably better than a traditional threadform, though the end result is relatively similar.

I have attached a parametric model (Rhino/Grasshopper) that generates nth degree helicoids. I'll play around with values and try integrating something like this into the rest of the model this weekend.

As a follow up, I just printed a non-standard thread form for the helicoid that is giving much improved movement, even in PLA . I will post it up shortly.

Another follow-up of sorts: I think I've found a lubricant-free way to get smoother interfaces between PLA parts -- painting one with a water-based clear polyurethane. It sticks surprisingly well, yet doesn't bind like PLA against PLA does. I'll be posting more details later....

Is your revised helicoid up? I have to say I'm very impressed with the smoothness and detail of your design, especially the E-mount flange. It's been pretty difficult to get such smooth things designed using OpenSCAD.

Really amazing to know. I've been printing lots of threadforms lately, but mostly as attempts to get tolerances dialed in. I'll add the best one so far to this page. I haven't integrated them into the mount, because my current one has been working well and I've been very busy with work.... but it should be useful to integrate into other helicoids.