Ready to create a custom lens in OpticStudio? Find the help you need here!
- 56 Topics
- 144 Replies
Hi,I’m looking for “us_gskew.dll” shown to be used in “Using skew rays to model Gaussian beam propagation in OpticStudio” webinar.I download the attached zip files which contained *.c file. I wonder where can I find the complied file. is there a reasone why I couldn’t used an allready complied filed? (and instead have to complie it myself)Thank you,Amir
According to Zemax’s online help https://support.zemax.com/hc/en-us/articles/1500005578722-Simulating-diffraction-efficiency-of-surface-relief-grating-using-the-RCWA-method, for the particular diffraction grating that we are trying to model, we need to increase the Max Order parameter.In the help on “simulating diffraction efficiency of a surface relief grating using the RCWA method” authored by Michael Cheng and updated on April 28, 2023 under the subsection Max Order it is stated“This is currently limited to 10 (totally 21 harmonics). When the number is larger than 10, it’s modified to 10 in the DLL. Contact support team to increase the limitation.”What is the procedure to increase the limitation?
Hi all, I’ve seen a few discussions about ellipsoids in non-sequential mode. Notably, @David has shown how the Standard Lens object could be used to build ellipsoids with at least one axis of rotational symmetry in his remarkable answer to the post: Modelling an ellipsoidal volume in non-sequential mode. The Help File also has a section called “Modeling an ellipsoid with the Biconic surface” (The Setup Tab > Editors Group (Setup Tab) > Lens Data Editor > Sequential Surfaces (lens data editor) > Biconic), and the Biconic Surface is also available as a non-sequential object. However, I did not manage to recreate the ellipsoid as depicted in the Help File, which is certainly my fault. In light of the above, I thought it would be a good idea to program a DLL for an ellipsoid object. At the very least, it should have some educational value. You can find the current result of this work in this repository: https://github.com/Omnistic/ellipsoid_object.Here is an example (I’m using
Hello everyone,I have to simulate the propagation of a supergaussian beam with a M2=46.9 through the Physical Optics Propagation but I don’t know how to define the beam. I tried to use the top-hat beam, which is a good approximation for my purpose, but its divergence (in POP) does not match the divergence of a supergaussian beam. Thanks for your help.
Dear Sir/Madam,I am working on dll for NSC and at the moment did an export of all available data, which dll received during the call from Zemax. However, I do not see the wavelength. Which data[??] I should call to get wavelength/reference wavelength values while developing dll for NSC as an object? Or there is another way around to do it. Please check the attached code with my investigation. Thank you very much in advance!Best regards,Yiming
hello,I want to compile DLLhttps://support.zemax.com/hc/en-us/articles/1500005577602-How-to-compile-a-User-Defined-DLLbut, I couldn’t download and install window SDK 7.1.https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=8279There is a message that"this feature is disabled because required .net 4 framework is not installed"as the result ".NET Development" cannot be selected. when i proceed without selecting it, "Installation Failed" will be appeared. Have you ever solved a problem like this?
I have many projects using the same DLL (non-sequential object). The DLL is general. The DLL retrieves a unique data file for each project.How does the DLL find or look up the name of the project or the file path for the project (each project is in its own path)?Yes, I can keep this straight manually, renaming, and moving stuff around when changing projects. But why? This is what we have computers for!thanks,
How do I simulate a rectangular amplitude grating using the RCWA DLL. I used srg_trapezoid_RCWA.dll for the simulation. I set Index Grate to 1, Index Env to 0.7-7.0i to simulate transmissive and opaque slits, and both substrate and outside refractive index are set to 1. However, I found that the diffraction efficiency calculated by it is quite different from that calculated by using scalar theory in the paraxial region. Also, when I change Index Env (e.g., 0.7-20i) and Depth, the diffraction efficiency changes more significantly. How can I simulate a rectangular amplitude grating that is consistent with scalar theory?
Hi,I would like to know how to use the OCOD and OPEV operands with multi configuration files: In case the same operand is present more than once (for example for different configurations) how to read the right one?Also, I want to know if it is possible to use OCOD with mathematical operands, like MINN, or MAXX, and same question, what if there is more than one in the Merit Function?Otherwise, is there a simpler way to read one value from any line in the MF?Thanks, Cristina.
I am new to DLL programming for Zemax. I have an older file using the Fixed-Data 3 standard. This should support 201 parameters. Unfortuneatly in the LDE editor a maximum of 12 Parameter columns are generated even if i define more. Is there a cap of how many parameters can be displayes as input in the LDE?
I have a rectangular object that I want to have a variable coating on one of its faces. The coating should be a dichroic coating on part of the face (say 2/3 of one rectangle) and no coating at all on the remaining 1/3.I would also need to update this coating (e.g., change the coated area and coating parameters) and object through ZOS-API, so a dynamic solution would be appreciated.Thanks!
hi,it’s easy to make a DLL working as dichroic filter in the surface scatter way, by just changing the specular ray direction according to its wavelength in the DLL. however, it seems it only works in a 2D surface, and when it goes to a volume surface with different refraction index from the air, especially when the ray needs to reflect at the surface inside the volume, it can no longer work normally. examples illustrated as follows:I analyzed the cause through ray tracing and ray database viewer, and found that if the ray made reflective mandatorily inside a volume via the DLL by one of its surfaces, zemax has no way to know the reflected ray by the surface is still inside the volume, as it seems zemax does not provide such an interface in the function “UserScatterDefinition” .I hope to consult zemax development engineers and also guys with related experience, how to solve this? thx in advance!and I also wondering why zemax does not provide the incident ray direction cosines and why
I’m interested in modeling an OLED display that’s displaying the letter P. The brute way to do this would be a series of lambertian point sources that form that shape. Is there a better way? Maybe with a dll or a CAD object? Thanks!Donna
For the User defined object DLL, Zemax passes a variable “data” to the function UserObjectDefinition. However, I have not been able to find any documentation on what each element of this array is. The examples provide some of the parameters (for example the CoatingSample.dll file gives the first 15 parameters and a few others up to parameter 34, see the code below from the example). Where can I find documentation to understand what other parameters I have access to from this data structure? The data ZEMAX sends is formatted as follows: data, data, data = x, y, z data, data, data = l, m, n data = coat group number data, data, data = normal nx, ny, nz data, data = current and next index of refraction data = cosine of normal incidence angle data = wavelength in µm data = zero flag. Set this to 1.0 to indicate the DLL computes the coating data, otherwise, ZEMAX will compute u
Hi there, I am trying to write a source DLL file to use in OpticStudio, which is based on the built-in source “Source Two Angle”. It would be great if I could use this as a starting point. Is the (cpp) code available for this source? Or is there something similar I could start with? Thank you!
Hi, I was reading Michael Cheng's article 'OpticStudio grating tools beta function update history' and have some questions. This article mentioned 'download link' many times, but I did not see these corresponding links. And I did not see some DLLs mentioned in this article in OpticStudio 21.2.1, for example: 'Polygon grating DLL', 'A new DLL is created for reading pre-calculated efficiency data for 1D/2D gratings'. I want to know where I can find these DLLs and their usage. Thanks & Regards, Dongdong
I need to simulate a gaussian beam in non sequential mode, which has 850 nm wavelength, 15 degree diveregence angle (half angle) and the beam raduis of 2.563 mm at 10 mm which has the cross section of the beam profile shape as attached below, but when putting this values using the Gaussian source it doesnt give me the same results. By using the skewRaysCircular I cannot get the gaussain beam profile and it just shows me a ring, how can I get a gaussian beam profile in the output?
I tried to use the original Gaussian.cpp in Visual Studio 2019 to create a dll project. I created a default dll project and copied the Gaussian.cpp and tried to build the file. The header file is left empty. The build was successful but when I tried to load into Zemax, it gives error saying cannot load DLL as in the attachment.
Hi all! I have done user defined dll surface and want to check its accuracy. For this, I did a lens with such surface on one side and plane on the other in SolidWorks and opened it like .STEP file as a non-sequential component. In the second Zemax file, I opened my user-defined dll. All dimensions, apertures the same. Also, I can see that rays go through the lens in almost the same way. Spot diagrams look very similar. But I want to compare the wavefront map and here I have a huge difference also ray fan very different and I cant understand the reason. It's my first time with non-sequential mode, maybe someone can help me with good advice? Thank you a lot
Hi I have a question about the Henyey Greenstein model in Zemax. I am now using the Henyey-Greenstein (HG) model in combination with the wavelength shift to simulate the Raman scattering. Because the mean free path is wavelength-dependent in the same tissue, my question is that, in the multiple scattering, if the input photon is altered in wavelength, will its mean free path be changed too in the next scattering event? From the HG source code, it seems like the mean free path is a constant to all wavelengths. Furthermore, I also found from your HG source code that you didn't really consider the light absorption while in scattering events, right? Thanks in advance!
Enter your username or e-mail address. We'll send you an e-mail with instructions to reset your password.