Zemax光學設計技術:如何從ZPL宏中調用另一個ZPL宏
瀏覽:2140
從一個宏中調用另一個宏
可以在本文附帶的.ZIP文件中找到調用兩個單獨子宏的父宏的示例。這些宏文件應放在{Zemax}\Macros 目錄下,并用于位于{Zemax}\Samples\Objectives 目錄中的文件“Cooke 40 degree field.zmx”。
CALLSETDBL關鍵字的數值和
CALLSETSTR關鍵字的字符串值填充主宏緩沖區:
n_vals = 49
DECLARE x, DOUBLE, 1, n_vals
DECLARE y, DOUBLE, 1, n_vals
FOR i, 1, n_vals, 1
CALLSETDBL i, 2*i
# Test values to demonstrate use of CALLSETDBL, CALLSETSTR keywords
A$ = call_str$ + $STR(i)
CALLSETSTR i, A$
NEXT i
CALLMACRO調用第一個子宏(CALLMACRO_TEST_CHILD1.ZPL)。在子宏中,存儲在宏緩沖區中的值使用
CALD和
$CALLSTR數字函數打印到輸出窗口:
! Print values passed from parent macro
n_vals = 49
FOR i, 1, n_vals, 1
FORMAT 6.4
PRINT "Doule precision value = ", CALD(i)
FORMAT 2 INT
A$ = $CALLSTR(i)
PRINT A$
NEXT i
RAYTRACE關鍵字和
OPDC函數計算弧矢方向光瞳坐標 (Px = 0)和固定視場坐標 (Hx = Hy = 0) 處的各個子午光瞳坐標 (Py)的光程差:
! Calculate OPD
DECLARE x, DOUBLE, 1, n_vals# Variables to store OPD data
DECLARE y, DOUBLE, 1, n_vals
FOR i, 1, n_vals, 1
py = 0.04166*i-1.04166
RAYTRACE 0, 0, 0, py, 1
x(i) = py
y(i) = OPDC()
NEXT i
CALLSETDBL
! Reset values to normalized pupil coordinates and pass them back to parent macro
call_str$ = "This is the string for variable number "
FOR i, 1, n_vals, 1
CALLSETDBL i, x(i)
A$ = call_str$ + $STR(i+50)
CALLSETSTR i, A$
NEXT i
CALLMACRO CALLMACRO_TEST_CHILD1.ZPL
! Save values passed back from child macro 1
FOR i, 1, n_vals, 1
x(i) = CALD(i)
A$ = $CALLSTR(i)
PRINT A$
NEXT i
PRINT "Doule precision value = ", CALD(i)
FORMAT 2 INT
A$ = $CALLSTR(i)
PRINT A$
DECLARE y, DOUBLE, 1, n_vals
RAYTRACE 0, 0, 0, py, 1
x(i) = py
y(i) = OPDC()
A$ = call_str$ + $STR(i+100)
CALLSETSTR i, A$
A$ = $CALLSTR(i)
PRINT A$
PLOT繪制 OPD 與光瞳坐標數據:
PLOT TITLE, "OPD FOR FIELD POINT 1, WAVELENGTH 1"
PLOT TITLEX, "NORMALIZED PUPIL COORDINATE"
PLOT TITLEY, "OPTICAL PATH DIFFERENCE (WAVES)"
PLOT RANGEX, -1.0, 1.0
PLOT RANGEY, -1.0, 1.0
PLOT DATA, x, y, n_vals, 1, 1, 1
PLOT GO
Ansys zemax和其它光學解決方案在HUD設計中的應用
Ansys Zemax光學軟件
咨詢與訂購方式
聯系人:光研科技南京有限公司 徐保平
手機號:15051861513
微信號:13627124798
光研科技南京有限公司同時還為廣大有光學設計軟件培訓的需求者提供了一個線下的學習平臺,多年以來為光電圈培養了很多優秀的光學設計工程師等人才。
公司開設的課程包括光學設計標準基礎班,高級實戰班,照明設計班以及薄膜設計班等等。新的一年已經到來,光研科技南京有限公司將繼續為廣大光電圈的朋友帶來各種各樣的實用光學培訓,歡迎大家咨詢和預定!
光學設計培訓
咨詢與預約方式
技術鄰APP
工程師必備
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















