首页/文章/ 详情

【Zemax Programming】开始使用 Python

3年前浏览1832

【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://sourceforge.net/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://www.python.org 中找到,pywin32 可前往 https://sourceforge.net/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://en.wikipedia.org/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 模块。


Zemax
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-06-03
最近编辑:3年前
武汉宇熠
光机电领域优秀供应商
获赞 342粉丝 242文章 856课程 9
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈