Feature Request: no more modal dialogues

  • 3 December 2019
  • 2 replies
  • 15 views

Badge
Hi there,



I have a feature request for upcoming OpticalStudio versions.



When You work with Optical Studio with an off axis system -with ray aiming and pupil shift activated, You can get a "Cannot determine object coordinates!" - error quite easy.

But what is really annoying, is the fact that this modal dialog pops up for every single analyze - window, which is trying to recalculate.

Also, if you make any changes in the lens data to correct your system, every change causes another modal message.



Please, please, please shift these dialog to a "non-modal" message box.



Cheers



/me



PS.: I think I posted a similar request in the old forum back in 2010.



 

2 replies

Badge

We could make the error message non-modal, but you would still get the same number of error messages, they'd just be non-modal.



The "just be non-modal" makes a huge difference.

Imagine You have 10 analysis windows open. Currently, if something goes wrong, You have to close 10 error messages each time You make changes (e.g. in lens editor).

It would be much smoother approach, if those error messages will be collected in one notification area (like a status bar).



This behavior of software is far from new.

PTC introduced this in Pro/Engineer Wildfire in 2002.

Windows introduces its notification center with Windows 8 in 2012.



I know, Zemax UI is always at least 10 years behind. But maybe You can catch up earlier this time.




 


Userlevel 7
Badge +3

Hey Matthias,



This is a trickier problem than it sounds. The cause is the multi-threaded nature of OpticStudio analysis windows. Each window has a full copy of the lens data, and calls the lens update and recalculation functions independently. So, if a fatal error occurs, every window that uses ray tracing will report the same error.



We could make the error message non-modal, but you would still get the same number of error messages, they'd just be non-modal. We could filter everything through a single update function and then call all the others if it was successful, but that would slow down execution for every system, whether this check was needed or not. In the end, we decided the overall control of the Update function was the best way to proceed:







All Editors, and the System Explorer, have this control. If you are doing something that can potentially break the ray trace, it's best to select Update Editors or Update Layout Windows to limit the number of windows that are updated every time you change the data in an editor.

  


Reply