ZEMAX軟件技術應用專題:了解ZOS-API結構的基礎知識
本文介紹了ZOS-API結構的基礎知識和應用于ZOS-API的面向對象編程的概念。盡管ZOS-API面向對象的本質在很大程度上是“隱藏的”,但它可以幫助您更好地理解ZOS-API的詞匯和結構。
本文將重點介紹一些關于面向對象編程的關鍵概念,以及如何在ZOS-API中使用它。您不需要成為開發人員就可以使用ZOS-API,同時,掌握一些基礎知識將使得ZOS-API的使用變得更加簡單。
什么是面向對象編程?
面向對象語言(Object-Oriented Languages)使用了高效的方法進行編程。使用對象(Objects)和種類(Classes)來組織數據,使代碼可以在不同的工程中重復使用,而不是每次都從頭開始編寫。這個概念易于用來定義OpticStudio文件。
每個.zmx文件代表一個不同的序列和(或)非序列模式下的光學系統,這些光學系統中可以設置不同數量的物體和(或)表面,…

在面向對象程序中,每個光學系統都被看作一個API“對象(Object) ”。光學系統有共同的特征,如波長、表面、…
在面向對象編程中,具有共同特征的對象被分組到一個主列表中。具有這個特征的主列表被稱為類(Class)或接口(Interface)。

這些類被進一步分組到稱為名稱空間(Namespaces)的庫中。如下為代碼結構的總結:
Namespace (Library containing Classes and Interfaces)
Class / Interface: group (template with attributes)
Functions (action)
Property (set or get a value)
如果您想要獲得更多信息,請查看鏈接: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/general-structure-of-a-csharp-program
ZOS-API的結構
ZOS-API是被稱為名稱空間的接口層次結構。使用ZOS-API意味著創建API“對象”,作為是接口類型的一種。接口決定對象的哪些特性可用。
特性是指屬性或函數:
屬性表示定義或者讀取設置、已存儲的值。
函數為命令,表示對象可以執行的操作。
調用對象的函數或屬性總是會執行返回。可以進行返回的類型包括:
數值(雙精度型、整數型、…)、文本(字符串)、布爾(Boolean) (是或否)。
int value = Object1.NumberOfFields;新對象,作為一種接口。
IField New_Object = Object1.GetField(1);一種屬性是獲取( [get] ),一種是獲取、設置( [get, set] )。
可用于獲取數值的語句是:value = Object1.Normalization;
可用于設置數值的語句是: Normalization = value;
接口的層次結構
讓我們打開示例文件,看看代碼是如何構成的。
打開示例文件 "\Zemax\ZOS-API Sample Code\C#\CSharpStandalone_01_new_file_and_quickfocus.cs",這個示例文件可以用文本編輯器打開。
該示例文件是用c#編寫的,但是面向對象編程的概念對于ZOS-API中使用的所有語言都是通用的。
打開語法幫助文件(Syntax Help File)

在幫助文件
(Help File)中,主接口被稱為IOpticalSystem,它相當于一個單獨的ZMX文件。

通過單擊 IOpticalSystem,你將具有訪問該界面所有特性的權限。

Ansys Zemax國內可靠代理商
光研科技南京有限公司是國內可靠的光學軟件和儀器光電供應商,提供企業定制化上門培訓服務,承接各類光學設計項目,并有一系列自主編寫出版的光學設計書籍。公司擁有一支高素質、高水平、實戰經驗豐富的管理,銷售以及研發團隊,從成立到現在已經為廣大企業,研究所以及高校提供了很多優秀的產品和服務,是光電圈內值得信賴的企業。追光逐夢,研以致用!以用戶的需求為起點,為客戶提供有價值的光學產品和服務一直都是光研科技南京有限公司的宗旨。
AnsysZemax光學軟件咨詢與訂購聯系方式
聯系人:南京光研 徐保平
手機號:15051861513
微信號:13627124798您也可以掃一掃下面的二維碼直接咨詢

工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















