【Zemax Programming】开始使用 Python
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【Zemax Programming】开始使用Python
本周的主题是:开始使用Python
概要
本文将介绍如何在系统中设置Python,以便运行ZOS-API。
Python 和pywin32 是两个必备的下载,文中开发环境以及Python模块仅做推荐。
另外,由于Python 3.6 与pywin32 存在已知的兼容性问题,小编建议大家安装Python 3.5 以避免安装中可能存在的问题。
基于COM 的语言:pywin32
ZOS-API 基于.NET 库,需使用win32com 与基于纯COM 编写的语言,例如Python,进行通信。
Python 的扩展库
pywin32(https:///projects/pywin32/)能够调用win32com。
pywin32 库有两个版本,32 位和64 位。
使用32 位pywin32处理特定接口时会随机产生问题,因此我们建议Python 以及pywin32 均使用64位版本。
只要pywin32 为64位并参考正确的Python 架构,则ZOS-API 能够通过Python 2.X 或Python 3.X 调用。
安装Python
要使用ZOS-API 与Python,您需要安装Python 和pywin32 库,才能允许Python 与其他基于COM 的Windows 应用程序通信。
需要注意的是,pywin32 并不是Python 安装的正式部分,您需要在安装Python 之后安装pywin32。
最新版本的Python 可以在https:// 中找到,pywin32 可前往https:///projects/pywin32/ 下载。
Python 有两个主要分支,2.7.X 和3.X,ZOS-API 可以与任一分支的32 位或64 位版本使用。
Python 2.7.X 目前已没有新功能更新,Python 组织仅对其安全补丁进行维护。
因此,如果您的系统中没有安装Python,建议安装Python 3.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:///wiki/Matplotlib),它是一个绘图库,基于NumPy,是一种针对Python 的数值数学扩展。
要安装matplotlib,你可以简单地使用pip,它是包含了标准Python 安装的安装包。
注意,旧版本的pip 不会成功安装matplotlib,因此你可能需要在安装matplotlib 之前更新pip。
如果你已经安装好了Python,那么你可以跳到下面的第3步。
01 使用以下CLI命令来检查版本
python -m pip --version
02 使用以下CLI 命令升级pip
python -m pip install --upgrade pip
03 使用以下CLI命令安装matplotlib
python -m pip install matplotlib
此时,你将得到如下图所示命令窗口:
集成开发环境(IDE)
尽管能够用任何文字编辑器来编写Python脚本(如Notepad or Notepad++),但我们强烈建议用户使用集成开发环境(IDE)来编写Python脚本。
这是因为IDE能够调试Python脚本并查看给定对象的属性,类似于Visual Basic™或Matlab™中的自动补全代码。
小编使用的是由Jet Brains提供的PyCharm 共享版IDE,PyCham支持代码补全,语法问题检查,内置控制台,断点纠错工具。
此IDE的最新版本能够检查ZOS-API环境中任一对象的属性,绝对是最好用的版本之一。
举例来说,要检查NSCRayTrace的属性,可以在出现该对象(NSCRayTrace)代码行的下方左侧栏中(行序号旁边)鼠标左击插入断点,再在主窗口的右击菜单栏中选择“Debug”(而不是选择“Run”)。
在返回的变量列表中(Variables),可以展开变量,在下图中展开了
_prop_map_get_的属性。
初次运行PyCharm提示需要配置interpreter option 时,点击
File>Settings>Project:>Project interpreter,再点击Add Local 来添加
Python 。
Python故障排除
任何时候当改变OpticStudio 或者Python 的环境时,将有可能破坏pywin32 的封装。
每个样本代码在脚本的最开始都有注释说明帮助用户重新注册封装,详细的说明如下:
导航至路径{Python}\Lib\site-packages\win32com\gen_py\*.* 并删除目录(gen_py)下的所有文件。
开启Windows “cmd”窗口(win+R>输入“cmd”>回车)。
更改路径到自己的文件夹{PythonEnv}\Lib\site-
packages\wind32com\client\ (如,cd
C:\Users\Julia.Zhang\AppData\Local\Programs\Python\Python36\Lib\site-packages\win32com\client)
输入“python makepy.py” 并按回车。
当Select Library窗口出现时,使用Ctrl键同时选择ZOSAPI与ZOSAPI_Interfaces并点击OK。
示例文件
在OpticStudio 的安装过程中包含了范例文件,位于安装路径下的Zemax\ZOS-API Sample Code 文件夹中,其中部分文件不需要安装其他模块就可运行(如01和03),但如04 和10 文件需要安装NumPy和matplotlib 这两个模块。
建议运行示例文件之前首先安装matplotlib 模块。