Skip to main content

Usually I would be able to use COMP to adjust the air-gap thickness between 2 surfaces as the tolerance compensator. For example, the back focus distance.

 

However, this time I want to have the compensator adjust the position of a lens element. The real world application being mechanically shifting the position of this lens by means of a motor/screw, while keeping the overall track length same.

 

An example of what I want to achieve in zemax would be. Thickness of SURF4 is the compensator. If this thickness of SURF4 is increased by 1mm by compensation action, then SURF6 should be reduced by 1mm accordingly.

Could something like that be scripted or done?

 

Thanks!

 

 

 

Try a position solve.


Hi Marcus, 

Following up on Mark’s message with some more details, the position solve he references is a Thickness Solve; you can apply this in the Lens Data Editor from the Thickness column. Here’s a quick description of the solve from the Help Files. 

 

Position 

The position solve maintains the “z” distance from a specified reference surface. If the reference surface precedes the surface on which the solve is placed, then the sum of the thicknesses from the reference surface to the surface following the solve surface will be maintained at the specified value. If the reference surface follows the surface on which the solve is placed, then the sum of the thicknesses from the solve surface to the reference surface will be maintained at the specified value. If the reference surface is the same as the solve surface, then the thickness of the solve surface will be set at the solve length value.

The position length solve is particularly useful for maintaining the length of a portion of a zoom lens to a fixed value. The solve can also be used to meet a total lens length constraint. In either case, the solve may eliminate optimization variables and operands, enhancing optimization convergence and speed. The letter “T” will appear in the thickness cell to indicate that a total length solve is active on that surface. 

This solve assumes that all the surfaces in the affected range are in the same coordinate system.

 

Let us know if you have any questions here!

Cheers,

Nick

 


Reply