ZPL提供了一个关键词SETSYSTEMPROPERTY(或其缩写形式SYSP),可以对许
多系统参数进行设置。此关键词的使用方法为:
SETSYSTEMPROPERTY code, value1, value2
或
SYSP code, value1, value2
其中,code 为下表中所列的代码之一,value1和value2为想要设置的参数,可以是数值量或字符串。大多数代码只需要一个参数,还有一些代码需要两个参数。
代码 | 说明 |
10 | Aperture type,系统孔径类型,0 为入瞳直径,1 为像空间F/#,2 为物空间数值孔径,3 为由光阑尺寸确定,4 为近轴系统像空间工作 F/#,5 为物空间锥形张角。 |
11 | Aperture Value,系统孔径值 |
12 | Apodization Type,变迹类型,0 为均匀类型,1 为高斯类型,2 为余弦立方类型 |
13 | Apodization Factor,变迹因子 |
14 | Telecentric Object Space,远心物空间,0 为关闭此选项,1 为打开此选项 |
15 | Iterate Solves When Updating,反复求解,0 为关闭此选项,1 为打开此选项 |
16 | 镜头标题 |
17 | 镜头注释 |
18 | Afocal Image Space,非聚焦系统像空间,0 为关闭此选项,1 为打开此选项 |
21 | 全域变量参考表面 |
23 | 玻璃目录列表,参数要用字符串,如"SCHOTT"、"SCHOTT HOYA OHARA" |
24 | 系统温度,单位为摄氏度 |
25 | 系统相对大气压,0.0 为真空,1.0 为海平面大气压 |
30 | 镜头单位,0 为毫米,1 为厘米,2 为英寸,3 为米 |
31 | 光源单位前缀,0 为飞(Femto-),1 为皮(Pico-),2 为纳(Nano-),3 为微(Micro-),4 为毫(Milli-),5 表示没有前缀,6 为千(Kilo),7 为兆(Mega-),8 为吉(Giga-),9 为太(Tera) |
32 | 光源单位,0 为瓦(Watt),1 为流明(Lumen),2 为焦耳(Joule) |
33 | 分析单位前缀,0 为飞(Femto-),1 为皮(Pico-),2 为纳(Nano-),3 为微(Micro-),4 为毫(Milli-),5 表示没有前缀,6 为千(Kilo),7 为兆(Mega-),8 为吉(Giga-),9 为太(Tera) |
34 | 分析面积单位,0 为平方毫米,1 为平方厘米,2 为平方英寸,3 为平方米,4 为平方英尺 |
35 | 调制传递函数单位,0 为周期每毫米,1 为周期每毫弧度 |
40 | 镀膜文件名 |
41 | 散射轮廓名 (Scatter Profile) |
42 | ABg 数据文件名 |
43 | GRADIUM 变折射率轮廓名 |
50 | 非顺序元件每条光线最大相交点数 NSC Maximum Intersections Per Ray |
51 | 非顺序元件每条光线最大分节数 NSC Maximum Segments Per Ray |
52 | 非顺序元件最大套叠或接触物体数目 |
53 | 非顺序元件最小相对光线强度 |
54 | 非顺序元件最小绝对光线强度 |
55 | 非顺序元件胶合层厚度,单位为镜头单位 |
56 | 非顺序元件遗失光线描绘距离,单位为镜头单位 |
57 | 非顺序元件模式中打开文件时重新进行光线追迹,0 为关闭此选项,1 为打开此选项 |
58 | 非顺序元件模式中内存所容纳的光源文件的最大光线数 |
59 | 简单光线分叉,0 为关闭此选项,1 为打开此选项 |
60 | 偏振光参数 Jx |
61 | 偏振光参数 Jy |
62 | 偏振光参数 X-Phase |
63 | 偏振光参数 Y-Phase |
64 | 转换薄膜相位为光线相位,0 为关闭此选项,1 为打开此选项 |
65 | 非偏振光模式,0 为关闭此选项,1 为打开此选项 |
66 | 二维 Jones 矢量转换为三维电场矢量的方法,0 为 X 轴参考,1 为 Y 轴参考,2 为 Z 轴参考 |
70 | 光线定位,0 为关闭此选项,1 为打开此选项,2 为选择光瞳畸变 |
71 | 光线定位光瞳位移 x |
72 | 光线定位光瞳位移 y |
73 | 光线定位光瞳位移 z |
74 | 使用光线定位高速缓存,0 为关闭此选项,1 为打开此选项 |
75 | 稳健光线定位(Robust Ray Aiming) ,0 为关闭此选项,1 为打开此选项 |
76 | 按照视场调整光瞳位移因子,0 为关闭此选项,1 为打开此选项 |
77 | 光线定位光瞳压缩因子 x |
78 | 光线定位光瞳压缩因子 y |
100 | 视场类型代码,0 为角度,1 为物高度,2 为近轴系统像高,3 为实际系统像高 |
101 | 视场总数 |
102 | value1 为视场序号,value2 为视场 x 坐标 |
103 | value1 为视场序号,value2 为视场 y 坐标 |
104 | value1 为视场序号,value2 为视场权重 |
105 | value1 为视场序号,value2 为视场渐晕偏移 x |
106 | value1 为视场序号,value2 为视场渐晕偏移 y |
107 | value1 为视场序号,value2 为视场渐晕压缩 x |
108 | value1 为视场序号,value2 为视场渐晕压缩 y |
109 | value1 为视场序号,value2 为视场渐晕角度 |
110 | 视场归一方法,0 为径向归一,1 为矩形归一 |
200 | 主波长序号 |
201 | 波长总数 |
202 | value1 为波长序号,value2 为波长值,单位为微米 |
203 | value1 为波长序号,value2 为波长权重 |
901 | 用于多线程任务的计算机 CPU 的数目,若为 0 则设为缺省值 |
与设置系统参数相反,如果需要读取系统参数,可用 ZPL 提供的函数 SYPR( )。通过此函数,可以读取大部分利用关键词 SETSYSTEMPROPERTY设置的
参数。SYPR( ) 的用法如下:
returnValue = SYPR(code)
其中,code为表中所列的为关键词SETSYSTEMPROPERTY所定义的代码,returnValue为相应的系统参数,可能是数值量或字符串。如果是字符串,可以用字符串函数$buffer()将其读出。需要注意的是,函数SYPR()不支持SETSYSTEMPROPERTY中需要两个参数的部分。对于需要两个参数的系统信息,ZPL定义了另外的一些函数,如WAVL(n)用于读取第n个波长的值,WWGT(n)用于读取第n个波长的权重等等。
除了用上述函数读取系统参数,也可以通过关键词 GETSYSTEMDATA,其用法为:
GETSYSTEMDATA vector_expression
其中 vector_expression 为 ZPL 所提供的四个一维数组 (VEC1, VEC2, VEC3, VEC4)的序号,例如,GETSYSTEMDATA3说明将返回的系统参数储存于数组VEC3内,其顺序如下表所示:
数组元素序号 | 返回系统参数 |
0 | 数组中所储存的系统参数的数目 |
1 | 孔径值 |
2 | Apodization Factor,变迹因子 |
3 | Apodization Type,变迹类型 (0:无, 1:高斯函数, 2:三角函数) |
4 | 使用环境数据(0 为伪, 1 为真) |
5 | 温度,单位为摄氏度(仅当使用环境数据为真时有效) |
6 | 相对大气压(仅当使用环境数据为真时有效) |
7 | 有效焦距 |
8 | 像空间 F/# |
9 | 物空间数值孔径 |
10 | 工作 F/# (Working F/#) |
11 | 入瞳直径 |
12 | 入瞳位置 |
13 | 出瞳直径 |
14 | 出瞳位置 |
15 | 近轴像高 |
16 | 近轴放大率 |
17 | 角放大率 |
18 | 系统总长度 |
19 | 使用光线定位(真为 1,伪为 0) |
20 | 光瞳位移 x |
21 | 光瞳位移 y |
22 | 光瞳位移 z |
23 | 光阑表面序号 |
24 | 全域坐标系统参考表面序号 |
25 | Telecentric Object Space,远心物空间,0 为关闭此选项,1 为打开此选项 |
26 | 组态(configuration) 的数目 |
27 | 多组态运算元的数目 |
28 | 评价函数(merit function)运算元的数目 |
29 | 公差运算元的数目 |
30 | Afocal Image Space,非聚焦系统像空间,0 为关闭此选项,1 为打开此选项 |
31 | 光瞳压缩因子 x |
32 | 光瞳压缩因子 y |