Authored by: Pragati Shukla
The NEST tool lets users pivot optics about any point in 3D space. To verify that the pivots are operating as intended, we provide a User Extension that will exercise the pivot points and display the results on a 3D Layout, as shown below.
Figure 1: Drop-In assembly camera module showcasing three different x-axis tilt configurations for a lens element which is pivoted at its front mechanical edge.
Introduction
When designing a complex optical system with NEST, the number of coordinate breaks in the LDE, particularly Dec XYZ and Tilt XYZ that control critical alignment for optical element groups, can grow quickly, making the verification of these coordinate breaks tedious and prone to errors. This User Extension utilizes the Multi-Configuration Editor (MCE) of OpticStudio to mimic NEST-inserted coordinate break behavior and can be used for automating the entire verification process.
The NEST Coordinate Break Verification extension performs four primary functions:
- Automatic NEST Group Detection: In an optical system file, NEST groups are detected by scanning all surface comments in the LDE to identify Tilt XYZ coordinate breaks.
- Selective Group Testing: Detected NEST groups are presented to the user using an interactive console for selection of group/s of interest.
- Multi-Configuration Setup: Three test configurations with user-defined tilt parameter values are created in the MCE automatically.
- Visual Documentation: A 3D layout for visualization is generated in the current session of Zemax. An export of 3D layout across all three configurations and a verification file for record-keeping and re-use is saved in the source file directory.
NEST Pivot Points Solution
Installing and Running the Extension
Installation Requirements:
- Zemax OpticStudio with API license
- .NET Framework 4.8 (typically pre-installed on Windows 10/11)
- The compiled extension executable file- NEST_CBVerification.exe
Steps to Run:
- Download the zip file NEST_CBVerification.zip attached to this knowledge base article.
- Copy NEST_CBVerification.exe file to: Documents\Zemax\ZOS-API\User Extensions\ folder.
- After copying the .exe file, double click on it to make sure no security wall is blocking the run. Once the console window opens, close it and move to the next step.
- Open an optical system file in OpticStudio which has undergone the NEST processing of group/s definition, with Pivot Point and Tolerance settings assigned. It is important that the NEST inserted Coordinate break comments are not modified by the user for the extension to work.
- Navigate to Programming à User Extensions
- Select the extension NEST_CBVerification from the list to see the available NEST groups in the interactive console.
- Enter the group numbers for verification in the console using a keyboard, example: 1, 2 for multiple groups or just 1 for a single group. A space after the comma is allowed but not required.
- Once the group/s is selected enter three tilt values one by one for three configurations of the multi-configuration editor.
- Each tilt value is inserted into the MCE using a PRAM operand to control the Tilt About X parameter of Tilt XYZ coordinated break of the selected group.
Analysis
Once the extension is done running, it creates a 3D Layout analysis window in the same session of OpticStudio. The Configuration can be set to ‘All’ for real time inspection of the impact of tilt variation in a single view.
The tilt variation can now be increased or decreased even further using the already populated MCE, and comparison between nominal vs. tilted configurations in a single view can be made in 3D layout or Shaded Model.
Generating documentation
The user extension also saves a 3D Layout PNG file to the same directory as the source file with the filename-3DLayout.png and a separate verification file with suffix _verification, example: original_system.zmx à original_system_verification.zmx, this prevents unnecessary changes in the source file and user can open the verification file for further analysis as it contains all MCE configurations and 3D layout window for immediate review.
Conclusion
The verification file can also be used to extend the multi-configuration editor for the analysis of other coordinate break groups in the system. For example, along with tilt coordinate breaks, decenter coordinate breaks can also be verified by adding additional PRAM operands that will have control over the Dec XYZ coordinate parameters.
Please note that the decenter or tilt values shown are large to make the visualization of the functionality easier and do not represent actual measurements.
Additional Resources
NEST; Nested Elements and Systems Tolerancing
NEST Tool documentation
Multi-Configuration Editor User Guide
ZOSAPI Programming Guide