Zemax光学设计论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 807|回复: 0

[讨论] 【pyzos】ZOS-API的Python封装

[复制链接]

2

主题

52

帖子

1025

积分

逍遥游侠

Rank: 5Rank: 5

积分
1025
发表于 2020-6-29 09:49:02 | 显示全部楼层 |阅读模式
本帖最后由 格雷提斯特 于 2020-6-29 10:03 编辑

ZOS-API是OpticStudio的出色接口。 但是,直接通过PyWin32在Python中使用ZOS COM API是不利的,并且由于以下原因这个API非常不Python。



存在的问题
1. zos对象的大量*property*属性是不可内省的,
2. 一些接口对象在使用前需要进行适当的类型转换,但是
3. 接口相当复杂(虽然灵活),需要大量的编码。
4. ZOSAPI只在独立模式下工作。这样可以防止用户与正在运行的opticstudio用户界面交互,并立即观察对设计所做的更改。

解决方案
PyZOS背后的理念是使ZOS-API在Python中更容易使用
1. 启用与正在运行的opticstudio用户界面交互性
2. 对象属性和方法的自省特性更好
3. 通过以下方式减少复杂度:
   > 提供一组自定义帮助方法,以单个或尽可能少的步骤完成常见任务
   > 提供了一个框架,可轻松添加与现有ZOS对象无缝结合的自定义方法
   > 以合适的方式管理ZOS对象类型cast,以便集中精力解决光学设计问题
4. 在不限制或妨碍ZOS-API的情况下执行实现上述三个方面的特性
5. 尽可能用最少的编码来实现前三个方面的特性(也就是说,通过很少的操作来做很多事情)

项目地址:https://github.com/xzos/pyzos



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Zemax光学设计论坛 ( 沪ICP备18034464号-3 )

GMT+8, 2020-11-1 08:57 , Processed in 0.086931 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表