ZPL functions Функции ZPL

ZPL функции могут быть записаны с правой стороны оператора, а также в выражениях, которые являются аргументами для ключевых слов. Эти функции могут не требовать аргумента, могут требовать один или несколько аргументов. Все функции принимают одно единственное значение. Некоторые функции, такие как PWAV() (главная длина волны), принимают значение, которое не зависит от аргумента, и поэтому не требуют аргумента. Для этих функций, однако, еще требуются скобки.

Многие функции имеют соответствующие ключевые слова. Например, RADI() - это функция, которая принимает значение величины радиуса поверхности, номер которой равен аргументу (RADI(3) принимает значение, равное величине радиуса поверх­ности 3). Имеется также ключевое слово, называемое RADI, которое используется для установки величины радиуса данной поверхности. Для получения по этому вопросу большей информации смотри описание ключевых слов.

В нижеследующей таблице перечислены все ZPL функции. Если синтаксис дан как FUNCQ, то для данной функции не требуется аргумента. FUNC(x) означает, что требуется один аргумент, FUNC(x,y) - означает, что требуются два аргумента и так далее.

                                                  ZPL FUNCTION LISTING

                                                  СПИСОК ZPL ФУНКЦИЙ

 

Function Функция   Argument Аргумент   Return value Принимаемое значение  
ABSO(x)   Числовое выражение   Абсолютная величина выражения  
ACOS{x)   Числовое выражение   Арккосинус в радианах  

 

24 -4                                                     Chapter 24: ZEMAX PROGRAMMING LANGUAGE


Function Функция   Argument Аргумент   Return value Принимаемое значение  
APMN(x)   Номер поверхности   Для круглой апертуры - это минимальная величина радиуса апертуры. Для апертур типа "spider" - это ширина растяжек. Для прямоугольных и эллиптических апертур -это полуширина апертуры по оси X.  
АРМХ(х)   Номер поверхности   Для круглой апертуры - это максимальная величина радиуса апертуры. Для апертур типа "spider" - это число растяжек. Для прямоугольных и эллиптических апертур -это полуширина апертуры по оси Y.  
APXD(x)   Номер поверхности   Величина децентрировки апертуры по оси X.  
APYD(x)   Номер поверхности   Величина децентрировки апертуры по оси Y.  
APTP(x)   Номер поверхности   Кодовое число, описывающее тип апертуры на данной поверхности.  
ASIN(x)   Числовое выражение   Арксинус в радианах.  
ASPR()   Аргумент не нужен   Соотношение сторон текущего графического устройства.  
ATAN(x)   Числовое выражение   Арктангенс в радианах.  
ATYP()   Аргумент не нужен   Код типа задания апертуры системы: 0 - для диаметра входного зрачка, 1 - для F/#, 2 - для N.A. и 3 - для "Float by stop size".  
AVAL()   Аргумент не нужен   Величина апертуры системы.  
CONF()   Аргумент не нужен   Номер текущей конфигурации.  
CONI(x)   Номер поверхности   Величина конической постоянной поверхности.  
COSI(x)   Числовое выражение в радианах   Косинус выражения.  
CURV(x)   Номер поверхности   Кривизна поверхности.  
EDGE(x)   Номер поверхности   Краевая толщина поверхности при полудиа­метре.  
EOFF()   Аргумент не нужен   Флаг конца файла. Принимает значение 1, если достигнут конец файла, и 0 в против­ном случае. Действует только после выпол­нения команды READ.  
ETIM()   Аргумент не нужен   Время в секундах, прошедшее после команды TIMER.  
EXPE(x)   Числовое выражение   0х  

 

Глава 24: ЯЗЫК ПРОГРАММИРОВАНИЯ ZEMAX                                                        24-5


Function Функция   Argument Аргумент   Return value Принимаемое значение  
EXPT(x)   Числовое выражение   10х  
FLDX(x)   Номер поля   Величина угла по Х или высота вдоль оси Х для указанного поля.  
FLDY(x)   Номер поля   Величина угла по Y или высота вдоль оси Y для указанного поля.  
FTYP()   Аргумент не нужен   Тип поля. Принимает значение 0, если поле задано в градусах, 1- если поле задано в высотах объекта, 2 - если поле задано в высотах в плоскости изображения. Высоты всегда измеряются в установленных линейных единицах (см. функцию UNIT).  
FVCX(x), FVCY(x)   Номер поля   Виньетирование (сжатие зрачка по осям Х и Удля указанного поля).  
FVDX(x), FVDY(x)   Номер поля   Децентрировка зрачка по осям Х и Y для указанного поля.  
FWGT(x)   Номер поля   Весовой коэффициент для указанного поля.  
GAAB(x)   Номер поверхности   Каталожная величина числа Аббе стекла указанной поверхности.  
GIND(x)   Номер поверхности   Каталожная величина показателя преломления для d-линии стекла указанной поверхности.  
GLCA(x)   Номер поверхности   Х-проекция единичного вектора при вершине указанной поверхности в глобальной системе координат.  
GLCB(x)   Номер поверхности   Y-проекция единичного вектора при вершине указанной поверхности в глобальной системе координат.  
GLCC(x)   Номер поверхности   Z-проекция единичного вектора при вершине указанной поверхности в глобальной системе координат.  
GLCX(x)   Номер поверхности   Х-координата вершины указанной поверх­ности в глобальной системе координат.  
GLCY(x)   Номер поверхности   Y-координата вершины указанной поверх­ности в глобальной системе координат.  
GLCZ(x)   Номер поверхности   Z-координата вершины указанной поверх­ности в глобальной системе координат.  
GNUM(A$)   Какое-либо имя строчной переменной   Если строчная переменная является назва­нием каталожного стекла, то GNUM прини­мает значение порядкового номера этого стекла в каталоге. Может быть использована вместе с ключевым словом GLAS. Если строчная переменная не является назва­нием каталожного стекла, GNUM принимает значение 0. Для переменной "MIRROR" GNUM принимает значение 1.  

 

24 -6                                                     Chapter 24: ZEMAX PROGRAMMING LANGUAGE


Function Функция   Argument Аргумент   Return value Принимаемое значение  
GPAR(x)   Номер поверхности   Каталожная величина частной дисперсии для стекла указанной поверхности.  
INDX(x)   Номер поверхности   Величина показателя преломления для главной длины волны.  
INTE(x)   Числовое выражение   Целая часть десятичного числа.  
LOGE(x)   Положительное число   Натуральный логарифм.  
LOGT(x)   Положительное число   Десятичный логарифм.  
MAGN(x,y)   Два действительных числа   Корень квадратный из суммы квадратов Х и Y.  
MAXF()   Аргумент не нужен   Установленная величина максимального поля в градусах или в линейных единицах в зависимости от способа определения поля: угол, высота объекта или высота изображения.  
MAXG()   Аргумент не нужен   Число стекол в загруженных в схему каталогах.  
MFCN()   Аргумент не нужен   Текущая величина оценочной функции.  
NCON()   Аргумент не нужен   Число конфигураций.  
NFLD()   Аргумент не нужен   Число заданных полей.  
NSUR()   Аргумент не нужен   Число заданных поверхностей.  
NWAV()   Аргумент не нужен   Число заданных длин волн.  
OPDC()   Аргумент не нужен   Разность оптических путей. Действует только после вызова оператора RAYTRACE  
OPTH(x)   Номер поверхности   Длина оптического пути вдоль луча до ука­занной поверхности. В отличие от RAYT и RAYO, ОРТН учитывает прибавление фазы на дифракционных поверхностях, таких как решетки, голограммы и бинарная оптика. Действует только после вызова RAYTRACE.  
PARn(x)   Номер поверхности   n-ый параметр поверхности.  
PMOD()   Аргумент не нужен   Принимает значение 0, если параксиаль­ный режим не используется, в противном случае -1.  
POWR(x,y)   х- положитель­ное число,у -любое число   Xy  

 

Глава 24: ЯЗЫК ПРОГРАММИРОВАНИЯ ZEMAX                                                        24-7


Function Функция   Argument Аргумент   Return value Принимаемое значение  
PVHX()   Аргумент не нужен   Параметр "hх" от оператора оптимизации ZPLM.  
PVHY()   Аргумент не нужен   Параметр "hy" от оператора оптимизации ZPLM.  
PVPX()   Аргумент не нужен   Параметр "рх" от оператора оптимизации ZPLM.  
PVPY()   Аргумент не нужен   Параметр "ру" от оператора оптимизации ZPLM.  
PWAV()   Аргумент не нужен   Номер главной длины волны.  
RADI(x)   Номер поверхности   Радиус кривизны поверхности.  
RAGX(x)   Номер поверхности   Х-координата в глобальной системе координат точки пересечения луча с указанной поверхностью. Действует только после вызова оператора RAYTRACE.  
RAGY(x)   Номер поверхности   Y-координата в глобальной системе координат точки пересечения луча с указанной поверхностью. Действует только после вызова оператора RAYTRACE.  
RAGZ(x)   Номер поверхности   Z-координата в глобальной системе координат точки пересечения луча с указанной поверхностью. Действует только после вызова оператора RAYTRACE.  
RAND(x)   Положительное численное выражение   Генерация случайных чисел с однородным распределением в пределах от 0 до заданного числа.  
RANX(x)   Номер поверхности   Х-направляющий косинус нормали к поверхности. Действует только после вызова оператора RAYTRACE.  
RANY(x)   Номер поверхности   Y-направляющий косинус нормали к поверхности. Действует только после вызова оператора RAYTRACE.  
RANZ(x)   Номер поверхности   Z-направляющий косинус нормали к поверхности. Действует только после вызова оператора RAYTRACE.  
RAYE()   Аргумент не нужен   Флаг ошибки трассировки луча. Принимает значение 0, если нет ошибки. Действует только после вызова RAYTRACE. См. ключевое слово RAYTRACE.  
RAYL(x)   Номер поверхности   Х-направляющий косинус луча, выходя­щего из поверхности. Действует только после вызова оператора RAYTRACE.  
RAYM(x)   Номер поверхности   Y-направляющий косинус луча, выходя­щего из поверхности. Действует только после вызова оператора RAYTRACE.  
RAYN(x)   Номер поверхности   Z-направляющий косинус луча, выходя­щего из поверхности. Действует только после вызова оператора RAYTRACE.  

 

24 -8                                                     Chapter 24: ZEMAX PROGRAMMING LANGUAGE


Function Функция   Argument Аргумент   Return value Принимаемое значение  
RAYO(x)   Номер поверхности   Длина оптического пути до указанной поверхности от предыдущей. Оптическая длина пути равна произведению длины пути на показатель преломления, одна из этих величин или обе могут быть отрица­тельными. Действует только после вызова RAYTRACE. Смотри также ОРТН и RAYO.  
RAYT(x)   Номер поверхности   Длина оптического пути до указанной поверхности от предыдущей. Длина пути может быть отрицательной. Действует только после вызова RAYTRACE. Смотри также ОРТН и RAYO.  
RAYV()   Аргумент не нужен   Принимает значение 0, если луч не был виньетирован, в противном случае - номер виньетирующей поверхности. Действует только после вызова RAYTRACE.  
RAYX(x)   Номер поверхности   Х-координата точки пересечения луча. Действует только после RAYTRACE.  
RAYY(x)   Номер поверхности   Y-координата точки пересечения луча. Действует только после RAYTRACE.  
RAYZ(x)   Номер поверхности   Z-координата точки пересечения луча. Действует только после RAYTRACE.  
SAGG(x,y,z)   х, у - координаты в линейных ед. на поверхности номер z   Вычисляет стрелку прогиба указанной поверхности в указанной точке в принятых линейных единицах.  
SCOD(A$)   Любая строчная переменная или буквенное обоз­начение типа поверхности; название типа поверхности должно записы­ваться в кавыч­ках; например: SCOD ("STANDARD")   Кодовое число запрашиваемого типа поверхности. Наименование типа поверх­ности должно соответствовать принятым, таким как STANDARD (код-0), EVENASPH (код-1), PARAXIAL (код - 3) и т.д.  
SCOM(A$, B$)   Имена двух любых строчных переменных   Принимает значение 0, если строчные переменные равны друг другу; значение меньше нуля, если А$ меньше В$; значение больше нуля, если А$ больше В$.  
SDIA(x)   Номер поверхности   Величина полудиаметра указанной поверхности.  
SIGN(x)   Числовое выражение   Принимает значение -1, если аргумент меньше нуля; значение 0, если аргумент равен нулю; значение +1, если аргумент больше нуля.  

 

Глава 24: ЯЗЫК ПРОГРАММИРОВАНИЯ ZEMAX                                                         24-9


Function Функция   Argument Аргумент   Return value Принимаемое значение  
SINE(x)   Числовое выражение в радианах   Синус числового выражения.  
SLEN(A$)   Имя любой строчной переменной   Число знаков в строчной переменной А$.  
SQRT(x)   Положительное число   Корень квадратный из числового выражения.  
STYP(n)   Номер опрашиваемой поверхности, п   Кодовое число, определяющее тип поверхности номер n.  
TANG(x)   Числовое выражение в радианах   Тангенс числового выражения.  
THIC(x)   Номер поверхности   Толщина указанной поверхности.  
UNIT()   Аргумент не нужен   Принимает значения 0, 1, 2 или 3, если выбранные единицы измерения - мм, см, дюймы или метры соответственно.  
VEC1(x)   Положительное значение индекса   Принимает значение переменной, записанной в матрицу VEC1 под указанным индексом (номером).  
VEC2(x)   Положительное значение индекса   Принимает значение переменной, записанной в матрицу VEC2 под указан­ным индексом (номером).  
VEC3(x)   Положительное значение индекса   Принимает значение переменной, записанной в матрицу VEC3 под указанным индексом (номером).  
VEC4(x)   Положительное значение индекса   Принимает значение переменной,, записанной в матрицу VEC4 под указанным индексом (номером).  
VERSQ   Аргумент не нужен   Четырехразрядный код используемой версии ZEMAX.  
WAVL(x)   Номер длины волны   Длина волны в микронах.  
WWGT(x)   Номер длины волны   "Вес" длины волны.  
XMINQ   Аргумент не нужен   Минимальная величина Х-координаты в графическом окне.  
XMAX()   Аргумент не нужен   Максимальная величина Х-координаты в графическом окне.  
YMINQ   Аргумент не нужен   Минимальная величина Y-координаты в графическом окне.  
YMAX()   Аргумент не нужен   Максимальная величина Y-координаты в графическом окне.  

 

24-10                                                      Chapter 24: ZEMAX PROGRAMMING LANGUAGE









ZPL math operations


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: