DIN objectives adaptation for microscope?

Hi there!
I have a whole bunch of DIN threaded objectives prodused in Poland, Germany, Japan and USSR… In the basic project of the high resolution optics module RMS-threaded objective lenses are supposed to be used. Did anyone use DIN`s? It is not so hard to modify original design or print adaptor, I just whant to understand if there are any problems I may face.

I don’t think anyone has used a DIN threaded objective, but it would be nice to support them. The optics module section of the code is high on the priorities list for a big clean up see the enhancement proposal about this.

This may explain what is going on enough to make the necessary modifications, if not an adapter may be easier and then after the clean-up DIN objective may be easier.

Agh. Soviet GOST standart claims that DIN objectives with D 20,2 mm thread are RMS standart (1936 version of 1858 standart).


There are also existed 25 mm Leicas and 27 mm, 20 mm & 19 mm Zeiss and co objectives. Most of those are antique, but I have fairly good 20.2 Nikons, Zeiss and LOMO objectives. All those are for 160 mm microscope and has different length.

How the thread is organised? The obvious part of scad code is on the picture


Mod of the D and thread line widenes should work for me… I think)


DIN threaded JIS objectives are also cool alternative. And there are quite a lot of them on ebay and in old biological labs onshelf.

Yes, the main DIN thread is the RMS thread ~20mm, although there are also larger diameter threads.

The other parameter is the par-focal distance - from the thread to the object. 45mm is common and fits. I think the other common one is 35mm which certainly should fit without the stage riser, and probably fits with the riser.

Where I can get .scad file of the “optics_picamera2_rms_f50d13_delta”? There is no such file on gitlab.

The OpenSCAD files are not one-for-one with the parts STLs. The dufferent configurations of optics parts are generated using different parameters using a single SCAD.

The optics_picamera2_rms_f50d13_delta.stl file generated for the delta stage is built from the standard microscope’s optics.scad file.

Just printed delta microscope base, now I want to mod optic for my din objectives… Which modifiers I should look at to adjust module for delta? I found 3 places where delta is mentioned in scad file.

camera_mount_rotation = delta_stage ? -45:0; // The angle of the camera mount (the ribbon cables exits at 135* from dovetail for '0*' & 180* from dovetail for '-45*') fl_cube_rotation = delta_stage ? -60:0; // The angle of the block to hold the fl cube (0* for the fl cube exiting at 180* from the dovetail and -60* for the fl cube exiting at 120* from the dovetail)

and

 rotation = delta_stage ? 120 : 180; // The angle that the fl module exits from (0* is the dovetail)

UPD It looks like I will have to print the standard delta optics module and create some kind of the RMS-DIN adapter, otherwise, it may be impossible to insert the lens properly.

if you set delta_stage = true, then all the parts of the optics module will be in the correct orientation. To change the thread for the objective, the relevant code starts on this line where you can adjust the radius and pitch.

Where should I set it?

The best place should be in microscope_parameters.scad. Or you can use the -D command line option if you are compiling from the terminal.

Sorry about all the confusion. This confusion is why we are trying to clean up the code base to avoid these global parameters. We have a way forward but it will take us a way to complete it.

For context (as it may be helpful). In OpenSCAD the last place a variable is defined is the value that is used. Any variables in the outer scope of a file are global for all function in the file. These global pass between files when using “include” but not when using “use”. This is very useful behaviour for small projects as some parameters can be defined at the top of a file (or in another file) and they can be overridden if necessary. For a project as big as the microscope this has become unweildly, as you need to understand many files and the “scope” of the variables. The fixes we are now implementing are only possible because OpenSCAD has improved significantly since the OpenFlexure project started. For more details on our new solution please see OFEP1.