查看: 4220|回复: 3

■get abbe number in ZEMAX Programming Language

[复制链接]
发表于 2006-10-14 16:05:00 | 显示全部楼层 |阅读模式


<p>Q1: Is there any command of ZEMAX Programming Language that can get abbe number if I use "fictitious lens"(index and abbe number is fictitious)? "GABB(x)" is used for glass that have specific name.</p><p>Q2: Is there any command of ZEMAX Programming Language that can get the surface number where the stop is at?</p><p>Thank you very much.</p>




发表于 2006-10-18 21:27:00 | 显示全部楼层


<p>A1:When you set a surface glass to fititous,it became a solve instead of real glass, so you gan get the ABBE Number of "Model" glass</p><p>with the command GETVARDATA, see ZEMAX User's Manual for detail of this command.</p><p>A2: Slot 23 of return vector of GETSYSTEMDATA stores the stop surface number.</p>




 楼主| 发表于 2006-11-11 22:19:00 | 显示全部楼层


Thank you very much. Whould you give one example of Q1?




发表于 2006-11-12 20:04:00 | 显示全部楼层


<p>for example, I define glass of surface 3 to be model glass </p><p>with index 1.6 and Abbe to be 40</p><p>than the following code will get me the abbe of glass of all surface:</p><p>GETVARDATA 1<br/>nvar = VEC1(0)<br/>PRINT "There are ",nvar," varibles defined in system"<br/>FOR i = 1,nvar,1<br/>type_slot = 5*i- 4<br/>surf_slot = 5*i- 3<br/>!See if it is Abbe Vd varible type<br/> IF VEC1(type_slot) == 5 <br/> PRINT "Abbe of Surface",VEC1(surf_slot), " = ",VEC1(5*i)<br/> ENDIF<br/>NEXT<br/>PRINT ""<br/>PRINT "All done!"</p><p></p><p>HERE is the result:</p><p>Executing D:\ZEMAX\MACROS\GETABBE.ZPL.<br/>There are 12.0000 variables defined in system<br/>Abbe of Surface3.0000 = 35.3400</p><p>All done!</p><p>but there is a constraint that you must define the abbe to be variable</p><p></p><p><br/></p>




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 Licensed © 2001-2026 Discuz! Team.|鄂ICP备17021725号-1

在本版发帖
关注公众号
QQ客服返回顶部