ZEMAX Nagata DLL Volume-CAD c Copyright by RIKEN All Rights Reserved : 23 1 26 : ( )
ii 1. Nagata DLL 1 2. Nagata 1 3. VObj 2 3. 1............................................... 2 3. 2................................................. 2 3. 3................................................ 2 4. DLL 3 4. 1. Sequencial........................................ 3 4. 2. Non-Sequencial..................................... 3 5. Sequencial ( ) 4 6. Non-Sequencial ( ) 13 7. Non-Sequencial 2 ( ) 22 8. Non-Sequencial 3 ( / ) 29 9. Nagata DLL 40 9. 1. Sequencial Non-Sequencial.......................... 40 9. 2. Sequencial....................................... 41 9. 3. Non-Sequencial.................................... 41
iii Credit Nagata patch plugin for ZEMAX is based in part on the work of the FLTK project (http://www.fltk.org).
2. NAGATA 1 1. Nagata DLL / / Nagata ( ) ( ) (C 0 ) ( 1) ZEMAX Sequencial Non-sequencial DLL / 1 Sequencial Non-sequencial 2. Nagata Nagata ( ) 2 Nagata Nagata 1 Nagata 2 (a) (b) Nagata 1: Nagata 1 T. Nagata, Simple local interpolation of surfaces using normal vectors, Comput. Aided Geom. Des. 22, 327 347 (2005). 2 S. Morita, Y. Nishidate, T. Nagata, Y. Yamagata, and C. Teodosiu, Ray-tracing simulation method using piecewise quadratic interpolant for aspheric optical systems, Appl. Opt 49, 3442 3451 (2010).
2 3. VOBJ 3. VObj Nagata DLL VObj VObj Wavefront Obj 3. 1. v x y z v x, y, z 3. 2. vn n x n y n z vn x, y, z 3. 3. f v 1 //v n1 v 2 //v n2 v 3 //v n3 f v i i v ni i Wavefront Obj N VObj # v 0.0 0.0 0.0 v 1.0 0.0 0.0 v 1.0 1.0 0.0 vn 0.0 0.0 1.0 f 1//1 2//1 3//1 DLL lens-1.vobj lens- 2.vobj
4. DLL 3 4. DLL 32bit 64bit DLL ZEMAX 4. 1. Sequencial 32bit NagataPatch win32.dll 64bit NagataPatch win64.dll ZEMAX DLL ( :C:\Program Files\ZEMAX\DLL\Surfaces) NagataPatch.dll Sequencial Nagata DLL 4. 2. Non-Sequencial DLL 32bit UDO NagPatch refract win32.dll UDO NagPatch reflect win32.dll 64bit UDO NagPatch refract win64.dll UDO NagPatch reflect win64.dll ZEMAX DLL ( :C:\Program Files\ZEMAX\DLL\Objects) UDO NagPatch refract.dll UDO NagPatch reflect.dll Non-Sequencial Nagata DLL
4 5. SEQUENCIAL ( ) 5. Sequencial ( ) Sequencial Nagata DLL 1 ( 2) 2 z(r) = r 2 /R 1 + 1 (k + 1) r 2 /R 2 (1) R = 1.838992mm, k = 2.550409 2.1mm VObj 2: ( ) z = 6.5203896097mm 3.44mm n 1 = 1.0 n 2 = 1.597 1. ZEMAX Lens Data Editor (STO) Edit Surface Type ( )
5. SEQUENCIAL ( ) 5 2. Surface Type User Defined 3. Surface DLL NAGATAPATCH.DLL
6 5. SEQUENCIAL ( ) 4. VObj (173, 301 ) lens-1.vobj OK x = 0,y = 0 z lens 1 center z=0.000... OK 5. Nagata Lens Data Editor (STO) Edit Insert After
5. SEQUENCIAL ( ) 7 6. Lens Data Editor (2) Edit Surface Type 7. 1 (STO) Surface Type User Defined Surface DLL NAGATAPATCH.DLL (847, 1592 ) lens- 2.vobj OK
8 5. SEQUENCIAL ( ) 8. z Thickness (STO) Thickness 3.44 (2) Thickness 3.0803886097 (2) Thickness Variable Merit Function Optimization 9. (STO) Glass Solve Type Model Index Nd 1.597 OK
5. SEQUENCIAL ( ) 9 10. (STO) Semi-Diameter 2.099 (2) Semi-Diameter 2.099 2.1 ZEMAX x,y DLL DLL z x,y z z 11. Analysis Layout Shaded Model 3D
10 5. SEQUENCIAL ( ) 12. System General, Aperture Type Entrance Pupil Diameter Aperture Value 2.1 OK 13. (IMA) 6.472 10 4 Analysis Layout Shaded Model 3D 1 Nagata 3 (IMA) 1.8 10 1 Nagata 3 S. Morita, Y. Nishidate, T. Nagata, Y. Yamagata, and C. Teodosiu, Ray-tracing simulation method using piecewise quadratic interpolant for aspheric optical systems, Appl. Opt 49, 3442 3451 (2010).
5. SEQUENCIAL ( ) 11 14. File Save As.. monolens nagpatch.zmx 15. File Exit ZEMAX 16. ZEMAX monolens nagpatch.zmx ZEMAX VObj File Open monolens nagpatch.zmx
12 5. SEQUENCIAL ( ) 17. VObj VObj monolens nagpatch.zmx lens-1.vobj lens-2.vobj monolens nagpatch.zmx Nagata
6. NON-SEQUENCIAL ( ) 13 6. Non-Sequencial ( ) Non-Sequencial Nagata DLL ( 4) r 2 /R z(r) = 1 + (2) 1 (k + 1) r 2 /R 2 R = 1.838992mm, k = 2.550409 2.1mm VObj 3: ( )
14 6. NON-SEQUENCIAL ( ) 1. ZEMAX File Non-Sequencial Mode Non-Sequencial 2. Non-Sequencial Component Editor Edit Object Properties
6. NON-SEQUENCIAL ( ) 15 3. Type Source Ellipse OK 4. Z Position 1.0 # Layout Rays ( ) 1, 000 # Analysis Rays ( ) 100, 000 X Half Width Y Half Width 1.0
16 6. NON-SEQUENCIAL ( ) 5. Edit Insert After Nagata Insert After 6. Edit Object Properties 2
6. NON-SEQUENCIAL ( ) 17 7. Type User Defined Object Data File UDO NagPatch reflect.dll OK 8. vobj Nagata 2 2 lens-1.vobj ( 1 ZEMAX UDO UDO UDO 2 ) 9. Edit Insert After
18 6. NON-SEQUENCIAL ( ) 10. Edit Object Properties 3 11. Type User Defined Object Data File UDO NagPatch reflect.dll OK 12. 1 vobj 2 # Object ID vobj 2 # Object ID 1
6. NON-SEQUENCIAL ( ) 19 13. vobj Nagata lens-2.vobj 14. Detector Edit Insert After 15. Detector Edit Object Properties
20 6. NON-SEQUENCIAL ( ) 16. Type Detector Rect OK 17. Y Position Z Position 3.0 Tilt About X 45.0 # X Pixels # Y Pixels 128
6. NON-SEQUENCIAL ( ) 21 18. Analysis Layout NSC Shaded Model 19. Analysis Detectors Ray Trace/Detector Control Trace Exit 20. Analysis Detectors Detector View
22 7. NON-SEQUENCIAL 2 ( ) 7. Non-Sequencial 2 ( ) 5. Sequencial Non-Sequencial 2 1. ZEMAX File Non-Sequencial Mode Non-Sequencial 2. Non-Sequencial Component Editor Edit Object Properties
7. NON-SEQUENCIAL 2 ( ) 23 3. Type Source Ellipse OK 4. Z Position 1.0 # Layout Rays ( ) # Analysis Rays ( ) 1,000 X Half Width Y Half Width 1.0
24 7. NON-SEQUENCIAL 2 ( ) 5. Edit Insert After Nagata Insert After 6. Edit Object Properties 2
7. NON-SEQUENCIAL 2 ( ) 25 7. Type User Defined Object Data File UDO NagPatch refract.dll OK 8. vobj 2 1 OK ( ) vobj 2 2 OK 1 2 (1 ZEMAX UDO Nagata UDO 2 Nagata DLL 2 2 1 vobj ) 9. ( ) 2 vobj lens- 1.vobj lens-2.vobj
26 7. NON-SEQUENCIAL 2 ( ) 10. Material 11. Solve Type Model Index Nd 1.597 OK 12. Detector Edit Insert After
7. NON-SEQUENCIAL 2 ( ) 27 13. File Object Properties 14. Type Detector Rect OK
28 7. NON-SEQUENCIAL 2 ( ) 15. Detector Z Position 6.52 # X Pixels # Y Pixels 128 16. Analysis Layout NSC Shaded Model
8. NON-SEQUENCIAL 3 ( / ) 29 8. Non-Sequencial 3 ( / ) 5. Sequencial Non-Sequencial 4: ( )
30 8. NON-SEQUENCIAL 3 ( / ) 1. ZEMAX File Non-Sequencial Mode Non-Sequencial 2. Non-Sequencial Component Editor Edit Object Properties
8. NON-SEQUENCIAL 3 ( / ) 31 3. Type Source Ellipse OK 4. Y Position Z Position 2.0 Tilt About X 160.0 # Layout Rays ( ) 100 # Analysis Rays ( ) 100,000 X Half Width Y Half Width 0.5
32 8. NON-SEQUENCIAL 3 ( / ) 5. Edit Insert After Nagata Insert After 6. Edit Object Properties 2
8. NON-SEQUENCIAL 3 ( / ) 33 7. Type User Defined Object Data File UDO NagPatch reflect.dll OK 8. vobj Nagata 2 2 lens-1.vobj
34 8. NON-SEQUENCIAL 3 ( / ) 9. Edit Insert After 10. Edit Object Properties 3
8. NON-SEQUENCIAL 3 ( / ) 35 11. Type User Defined Object Data File UDO NagPatch refract.dll OK 12. vobj 2 1 OK ( ) vobj 2 2 OK 1 2 13. ( ) 2 vobj lens- 1.vobj lens-2.vobj
36 8. NON-SEQUENCIAL 3 ( / ) 14. Z Position 5.0 15. Material 16. Solve Type Model Index Nd 1.597 OK
8. NON-SEQUENCIAL 3 ( / ) 37 17. Detector Edit Insert After 18. File Object Properties
38 8. NON-SEQUENCIAL 3 ( / ) 19. Type Detector Rect OK 20. Detector Y Position 1.0 Z Position 10.0 # X Pixels # Y Pixels 200
8. NON-SEQUENCIAL 3 ( / ) 39 21. Analysis Layout NSC Shaded Model 22. Analysis Detectors Ray Trace/Detector Control Trace Exit 23. Analysis Detectors Detector View
40 9. NAGATA DLL 9. Nagata DLL DLL ZEMAX DLL User Defined Surface(UDS) User Defined Object(UDO) DLL 9. 1. Sequencial Non-Sequencial 1. Insert After 2. Delete Surface UDS UDO ZEMAX Layout3D Shade Model DLL DLL DLL 3. DLL Nagata VObj Nagata VObj ( vobj OK) VObj 4. VObj ZMX ZEMAX ZMX VObj 5. ZEMAX (ZMX ) VObj ZMX Nagata ZMX ( 1 ) ZMX Nagata VObj VObj Non-Sequencial VObj ZMX VObj 6. Nagata 1 60byte 1 220byte lens-2.vobj 847 1592 401Kbyte 5 10 25Mbyte
9. NAGATA DLL 41 9. 2. Sequencial 1. Semi-Diameter ZEMAX DLL x,y DLL DLL z DLL x,y z 9. 3. Non-Sequencial 1. (UDO NagPatch reflect.dll), (UDO NagPatch refract.dll) VObj 2 Non-Sequencial 2. 2 # Object ID 2 # Object ID 1 3 # Object ID 2 Component Editor Non-Sequencial ( )