OpTaliX包含允许自定义分析和计算的宏语言。  

宏语言包含以下的几点: 

使用算术表达式,在任何地点,数值的项目都是预期的。 

Examples:<br><br>

 可以检索程序的内部数据库和能被重复使用的算术表达式,有权访问广泛范围的透镜参数和性能数据。

 访问最常用的数学函数(sin, tan, cos, sinh, cosh, tanh, asin, acos, atan, sqrt, exp, log, log10, logn, besj0, besj1, besjn, abs, min, max, aint, anint)。

 用户自定义变量和函数。

 将参数传输给宏。 

包含宏在其他的宏文件中和从基本的宏或指令中创建复杂的任务。 

循环构造:DO – ENDDO 

有条件的构造:IF - ELSE - ELSEIF – ENDIF。 

在OpTaliX中宏是一个序列,在文件中它是一个算术表达式,可以对数据库项目进行存储。在整个程序中,宏功能都可使用。例如,在命令行中,优化函数的定义和自定义的图像。从指令或者GUI模式中运行宏。

 <table cellspacing="0" cellpadding="0">  <tr>

    <td>sin(r) </td>

    <td>sine of angle in radians </td>

  </tr>

  <tr>

    <td>cos(r) </td>

    <td>cosine of angle in radians </td>

  </tr>

  <tr>

    <td>tan(r) </td>

    <td>tangent of angle in radians </td>

  </tr>

  <tr>

    <td>exp(x) </td>

    <td>ex </td>

  </tr>

  <tr>

    <td>log(x) </td>

    <td>natural logarithm </td>

  </tr>

  <tr>

    <td>log10(x) </td>

    <td>common logarithm </td>

  </tr>

  <tr>

    <td>logn(n,x) </td>

    <td>logarithm base n </td>

  </tr>

  <tr>

    <td>sqrt(x) </td>

    <td>square root </td>

  </tr>

  <tr>

    <td>acos(r) </td>

    <td>arccosine </td>

  </tr>

  <tr>

    <td>asin(r) </td>

    <td>arcsine </td>

  </tr>

  <tr>

    <td>atan(r) </td>

    <td>arctangent </td>

  </tr>

  <tr>

    <td>cosh(r) </td>

    <td>hyperbolic cosine </td>

  </tr>

  <tr>

    <td>sinh(r) </td>

    <td>hyperbolic sine </td>

  </tr>

  <tr>

    <td>tanh(r) </td>

    <td>hyperbolic tangent </td>

  </tr>

  <tr> </tr>

  <tr>

    <td>besj0(r) </td>

    <td>Bessel function 1st kind, order 0 </td>

  </tr>

  <tr>

    <td>besj1(r) </td>

    <td>Bessel function 1st kind, order 1 </td>

  </tr>

  <tr>

    <td>besjn(n,x) </td>

    <td>Bessel function 1st kind, order n </td>

  </tr>

  <tr>

    <td>aint(x) </td>

    <td>truncate to a whole number </td>

  </tr>

  <tr>

    <td>anint(x) </td>

    <td>real representation of the nearest whole number </td>

  </tr>

  <tr>

    <td>abs(x) </td>

    <td>absolute value </td>

  </tr>

  <tr>

    <td>min(a,b) </td>

    <td>minimum value </td>

  </tr>

  <tr>

    <td>max(a,b) </td>

    <td>maximum value </td>

  </tr>

 </table>