OpTaliX 宏語言

2021-02-08 聯合光學

OpTaliX包含宏語言,允許自定義分析和計算。宏語言包括以下領域:

在任何需要數字輸入項的地方使用算術表達式。

可以檢索程序的內部資料庫和能被重複使用的算術表達式,有權訪問廣泛範圍的透鏡參數和性能數據。

訪問最常用的數學函數(sin, tan, cos, sinh, cosh, cosh, tanh, asin, acos, atan, sqrt, exp, log, log10, logn, besj0, besj1, besjn, abs, min, max, aint, anint)

用戶定義的變量和函數。

將參數傳遞給宏。

在其他宏文件中包含宏,並從基本宏或命令構建複雜任務。

循環結構:DO - ENDDO和WHILE - ENDWHILE

條件結構:IF - ELSE - ELSEIF - ENDIF

文件和數據處理:打開,關閉,讀,寫/列印。

在OpTaliX中,宏是一個序列,在文件中它是一個算術表達式,可以對資料庫項目進行存儲。在整個程序中,宏功能都可使用。例如,在命令行中,優化函數的定義和自定義的圖像。從指令或者GUI模式中運行宏。

Examples 

下面的示例顯示了一些宏功能,從上到下不斷增加複雜性。名為"mymacro.mac" 的宏被如下命令行執行:

run mymacro.mac 3 0.546

在上面的示例命令中,有兩個參數被傳遞給宏。宏也可以從菜單中執行(運行)。下面是一個宏文件中的一些注釋示例條目:

!  Example macroThe  character  !  indicates a comment. This line is not  executed.
   $x = 15 Defines a user-defined variable and assigns  a value. User-defined variables always begin with the $-character.@xxx =  sqrt($x)+[efl] Defines a user-defined function.  User-defined functions always begin with the @-character.
   res  c:\temp\demo.otxRestores  an optical system
   lis ; vie; fanMultiple  commands/expressions can be entered in a single line, separated by  semicolons.sca sa 2*piUse  previously defined constants in expressions. This command scales all surfaces  (sa) by 2p.wl w%1 %2Use  parameters (%1, %2), which have been passed to the macro from the command  line. From the parameters given above, the command translates to:  wl w3 0.546print 'Radius of surface 2 is:' [rdy s2]Retrieve  lens parameter or performance parameter and use it in other expressions.  Here  rdy s2  is the radius on surface 2.thi s3  sqrt(2)*[thi s2]Use  lens database items in more complex expressions and assign it to other lens  parameter.
   print 'Square root of 2: ' 2*sqrt( &
   2)Span  expressions over several lines. Continuation is defined by the &  character.
   do $x = 1,9,2
      print $x sqrt($x)
   enddoDO-loop construct.  Nesting depth is 20.if ($a > 3) then
      print '$ a is greater than  3'
   else
      print '$ a is less than or equal  to 3'
   endifIF construct. Nesting  depth is 20.

內部函數

OpTaliX也存在一個廣泛的內在函數集,可以在命令行中使用,在宏中,在定義優化約束或指定鏡頭描述參數:

sin(r)sine of angle in radianscos(r)cosine of angle in radianstan(r)tangent of angle in radiansexp(x)exlog(x)natural logarithmlog10(x)common logarithmlogn(n,x)logarithm base nsqrt(x)square rootacos(r)arccosineasin(r)arcsineatan(r)arctangentcosh(r)hyperbolic cosinesinh(r)hyperbolic sinetanh(r)hyperbolic tangent

besj0(r)Bessel function 1st kind, order 0besj1(r)Bessel function 1st kind, order 1besjn(n,x)Bessel function 1st kind, order naint(x)truncate to a whole numberanint(x)real representation of the nearest whole numberabs(x)absolute valuemin(a,b)minimum valuemax(a,b)maximum value


相關技術文章:

OpTaliX ISO元件製圖

OpTaliX 玻璃圖和玻璃管理器

OpTaliX 光學軟體操作界面介紹

OpTaliX 鬼像分析

OpTaliX表面孔徑

為什麼要選用OpTaliX ?!

OpTaliX 優化

OpTaliX 光學成像與照明設計軟體


如果您需要了解更多 OpTaliX 軟體相關信息,請點擊文末「閱讀原文」諮詢。


聯合光學科技有限公司是一家專業的光學產品與軟體研發、銷售及技術諮詢服務的公司。涉及領域包括幾何光學,物理光學等方面的模擬和仿真,已蛻變為一家國際化的高科技專業技術服務公司。為廣大客戶提供全方位的光學軟體產品服務和專業化的軟體課程培訓。

技術交流 

長按識別二維碼


相關焦點

  • C語言宏定義
    #define N 100就是宏定義,N為宏名,100是宏的內容。在編譯預處理時,對程序中所有出現的「宏名」,都用宏定義中的字符串去代換,這稱為「宏代換」或「宏展開」。宏定義是由源程序中的宏定義命令#define完成的,宏代換是由預處理程序完成的。
  • 快速上手系列-C語言之預編譯命令、宏定義及條件編譯
    上一篇寫了C語言中變量的存儲類別,提到普通局部變量、普通全局變量和靜態局部變量及靜態全局變量,這裡簡單了解一下C語言的預編譯命令、宏定義和條件編譯。預編譯命令(預編譯處理--->編譯---->彙編--->連接)1、預處理:預處理是C語言的一個重要功能,如文件包含、常量定義都屬於預處理命令,C語言提供的預處理功能主要有以下三種:1)文件包含 #include2)宏定義 #define3)條件編譯 #if #endif4)防止頭文件重複包含2、文件包含處理
  • C語言宏定義的特殊用法以及避坑指南
    總結一下C語言中宏的一些特殊用法和幾個容易踩的坑。由於本文主要參考GCC文檔,某些細節(如宏參數中的空格是否處理之類)在別的編譯器可能有細微差別,請參考相應文檔。宏基礎宏僅僅是在C預處理階段的一種文本替換工具,編譯完之後對二進位代碼不可見。
  • 《邊學邊用攻破C語言》第17集 宏定義define的用法
    《邊學邊用攻破C語言》是專門為單片機初學者準備的C語言基礎視頻教學課程,是科技老頑童
  • 踩著語言的梯子出走——玖層美術館舉辦高宏作品展
    高宏,陝西橫山人,曾在中央美術學院和清華大學美術學院學習,先後在今日美術館、中國美術館舉辦大型個展《爸爸的大油畫》和《大地》,現居北京宋莊畫家村。高宏被評價為是個「有思辨能力的畫家,痛苦地琢磨著生與死、農村與城市、革命與傳統這類難題」。 「其藝術作品以繼承為紐帶,以創新為前瞻,把個人風格與中國精神引入到世界藝術的新領地。」
  • c語言不定參數宏INTSIZEOF的由來
    這個宏的整體結構就是輸入的字節數是4個字節的多少個,然後在乘以4位元組就是宏的值,比如n是double,那麼sizeof(double)就是8位元組,也就是sizeof(int)的2倍,然後再乘以4位元組(也就是2*4 = 8)字節那麼這個紅就是8位元組,若是char,那麼這個宏的值就是4位元組。
  • 什麼是宏?什麼是過程?
    首先,宏(Macro),是一種批量處理的稱謂。就是把一些命令組織在一起,作為一個單獨的命令完成一個特定任務。Microsoft Word中對宏定義為:「宏就是能組織到一起作為一獨立的命令使用的一系列word命令,它能使日常工作變得更容易」。Word使用宏語言Visual Basic將宏作為一系列指令來編寫。
  • C語言陷阱與技巧第18節,函數式宏定義的「缺陷」,沒有參數類型檢查...
    在之前的文章裡,我們曾討論C語言程序開發中 define 宏定義的「陷阱」之一就是可能會產生多次「副作用」,這也是C語言中函數式宏定義與真正函數的主要區別之一。顯然,define 宏定義的這種「陷阱」會導致程序存在隱患,而且這種隱患造成的危害不亞於「野指針」。
  • 兼容性宏
    兼容性宏實現VC6.0編譯器和VS2019編譯器兼容    兼容性宏的目的是為了提高語法的兼容性。    加一處兼容性宏就可以解決這個問題。    假設在 C 項目開發中需要一段代碼算法,但是在網上搜索後,發現這個算法是 Basic 語言的怎麼辦?    下面舉一個小例子。    在 VB 中選擇命令按鈕。
  • 宏如何使用?--excel的學習
    如果你已經用excel很長時間了,那麼您一定聽過宏這個名稱,很多人都不知道宏是用來幹什麼的,今天我們就來了解一下excel中宏的作用與幫助,如果您經常在excel中重複一個任務,那就可以用宏來自動執行該任務了。
  • CATIA宏/VBA/二次開發——1 宏的錄製、運行與修改
    使用者無需計算機專業出身,只需用簡單的宏(VB)語言,就可以操縱這些士兵排兵布陣,實現強大的符合自身需求的功能。本文中,作者會帶領各位將CATIA中畫草圖並拉伸成凸臺的操作錄製成宏代碼,並通過修改代碼實現多個實例的一鍵創建。
  • Word 宏
    打開Word -> 點擊【視圖】 -> 點擊【宏】 -> 輸入【宏名】點【創建】,即可進入開發環境,當然,還有別的方式。Public doc As DocumentSub 批量修改文件()'' 批量修改文件 宏'' Dim file_index As Integer Dim file_count As Integer Dim file_path As String Dim file_name As String Dim file_name_current
  • 千萬別學VBA(宏),我是認真的!
    蘭色曾對很多Excel技巧和函數高手說,千萬別學宏。因為一旦愛上宏編程,Excel圈裡很快就會少了一個技巧或函數高手!Why?
  • A類宏程序的一些編法《基礎》,簡單易學.
    什麼是宏程序?  其實說起來宏就是用公式來加工零件的,比如說橢圓,如果沒有宏的話,我們要逐點算出曲線上的點,然後慢慢來用直線逼近,如果是個光潔度要求很高的工件的話,那麼需要計算很多的點,可是應用了宏後,我們把橢圓公式輸入到系統中然後我們給出Z坐標並且每次加10um那麼宏就會自動算出X坐標並且進行切削, 實際上宏在程序中主要起到的是運算作用..宏一般分為A類宏和B類宏.A類宏是以G65
  • c語言不定參數宏,va_start,va_arg的來歷解釋
    關於INTSIZEOF宏是怎麼來的已經解釋過了, 這裡簡要概述一下,宏定義如下:#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )當sizeof(n)<
  • 微軟Excel VBA宏的介紹及如何錄製宏
    宏是系列 Excel命令和指令組合在起,形成了個任務,以自動執行包含多個命令和指令的任務。可以極大提升Excel的效率。一,什麼是宏宏就是用VBA代碼保存下來的程序。宏的基本作就是:減少重複性的操作Excel宏是系列操作步驟的集合,如在單元格中輸數據,複製A3的數據到B4,對C1:D3求和等,這些操作步驟有簡單有複雜。當一些操作步驟需要不斷重複時,我們就要考慮錄製宏。
  • MS Office Word宏應用——批處理
    所有純文本文件(如.c, .txt, .tex, .py, .xml等)都能使用任意一種高級程式語言進行批量處理,但不幸的是,doc 類(.doc, .docx, .dot等)的文件並不是簡單的純文本文件(.doc文件為 Office 專用格式,.docx為 OpenXML 格式),因此,我們無法直接使用高級程式語言處理 doc 類文件(但仍然可以處理,如 python 使用python-docx模塊
  • FANUC數控宏程序編程技術一本通
    本書全面、系統地講解FANUC 0i數控系統B類用戶宏程序編程的基礎知識和操作技巧,內容由淺入深、先進實用,程序實例典型、豐富,可操作性強,適合讀者自學,可供數控系統操作、編程人員學習和參考。編輯推薦《FANUC數控宏程序編程技術一本通》主要討論FANUC版本的宏程式語言B類用戶宏翟序(A類用戶宏程序已過時而不再使用),此版本參照0i系列控制系統。
  • 一起認識Excel中的「宏」(上)——錄製宏
    步驟:步驟1.打開EXCEL後,找到EXCEL主窗口的狀態欄,就緒 右邊第一個圖標,左上角有紅色圓點的那個,這個圖標名字就叫錄製宏。當滑鼠移到錄製宏圖標上方時,會有提示。      左鍵點擊圖標,第一個宏的錄製也就完成了。大家再注意下,剛剛的藍色方塊圖標是不是又變成紅色圓點的錄製宏了?第一講錄製宏就到此結束了,下一講咱們繼續。
  • 魔獸世界9.0毀滅及痛苦術士宏合集分享
    ,術士鍵位更顯緊張,整合宏很有必要。,harm,nodead]疲勞詛咒;疲勞詛咒 虛弱詛咒滑鼠指向宏 #showtooltips /cast [@mouseover,harm,nodead]虛弱詛咒;虛弱詛咒 語言詛咒滑鼠指向宏 #showtooltips