Skip to main content
Solved

Surface Property Updating, but results not changing without manual refresh

  • September 10, 2020
  • 2 replies
  • 170 views

Forum|alt.badge.img

Hello,


 


I am doing a polarizaiton analysis and am running into an issue when it comes to updating my surfaces. I have a short macro that updates the tilt about x for a coordinate break before a mirror, and the tilt about x for a coordinate break after a mirror. Then, I am using the OPEV function to get the transmission of a surface further in the system. The problem is, when I use the macro to udpate the tilts, the results don't show in the OPEV function unless I manually refresh the results. This will not work for me as I am working with a very large data set and thus need to be able to do it without manually refreshing. Just a simple example of the setup is given below. 


 


SETSURFACEPROPERTY 8, 10, 3, 3 # sets the tilt about x before the mirror (surface 9)


SETSURFACEPROPERTY 10, 10, -3, 3 # resents the tilt about x for the whole system, esentially just tilting the mirror in the whole system


code_coda = OCOD('CODA') # defining the merit function code used to get the transmission


transmission = OPEV(code_coda, 44, 1, 1, 0, 0, 0) # solving for transmission, this value should change depending on tilt 


print transmission 


 


My problem is that the transmission does not change unless I manually hit refresh in the text viewer. Why is this happening? How can I change the tilts in a loop to update the transmission value?

Best answer by Hui Chen

Hi Isaiah,


Thank you for your post!


In the ZPL maco after the two SETSURFACEPROPERTY lines and before the 'OCOD' line, could you please try adding an UPDATE ALL command? Any changes made to the prescription data in the LDE, such as radius of curvature, thickness, or tilts, needs to be followed by an UPDATE command to update the prescription before tracing or evaluating a system.


You can find this described in the Help File at The Programming Tab > About the ZPL > KEYWORDS (about the zpl) > UPDATE



Let me know if this fixes the issue.


Best regards,


Hui

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

2 replies

Hui Chen
Zemax Staff
Forum|alt.badge.img+1
  • Zemax Staff
  • 144 replies
  • Answer
  • September 10, 2020

Hi Isaiah,


Thank you for your post!


In the ZPL maco after the two SETSURFACEPROPERTY lines and before the 'OCOD' line, could you please try adding an UPDATE ALL command? Any changes made to the prescription data in the LDE, such as radius of curvature, thickness, or tilts, needs to be followed by an UPDATE command to update the prescription before tracing or evaluating a system.


You can find this described in the Help File at The Programming Tab > About the ZPL > KEYWORDS (about the zpl) > UPDATE



Let me know if this fixes the issue.


Best regards,


Hui


Forum|alt.badge.img
  • Author
  • Monochrome
  • 4 replies
  • September 10, 2020

That's it! Thank you so much. 


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