在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何從ZPL宏中調(diào)用另一個(gè)ZPL宏?

LD18688690737 ? 來源:光電資訊 ? 2023-02-25 15:19 ? 次閱讀

通常,在單獨(dú)的代碼段中執(zhí)行計(jì)算的每個(gè)步驟是一種很好的編程實(shí)踐,本文介紹如何從另一個(gè)宏中調(diào)用 ZPL 宏,以及如何在宏之間來回傳遞數(shù)據(jù)。

介紹

在編寫執(zhí)行許多步驟的ZPL宏時(shí),通常在單獨(dú)的代碼段中執(zhí)行每個(gè)步驟是一種良好的編程做法。這可以通過ZPL子例程來完成,使用GOSUB,SUB,RETURN和END關(guān)鍵字。但是,在某些情況下,在單獨(dú)的宏中執(zhí)行每個(gè)步驟,然后從主(父)宏調(diào)用這些單獨(dú)的(子)宏中的每一個(gè)可能更容易。例如,如果要在許多不同的宏中執(zhí)行相同的計(jì)算,則在隨后由各個(gè)父宏調(diào)用的子宏中執(zhí)行此計(jì)算會更有效。這可以在OpticStudio中使用關(guān)鍵字CALLMACRO來完成。

從一個(gè)宏中調(diào)用另一個(gè)宏

可以在本文附帶的.ZIP文件中找到調(diào)用兩個(gè)單獨(dú)子宏的父宏的示例。這些宏文件應(yīng)放在{Zemax}Macros 目錄下,并用于位于{Zemax}SamplesObjectives 目錄中的文件“Cooke 40 degree field.zmx”。

poYBAGP5tpOAUzjtAADBSL7F5BI957.jpg

在這種情況下,數(shù)值和字符串值是簡單的測試值,用于演示在父宏和子宏之間來回傳遞數(shù)據(jù)的方法。

然后,父宏使用關(guān)鍵字CALLMACRO調(diào)用第一個(gè)子宏(CALLMACRO_TEST_CHILD1.ZPL)。在子宏中,存儲在宏緩沖區(qū)中的值使用CALD和$CALLSTR數(shù)字函數(shù)打印到輸出窗口:

pYYBAGP5trCAGPEfAACU5OYiwWE135.jpg

然后,該宏使用RAYTRACE關(guān)鍵字和OPDC函數(shù)計(jì)算弧矢方向光瞳坐標(biāo) (Px = 0)和固定視場坐標(biāo) (Hx = Hy = 0) 處的各個(gè)子午光瞳坐標(biāo) (Py)的光程差:

poYBAGP5tsqAHVGjAACz2PzwSTg116.jpg

在此子宏中,光瞳坐標(biāo)的值(存儲在x數(shù)組中)使用以下方法傳遞回父宏:

poYBAGP5tuOADRs4AADVFI6Ze2Q697.jpg

新字符串值也作為測試放置在宏緩沖區(qū)中,以確保將此數(shù)據(jù)傳遞回父宏。子宏完成后,OpticStudio 將返回到父宏,并且光瞳坐標(biāo)的值將存儲在相應(yīng)的數(shù)組中:

poYBAGP5tv-AUzjaAACL29wA2kE135.jpg

然后,父宏調(diào)用第二個(gè)子宏 (CALLMACRO_TEST_CHILD2.ZPL)。此宏與第一個(gè)子宏相同,唯一的區(qū)別是OPD數(shù)據(jù)(存儲在y數(shù)組中)而不是光瞳坐標(biāo)被傳遞回父宏:

pYYBAGP5tyOAXqUmAADpyu7McuE589.jpg
poYBAGP5tyyAUhhMAAEKv4xenqU411.jpg

作為測試新的字符串值再次放置在宏緩沖區(qū)中,以確保將此數(shù)據(jù)傳遞回父宏。然后將數(shù)字OPD 數(shù)據(jù)存儲到父宏的數(shù)組中:

pYYBAGP5t1eAZ6T_AAB-pD2ri_k930.jpg

最后,父宏使用關(guān)鍵字PLOT繪制 OPD 與光瞳坐標(biāo)數(shù)據(jù):

pYYBAGP5t2uAPGFDAADJVQqWSHk118.jpg
PLOT GO 然后將結(jié)果打印到圖形窗口:

8fd69dce-b2c2-11ed-bfe3-dac502259ad0.jpg







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    579

    瀏覽量

    20537
  • ZEMAX
    +關(guān)注

    關(guān)注

    3

    文章

    34

    瀏覽量

    11380
  • sub
    sub
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    2254

原文標(biāo)題:Zemax光學(xué)設(shè)計(jì)技術(shù):如何從ZPL宏中調(diào)用另一個(gè)ZPL宏

文章出處:【微信號:光電資訊,微信公眾號:光電資訊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    個(gè)vi調(diào)用另一個(gè)vi,并將數(shù)據(jù)傳給被調(diào)用vi

    我想在個(gè)vi調(diào)用另一個(gè)vi比如說,在這個(gè)vi1,我獲得了
    發(fā)表于 03-28 13:57

    C語言定義#和##的作用

    : helloworld , 就可以通過這樣的的調(diào)用, printf( str(helloworld) );2. ## : 在定義,將其前后的兩個(gè)變量拼接在
    發(fā)表于 08-23 18:22

    C語言中的

    我們對定義的使用更加的常江,下面我們個(gè)方面來了解下函數(shù)的使用。1.函數(shù)的書寫#def
    發(fā)表于 12-13 15:32

    擴(kuò)展問題

    MPLAB IDIDV3.65和XC8HI,“擴(kuò)展工具”是個(gè)方便的工具來查看在項(xiàng)目文件的擴(kuò)展(右鍵單擊
    發(fā)表于 04-14 09:57

    【原創(chuàng)文章】程序的調(diào)試和使用的技巧

    的dprint)會自動(dòng)根據(jù)程序中表達(dá)式的內(nèi)容,生成一個(gè)字符串的(示例的#expr)。這樣同樣可以在程序中表示一個(gè)字符串。②進(jìn)
    發(fā)表于 08-18 17:27

    ios的使用注意點(diǎn)

    使用的時(shí)候, 其中會有很多的注意點(diǎn), 如果不小心被忽略, 那么將會帶來完全不想要的結(jié)果。 所以要想靈活的使用它, 那么還是先了解些比較好。 而且在iOS開發(fā)如果你是使用OC, 那么你可能經(jīng)常會使用到#define(swift當(dāng)前不支持
    發(fā)表于 09-25 17:30 ?0次下載
    ios<b class='flag-5'>中</b><b class='flag-5'>宏</b>的使用注意點(diǎn)

    excel的使用方法、技巧和步驟

    excel的使用方法如下: 、建立 二、執(zhí)行 三、編輯和刪除
    發(fā)表于 11-19 10:16 ?11.7w次閱讀
    excel<b class='flag-5'>中</b><b class='flag-5'>宏</b>的使用方法、技巧和步驟

    什么是,excel的作用

    所謂,就是些命令組織在起,作為個(gè)單獨(dú)命令完成個(gè)
    發(fā)表于 11-19 10:36 ?5.5w次閱讀

    QuartusⅡ功能模塊的使用

    QuartusⅡ軟件針對常用的功能,提供了參數(shù)化(Parameterized)的功能(megafunctions)模塊,通過調(diào)用功能模塊,可以減少工作量,加快設(shè)計(jì)的進(jìn)程。 用戶可以通過向?qū)Чぞ?/div>
    發(fā)表于 04-03 15:34 ?12次下載

    工程師避免這些誤區(qū)才能讓【】削鐵如泥

    括號,可以創(chuàng)建個(gè)主體內(nèi)部開始但在主體外部結(jié)束的調(diào)用
    的頭像 發(fā)表于 10-23 15:15 ?1762次閱讀

    幾種特殊的函數(shù)封裝方式介紹

    : #defineINT_SWAP(a,b) inttmp=a; a=b; b=tmp但上述的具有個(gè)明顯的缺點(diǎn):當(dāng)遇到 if、while 等語句且不使用花括號僅調(diào)用
    的頭像 發(fā)表于 11-03 16:03 ?2109次閱讀

    當(dāng)使用參數(shù)調(diào)用時(shí),會將參數(shù)替換為主體

    在大多數(shù)定義示例,每次出現(xiàn)的參數(shù)名稱都帶有括號,并且另一對括號通常會包圍整個(gè)定義,這是編寫
    的頭像 發(fā)表于 11-16 16:41 ?2338次閱讀

    函數(shù)的三種封裝方式

    : #define INT_SWAP(a,b) \ int tmp = a; \ a = b; \ b = tmp 但上述的具有個(gè)明顯的缺點(diǎn):當(dāng)遇到 if、while 等語句且不使用花括號僅
    的頭像 發(fā)表于 12-22 15:49 ?3685次閱讀

    如何才能避免【】的這七個(gè)誤區(qū)

    當(dāng)使用參數(shù)調(diào)用時(shí),會將參數(shù)替換為主體,并與其他輸入文件起檢查結(jié)果,以進(jìn)行更多的調(diào)用,可以
    的頭像 發(fā)表于 12-24 14:29 ?415次閱讀

    c語言定義可以嵌套嗎?

    c語言定義可以嵌套嗎? C語言定義可以嵌套,也就是個(gè)定義可以包含另一個(gè)
    的頭像 發(fā)表于 09-04 17:38 ?3212次閱讀
    主站蜘蛛池模板: 黄色网欧美| 久久99国产精品免费观看| 亚洲最大成人网色| 99久久免费精品高清特色大片| 欧美色视频网站| 新版bt天堂资源在线| 日本口工福利漫画无遮挡| 性欧美高清极品xx| 久久天天躁狠狠躁夜夜爽| 在线免费看片| 国产精品二区三区免费播放心| 欧美黄色tv| 日本三级免费| 四虎.com| 特级一级黄色片| 亚洲精品美女| 中国成人在线视频| 老师下面好紧| 一级黄色日本| 色色就色色| 日日噜夜夜噜| 色婷婷在线视频观看| 五月婷婷一区| 色播在线| 狠狠色成色综合网| 久久成人国产精品青青| 免费人成在线| 欧美激情综合| 国产精品视频永久免费播放| 午夜在线观看视频| 婷婷久久五月天| 天天谢天天干| 手机在线看片福利| 手机看日韩毛片福利盒子| 精品亚洲午夜久久久久| 狠狠干干| 亚洲视频一| www午夜| 国产69久久精品成人看| 中文一级黄色片| 日韩中文视频|