We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.
We use 3 different kinds of cookies. You can choose which cookies you want to accept. We need basic cookies to make this site work, therefore these are the minimum you can select. Learn more about our cookies.
Share your tips & tricks for efficiently using OpticStudio with the community! There are lots of little ways that we adapt our use of OpticStudio to streamline our work. These are usually learned over time, from colleagues, or from technical support, but they aren't typically found in other product education resources. You might have a favorite keyboard shortcut, saved settings for a particular analysis, a macro that automates 3 steps in your process tied to a hotkey, or a million other ideas. Help your fellow OpticStudio users and learn some new tricks yourself.
Good day everyone, since ZPL is based on BASIC, I thought some of it generic functions could be used for converting variable types such as VAL(), INT() etc. Only $STR works, the other conversions are not recognized by ZPL. In particular, I want to define a single variable in my script (a particular detector number) and use it for both console output (with PRINT), non-sequential raytrace (with NSTR) and changing Detector Viewer settings (with MODIFYSETTINGS). I could define either a numerical variable and change it to string, but doing so outputs a floating point number (such as 5.000 for instance). Unfortunately, NSTR is having trouble with "h5.000” filter string. Then I thought I can define a string variable "5” and change it to numerical but no commands that I know seem to work. Is there a solution to my issue that would allow me to stay within ZPL script, not switching to ZOS-API?
Hi, I would like to use the ZRDPLAYBACK function, but it doesn't seem to work, I think it doesn't take filters string into account. I have similar problem iy I use a function like NSTR 1, 1, 0, 0, 1, 1, 1, 1, A$ ,”W1”,2 Marc.
Dear Zemax community, I am building upon your 'How to design a Gaussian to Top Hat beam shaper' tutorial. Instaed of TOP HAT, my goal is to create a Uuniform Radial Distribution at distance of 1M from the beam shaper. i.e my goal is to create a uniform distribution on a sagment from a rolled screen. But the ZPL calculates the desired distribuion up on a flat wall, so what should be the distribution up on a “Flat screen” , so it generates a unifrom radial on a rolled sceen ? Any suggestions are welcome and appreciated. Thank you very much, Tali
when i use ZPL output to a text file , The output always stops halfway, and Zemax prompts "cannot open text file". Does anyone know why? For example, I plan to output 40,000 lines of data, but it stops at 10,000.
My codes (that were working with the 2024 version) do not work anymore with the 2025 release.This is the error I get: Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'ZemaxEngine.dll' or one of its dependencies. A dynamic link library (DLL) initialization routine failed. (Exception from HRESULT: 0x8007045A).
Hello everyone, I was wondering if there was an existing operand in the Merit function editor that would give the minimal value of other operands in the merit function.To give an example, I am currently doing a Merit function which computes the encircled energies at different Field of views and at different wavelengths. I would like to optimize the minimal value of all these operands. I don’t really care what the other vaues are, I am just targetting on increasing the minimal value as much as possible. I checked in the operand list in the built-in Help from Zemax but didn’t find anything that seemed to work for my application. Thank you very much !
I have a sequential mode design that contains a black box component. I converted the sequential mode design to non-sequential mode, but the black box is not converted. The non-sequential component editor box does not have the black box. What can I do to have the black box insert into the non-sequential component editor box?
Hello everyone! I am trying to perform a study of tolerances in an optical system in which my criterion is the RMS Spot Size. If possible, I would like the GEO radius for one of the fields not to exceed a certain value (with reference: vertex). In any case, it is not possible for me to execute the tolerancing because of a problem that I show you here: “Nominal Criterion cannot be computed”. Do you have any suggestion? Thank you!
Ansys Zemax OpticStudio 2025 R1.00に先日アップデートしたところ、スポットダイアグラムが保存できない現象が出ております。エラーメッセージの画像を添付いたします。改善方法をご教示いただけないでしょうか?以下がわかったことです。 この現象はファイル依存性はなく、ZOSを立ち上げた際の初期ファイル(LENS.zmx)でも起こっています。 この現象はPC再起動をしても、ソフトを再起動しても改善できませんでした。 この現象はスポットダイアグラムの画像保存時には起こりますが、3Dレイアウトの画像保存時には起こっていません。 以上、どうぞよろしくお願いいたします。
In the IAS_ZernikeStandardCoefficients settings, there is a setting called : ReferenceOBDToVertex (not sure what OBD means) while in the GUI it is called: Reference OPD to vertex which makes more sense
Hello, Not quite sure this community is still active? I want to have a lens system which can form the image from infinity to a limited distance as show below. As you can see that the concave lens system will reduce the input field of view. How can I have a compact concave lens system which can form the image from infinity to a limited distance and keep the same field of view as the input. Can you have some suggestions or initial configuration for recommendation? Thank you ! BL
So I have a NSC system consisting in multiple mirrors and with 3 Detectors. I was using the ray trace tool with only 1 analysis ray and then optimizing with the Merit Function editor until some weird optimization started to happen. Then I read this sentence in the Help system: Note the segments NSRA is not listed in same order as in ZRD. For example, for a same ray, the segment with Seg# =17 in NSRA is not same to the 17th segment listed in ZRD. How can I know the number of the segment I want to optimize then for the NSRA operand? Regards
I created a dome shell object by subtracting smaller sphere from bigger sphere and also removed the rear half with a big cylinder object. This is done with Boolean operation A-B-C (A: big sphere, B: smaller sphere, C: cylinder). Then I applied Gaussian surface scatter to both side surface (sig=0.25) to make some wide beam angle scatter like tis picture. But problem when the source is moved to Z=0 where the sphere half plane is, the scattering is gone. I guess this is caused by source being in the parent object region though parents are shifted away or disabled for ray trace. I tried moving source object below the Boolean object and entered boolean object number in “inside of” column, but that doesn’t make it work either. I had similar issue with Boolean before when I tried making TIR lens. It was found I should avoid putting the source at the boundary of original parent object or inside. But this scattering issue with Boolean seems like new to me. Any idea if this is a bug or there is
Dear all, I would like to investigate the single-mode fiber coupling efficiency using Physical Optics Propagation in function of the fiber tilt angle. I would like to use the Universal Plot to see its sensitivity, and afterwards see its effect during a complete tolerance analysis together with other tolerances (both in the RSS estimate as well as in a Monte-Carlo simulation). However, it seems that either using a coordinate break before the fiber surface, or using the ‘Tilt’ surface as the final surface (as was done in the angled-fiber article but without using POP) does not affect the POP fiber coupling calculation. The ‘tilt about X/Y (deg)’, inside the POP ‘fiber data’ can of course be used to set the tilt, but this value can (as far as I’m aware) not be used for plotting or tolerancing. Is there some other way to easily plot and tolerance this fiber tilt when using POP, without having to use a custom macro or ZOS-API code? Thanks for any input, Best regards, Indy
120 points
90 points
45 points
43 points
39 points
23141 points
14493 points
13087 points
11054 points
9976 points
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
Sorry, we're still checking this file's contents to make sure it's safe to download. Please try again in a few minutes.
Sorry, our virus scanner detected that this file isn't safe to download.