标题: ■get abbe number in ZEMAX Programming Language [打印本页] 作者: victorrose 时间: 2006-10-14 16:05 标题: ■get abbe number in ZEMAX Programming Language
<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>
作者: OfficialUser 时间: 2006-10-18 21:27
<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>
作者: victorrose 时间: 2006-11-11 22:19
Thank you very much. Whould you give one example of Q1?
作者: OfficialUser 时间: 2006-11-12 20:04
<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>