Skip to main content

I want to limit total lens lenght in optimization and I want to do that for left-most point of the lens and right-most point of the lens, irrespective if this point is in the center, on the mechanical edge or even in between. TTHI only gives center thickness. XXET only reports edge thickness on mechanica diameter location. If lens size limitation is on the axis or on the edge only, that works OK. But if i.e. leftmost side is limited on the axis, and righmost side on the edge (concave shape), then also SAG of first and last lens need to be used. I have checked SAGY, but its Description in help is different then what is actual status in MF editor. There is no 'mode' possibility for SAGY and result is given for clear semi-diameter only, but I need mechanical semi-diameter. SSAG allows what I need, but Y (or 😵 coordinate should be input manually, which does not help me in optimization. I did not find a way how to get SAG value on mechanical semi-diameter automatically. I checked also other operands, but found no solution. I am sure there is solution, so I am grateful for your anwsers.



 



Hi Marco,



I think you can use FTLT operand (Full thickness less than). This boundary operand constrains the full thickness of a surface to be smaller than the specified target value. The full thickness is computed at 200 points between the vertex and edge along the +y radial direction, including the sag of the surface and the sag of the next surface. This operand has a mode flag. Mode = 0 (default) to use Mech Semi-Dia and Mode = 1 to use Clear Semi-Dia value displayed on the Lens Data Editor. The operand is useful for constraining surfaces which do not have their minimum or maximum thickness at the center or edge, but at some intermediate zone.



You can set a boundary for each of your lenses, or you can sum the thickness of all (with the operand SUMM and OSUM) and use the OPLT to limit its value. 


This is harder than it sounds. My approach would be to write a ZPLM macro that can be called from the merit function. I would pass it the start and stop surface numbers via the merit function editor Then:



1. Get the center-to-center thickness between start and stop surface



2. Get the sag of the start surface at its semi-diameter. If it is negative, add its modulus to the center-to-center thickness



3. Get the sag of the stop surface at its semi-diameter. If it is positive, add it to the center-to-center thickness



4. OPTRETURN the total edge-to-edge thickness 



Does that help?



- Mark


Reply