使用zos-新宝5手机app

使用zos-api交互扩展连接python与opticstudio

python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。python解释器易于扩展,可以使用c或c (或者其他可以通过c调用的语言)扩展新的功能和数据类型。

使用python通过交互扩展 ( interactive extension ) 连接到zos-api。一旦连接到opticstudio,交互扩展就可以执行自定义扩展能够执行的任何任务,并且opticstudio界面将交互式地显示该任务的结果。

本文演示了如何使用 python 的原生 ide 和 pycharm 连接到 zos-api 交互扩展。

交互扩展模式几乎与自定义扩展 ( user extension ) 相同,除了交互扩展不必是独立的可执行文件。交互扩展可以从脚本环境(如:matlab或python)进行连接,在这些脚本环境中没有可使opticstudio启动的已编译可执行文件。

交互扩展从外部脚本环境交互地控制opticstudio界面。本文将解释如何将opticstudio与交互扩展连接起来。

创建交互扩展脚本

要创建连接到交互扩展的编程模板,请单击:编程 ( programming ) > python >交互扩展( interactive extension )。

 

将该脚本放置在zos-api项目文件夹:  ..\documents\zemax\zos-api projects\pythonzosconnection 中。

如果创建了多个交互扩展,那么文件名将按顺序编号。

 

软件将在文件所在位置打开文件选项 ( file explorer ):

连接到交互扩展

要启动交互扩展,请单击“编程 ( programming ) >交互扩展 ( interactive extension )”。

将打开对话框窗口,opticstudio将等待外部应用程序(在本例中是python)连接。

对话框显示opticstudio运行实例的实例id,python在运行多个实例时可以连接到opticstudio的特定实例。

下一步取决于所使用的集成开发环境 (integrated development environment ,ide )。

idle (python自带的原生ide)

右键单击脚本文件

选择“在集成开发环境编辑器中编辑 ( edit in the idle )”、“使用集成开发环境编辑器编辑 ( edit with idle )”python版本

运行代码

交互扩展的状态显示扩展已连接。

现在可以在 python 命令窗口中执行单个命令。例如,可以加载示例文件:

opticstudio 打开的实例将显示加载的文件,python命令窗口将在文件成功加载时返回布尔值“true”。

一旦执行命令,shell中显示 “>>>” 意味着它已经为处理新的命令做好了准备。

pycharm ide:在 pycharm 中打开 pythonzosconnectionx.py 的代码。

点击右键选择“在控制台运行文件 ( run file in console )”:

控制台窗口将指示连接的状态,然后在控制台中执行各个命令。

右侧窗格显示项目可用的变量。

这意味着在使用交互扩展时存在“语法提示 ( intellisense )”。

python也可以执行代码块。例如,打开附件,附件中的脚本摘录自示例文件:" \zemax\zos-api sample code\python\pythonstandalone_01_new_file_and_quickfocus.py "。连接到zos-api的代码行已被删除。

选择脚本。点击右键并选择“在控制台执行所选代码 ( execute selection in console )”。

opticstudio 显示新创建的文件。

控制台显示新的变量:

终止连接

可以通过单击“交互扩展”对话框中的“终止 ( terminate )”来终止连接

或者在python命令窗口中运行closeapplication方法。

其他详情,请垂询光谱时代工程师。