Skip to main content
Solved

How do I use a specify a tolerancing compensator that shifts a lens element


MarcusM
Forum|alt.badge.img+2

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!

 

 

 

Best answer by Nicholas Herringer

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

 

View original
Did this topic help you find an answer to your question?

3 replies

Mark.Nicholson
Luminary
Forum|alt.badge.img+3

Try a position solve.


Nicholas Herringer
Zemax Staff
Forum|alt.badge.img+1

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

 


Yadong.Wang
  • Visible
  • 20 replies
  • February 17, 2025

Hi ​@Nicholas Herringer,

Just a follow up on this topic. Firstly, I found mark and your comments very helpful. Thanks for your help. 

Next, I want to shoot another related question when I was trying the tolerancing with position solver in used. I noticed that a Zemax warning message will be display to remind user to remove the solver in prior to the tolerancing. I checked the results I got while ignored that warning error. I think it is what I expected. I just want to check that this error is only intended to remind user, it wont mess up with the tolerancing calculations in this case that a position solver is left inside? Thanks a lot in advance!

 

Regards,

Yadong


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings