Zemax Programming:开始使用Python

2018-02-01

概要:本文将介绍如何在系统中设置Python,以便运行ZOS-API。Python和pywin32是两个必备的下载,文中开发环境以及Python模块仅做推荐。

另外,由于Python3.6与pywin32存在已知的兼容性问题,小编建议大家安装Python3.5以避免安装中可能存在的问题。

基于COM的语言:pywin32

ZOS-API基于.NET库,需使用win32com与基于纯COM编写的语言,例如Python,进行通信。Python的扩展库pywin32(https://sourceforge.net/projects/pywin32/)能够调用win32com。pywin32库有两个版本,32位和64位。使用32位pywin32处理特定接口时会随机产生问题,因此我们建议Python以及pywin32均使用64位版本。只要pywin32为64位并参考正确的Python架构,则ZOS-API能够通过Python2.X或Python3.X调用。

安装Python

要使用ZOS-API与Python,您需要安装Python和pywin32库,才能允许Python与其他基于COM的Windows应用程序通信。需要注意的是,pywin32并不是Python安装的正式部分,您需要在安装Python之后安装pywin32。最新版本的Python可以在https://www.python.org中找到,pywin32可前往https://sourceforge.net/projects/pywin32/下载。

Python有两个主要分支,2.7.X和3.X,ZOS-API可以与任一分支的32位或64位版本使用。Python2.7.X目前已没有新功能更新,Python组织仅对其安全补丁进行维护。因此,如果您的系统中没有安装Python,建议安装Python3.X版本以获取最新功能。

Python安装完毕后,我们需要更改PATH环境变量使其包含Python路径。可通过单击开始搜索栏,在其中搜索“环境变量”(或系统设置>高级>启动与恢复>环境变量)来完成此设置。

然后单击"New"并进入到Python目录的路径中。单击OK后退出系统属性对话框。



现在,您将能够打开CLI(命令行界面)窗口,并简单地输入“python”来调用刚刚安装的路径中的python可执行文件。

如果你安装的Python为64位版本,则pywin32文件名会显示为pywin32-220.win-amd64-py3.x.exe,若你安装的Python为32位版本,则pywin32文件名会显示为pywin32-220.win32-py3.4.exe。

检查是否安装pywin32模块的方法:CMD>Python>help(‘modules’)


推荐模块

Python的vanilla版本很强大,Python最好的功能之一是它的开源特性和可以将模块导入到脚本中。为了在Python中调用类似matlab的功能,可以安装matplotlib(https://en.wikipedia.org/wiki/Matplotlib),它是一个绘图库,基于NumPy,是一种针对Python的数值数学扩展。

要安装matplotlib,你可以简单地使用pip,它是包含了标准Python安装的安装包。注意,旧版本的pip不会成功安装matplotlib,因此你可能需要在安装matplotlib之前更新pip。如果你已经安装好了Python,那么你可以跳到下面的第3步。

01.使用以下CLI命令来检查版本

python-mpip--version

02.使用以下CLI命令升级pip

python-mpipinstall--upgradepip

03.使用以下CLI命令安装matplotlib

python-mpipinstallmatplotlib

此时,你将得到如下图所示命令窗口:


集成开发环境(IDE)

尽管能够用任何文字编辑器来编写Python脚本(如NotepadorNotepad++),但我们强烈建议用户使用集成开发环境(IDE)来编写Python脚本。这是因为IDE能够调试Python脚本并查看给定对象的属性,类似于VisualBasic™或Matlab™中的自动补全代码。小编使用的是由JetBrains提供的PyCharm共享版IDE,PyCham支持代码补全,语法问题检查,内置控制台,断点纠错工具。此IDE的最新版本能够检查ZOS-API环境中任一对象的属性,绝对是最好用的版本之一。

举例来说,要检查NSCRayTrace的属性,可以在出现该对象(NSCRayTrace)代码行的下方左侧栏中(行序号旁边)鼠标左击插入断点,再在主窗口的右击菜单栏中选择“Debug”(而不是选择“Run”)。


在返回的变量列表中(Variables),可以展开变量,在下图中展开了_prop_map_get_的属性。


初次运行PyCharm提示需要配置interpreteroption时,点击File>Settings>Project:>Projectinterpreter,再点击AddLocal来添加Python。


Python故障排除

pywin32封装

任何时候当改变OpticStudio或者Python的环境时,将有可能破坏pywin32的封装。每个样本代码在脚本的最开始都有注释说明帮助用户重新注册封装,详细的说明如下:

1.导航至路径{Python}Libsite-packageswin32comgen_py*.*并删除目录(gen_py)下的所有文件。

2.开启Windows“cmd”窗口(win+R>输入“cmd”>回车)。

3.更改路径到自己的文件夹{PythonEnv}Libsite-packageswind32comclient(如,cdC:UsersJulia.ZhangAppDataLocalProgramsPythonPython36Libsite-packageswin32comclient)

4.输入“pythonmakepy.py”并按回车。当SelectLibrary窗口出现时,使用Ctrl键同时选择ZOSAPI与ZOSAPI_Interfaces并点击OK。


示例文件

在OpticStudio的安装过程中包含了范例文件,位于安装路径下的ZemaxZOS-APISampleCode文件夹中,其中部分文件不需要安装其他模块就可运行(如01和03),但如04和10文件需要安装NumPy和matplotlib这两个模块。建议运行示例文件之前首先安装matplotlib模块。


分享到:
相关阅读
文章评论
© 2018 一灯头条 t.ledcax.com 一灯网 浙ICP备17043565号
违法和不良信息举报:lixuda@ledcax.com