If you system has vignetting, is there a way to list surface(s) are doing the vignetting?
Thank you,
John
If you system has vignetting, is there a way to list surface(s) are doing the vignetting?
Thank you,
John
Hi John,
One option could be to write a short ZPL script to trace a set of rays that originates from one or more field points and spans the pupil, then use the RAYV function to get the surface number(s) at which vignetting occurs
and print those surface numbers (and of course once a given surface is found to be vignetting for any one ray, it doesn’t need to be printed again). Something similar could also be done using ZOS-API.
Regards,
Jeff
Hi Jeff, thanks for pointing out this ZPL function.
Not very elegant, but this does the trick! Much more efficient than manually stepping through the surfaces
! Find vignetted surface
FOR I, 0,1,.1
RAYTRACE 0,1,0,I
V = RAYV()
FORMAT 1.1
PRINT "Hy=1.0, Py=",I," first surface to vignette: ",V
NEXT
Example output
Hy=1.0, Py=0.0 first surface to vignette: 0.0
Hy=1.0, Py=0.1 first surface to vignette: 0.0
Hy=1.0, Py=0.2 first surface to vignette: 0.0
Hy=1.0, Py=0.3 first surface to vignette: 11.0
Hy=1.0, Py=0.4 first surface to vignette: 11.0
Hy=1.0, Py=0.5 first surface to vignette: 11.0
Hy=1.0, Py=0.6 first surface to vignette: 11.0
Hy=1.0, Py=0.7 first surface to vignette: 8.0
Hy=1.0, Py=0.8 first surface to vignette: 8.0
Hy=1.0, Py=0.9 first surface to vignette: 8.0
Hy=1.0, Py=1.0 first surface to vignette: 8.0
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.