zemax opticstudio com api(zos-api)的python接口

PyZOS的Python项目详细描述


……图片::https://raw.githubusercontent.com/pyzos/pyzos/master/doc/images/pyzos_banner_small.png


python zemax opticstudio-api
----


目标
但是,直接通过pywin32在python中使用zos com api是不利于实现的,而且感觉很不符合语法,原因如下:

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

解决方案
~使用正在运行的opticstudio用户界面启用交互功能(`see demo<;https://www.youtube.com/watch?v=ot5crjmxc_w>;`` _u)
2.更好地反省对象的属性和方法
3。通过< BR/> *减少复杂度,提供一组自定义的助手方法,该方法在单个或最少可能的步骤(BR/> *)中完成共同任务,提供一个框架,以方便地添加与现有的ZOS对象无缝匹配的自定义方法
*管理适当类型的ZOS对象的铸造,以便我们能够集中精力解决问题。光学设计问题
4.在不以任何方式限制或遮挡ZOS-API的情况下执行1-3
5。尽可能用最少的编码来做1-3(也就是说,通过很少的操作来做很多事情)


使用pyzos库对zos-api的这些*增强*记录在本(正在进行的工作)
“jupyter笔记本”lt;http://nbviewer.jupyter.org/github/pyzos/pyzos/blob/master/examples/jupyter_notebooks/00撸增强撸u-api撸interface.ipynb>;`。



示例用法代码::python

1.0)
wave=zos.const.wavelengthpreset_0p587
sdata.pwavelength.selectwavelengthpreset(wave)

osys.zpushlens(1)将镜头从zos com服务器复制到可视ui应用程序

osys.zgetrefresh();将更改从可视ui应用程序复制到zos com服务器


在jupyter笔记本中使用的pyzos'here<;https://github.com/pyzos/pyzos/tree/master/examples/jupyter_notebooks>;` ` `.



install pyzos from pypi
“从pypi安装pyzos”

代码::python






有兴趣参与吗?
使用库并提供反馈、建议和报告错误
2。添加您为项目编写的其他人可以使用的自定义函数
3。帮助编写单元测试,添加测试用例
4。让别人知道pyzos(如果你觉得有用的话)



dependencies
''''''''''''''''''


核心pyzos库只依赖于标准的python库。

1.python 3.3及以上版本/python 2.7;32/64位版本
2。` Pywin32<;http://sourceforge.net/projects/Pywin32/>;`

所有依赖项都可以使用Anaconda Python发行版安装。

//opensource.org/licenses/mit>;`。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用prepared语句在oracle中插入日期   对点具有双重值的java   使用多个通配符的java请求映射   java Springboot为什么要设置springbootstartertomcat   除了对JavaBean的请求之外,还使用servletContext的servlet   java如何清除OCSID。返回到池的连接时的CLIENTID JDBC客户端信息属性   将整型数组转换为光栅Java   java使用对象引用作为互斥锁   java为什么在编程语言中使用sin函数返回奇怪的sin值不像计算器   java如何将JButton链接到对象并调用相关方法   php用Java发送POST数据   导航属性的java模拟加载   java多个活动错误Android试图对空对象引用调用虚拟方法“”   java Android更改ActionBar文本颜色   如何使用带有java反射且不带开关的parant引用创建子类