ZEMAX | 在 ZOS-API 中执行系统分析的基本方法

本文讨论了如何在 ZOS-API 中使用命令进行分析,以及如何有效提取分析结果。

OpticStudio 包含 ZOS-API 的大量帮助文档,您可以在编程选项卡 (Programming tab) 查找:



通过这些文档可以导航到 ZOSAPI.分析命名空间参考 (ZOSAPI.Analysis Namespace Reference) 找到所有分析命令的列举情况。



尽管对于某些特定分析有其特有的分析方法,但是常规方法 New_Analysis() 可用于打开任何分析类型。此方法需要将分析的列举字符作为输入。在找到适当的列举情况后,您可以使用以下内容来进行分析:

my_analysis= TheSystem.Analyses.New_Analysis(ZOSAPI.Analysis.AnalysisIDM.ANALYSIS_ENUMERATOR_HERE);

打开后,通常有两种方式进行分析设置的调整。首先,一些常用分析具有特定分析的设置界面。一个典型示例是 IAS_FftMtf 。所有分析设置接口都位于 ZOSAPI. 分析设置命名空间 (ZOSAPI.Analysis.Settings Namespace) 中。您还可以使用HasAnalysisSpecificSettings 属性检查是否您的分析具有设置界面:

my_analysis.HasAnalysisSpecificSettings

如果命令返回“ 0”,则说明分析没有完备可用的设置接口。这意味着无法通过 API 进行分析设置,而必须通过第二个选项(即 IAS_ModifySettings 命令)进行更改,该命令直接修改用于分析的设置文件( .cfg 文件):



ModifySettings 命令与 ZPL 中的 MODIFYSETTINGS 关键字的工作方式非常相似。当您打开分析并调整设置后,您需要重新运行分析并查阅结果。您可以使用以下命令进行操作:

my_analysis.ApplyAndWaitForCompletion()

my_analysis.GetResults()

如果您需要使用 ModifySettings(),则还需要调用 LoadFrom()(完整示例请查阅 API 语法示例文件11)。对于由 GetResults() 方法返回的对象,分析函数可能具有以下一种或多种可用的结果类型:



使用 GetResults() 语法将返回一个列出了所有可能的公共成员函数 (Public Member Functions) 的对象,但是仅与您分析相关的数据项会被填充。


对于支持文本输出的分析类型,还可以使用 GetTextFile() 命令,以便用户可以保存并手动分析其数据。


ZOS-API 语法帮助 (ZOS-API Syntax Help) 包含示例文件,这些文件演示了如何使用ZOS-API 对系统进行分析。


例如,示例代码11和15使用 IAS_ModifySettings 修改分析的设置。


· 示例11修改了通用绘图 (Universal Plot) 的设置。
· 示例15修改了实体模型 (Shaded Model) 的设置。
· 示例代码10和24全面修改了设置。
· 示例10和24修改了探测器查看器 (Detector Viewer) 的设置。