吾爱光设

 找回密码
 注册
会员须知
会员须知
实用帮助
实用帮助
查看: 904|回复: 4

[求助] 在定义相控表面(例如二元表面)时,Zemax 中的用户定义表面似乎无法计算 EFFL

[复制链接]
  • TA的每日心情
    开心
    2024-7-12 09:18
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    4

    回帖

    0

    积分

    小白

    积分
    0
    发表于 2024-7-12 09:22 | 显示全部楼层 |阅读模式
    大家好,

    我试图使用用户定义的表面在 Zemax 中构建超透镜,首先使用 C++ 开发了一个用于调制目的的 DLL 并将其加载到 Zemax 中,不过令人疑惑的是,Zemax 似乎无法计算包含相位调制表面的系统。

    为了排查原因,我使用Zemax内置的二元面(Binary2)和用户定义的面(使用Zemax自带的us_binary.dll)创建了一个简单的镜头模型(如图1和图2所示),发现Zemax优化正确并且在使用Binary2表面时能够计算EFFL,但它不适用于us_binary.dll表面,它优化正常但EFFL总是显示1e+10,这是怎么回事?

    我很想知道为什么会出现这种情况,毕竟根据用户手册和us_binary具体实现代码,我发现Binary2表面实现和us_binary.dll几乎是一样的,造成这种差异的原因是什么?

    之所以需要计算EFFL,是因为我要设计一个变焦光学系统,需要使用EFFL进行约束。

    非常感谢解答。




    本帖子中包含更多资源

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

    ×
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-7-12 09:18
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    4

    回帖

    0

    积分

    小白

    积分
    0
     楼主| 发表于 2024-7-12 12:21 | 显示全部楼层
    本帖最后由 Heene 于 2024-7-12 12:32 编辑

    自己解决啦!
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-11-22 22:36
  • 签到天数: 495 天

    [LV.9]以坛为家II

    3

    主题

    150

    回帖

    28

    积分

    新手

    积分
    28
    发表于 2024-7-12 09:42 | 显示全部楼层
    你这是正版的license?问问zemax原厂的工程师吧,,,
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-7-12 09:18
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    4

    回帖

    0

    积分

    小白

    积分
    0
     楼主| 发表于 2024-7-12 09:48 | 显示全部楼层
    jacklove9 发表于 2024-7-12 09:42
    你这是正版的license?问问zemax原厂的工程师吧,,,

    不是,也是“学习版”的,要是正版的就好了,可以直接在Zemax社区提问,我连Zemax社区号都没😭
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-7-12 09:18
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    4

    回帖

    0

    积分

    小白

    积分
    0
     楼主| 发表于 2024-7-12 12:06 | 显示全部楼层
    更多信息
    猜测:Zemax中焦距的计算取决于表面的形状,因为我尝试将第一个表面的曲率半径更改为100后,我计算出EFFL为193.498,之后无论如何我改变了 us_binary 表面的相位系数,尽管光线发生偏转,EFFL 仍然保持不变(仍然是 193.498)。 Binary2 表面应该在实现中添加一些代码来修改或均衡 EFFL 计算。但具体是如何实现的呢?

    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

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

    本版积分规则

    联系我们|本论坛只支持PC端注册|手机版|小黑屋|吾爱光设 ( 粤ICP备15067533号 )

    GMT+8, 2024-11-24 07:45 , Processed in 0.187500 second(s), 26 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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