Ansys Speos丨杂散光分析 – 自动化脚本
附件下载
联系工作人员可获取附件:ueotek_market
简介
光学系统的杂散光分析及相关图像质量评估需要同时考虑透镜几何形状及其约束条件的光机组件。杂散光可能源自多种因素,包括镜面反射、散射、边缘衍射以及与系统中光机元件的相互作用。由于这种多样性,分析过程涉及识别光学系统中所有潜在的杂散光贡献来源,并尽量减少(或理想情况下消除)它们对系统性能的影响。
仿真是进行可靠杂散光分析的关键。然而,正确建立模型并追踪杂散光问题的根本原因通常都是具有挑战性的任务。
因此,自动化是提高可重复性、减少人为错误以及加速迭代式杂散光研究的关键。
本文为光学工程师和杂散光工程师提供了三个定制的 Speos/SpaceClaim 脚本,这些脚本旨在自动化杂散光分析工作流程中的关键步骤。
为了充分发挥这些脚本的作用,您应熟悉以下内容:
● Ansys Speos与SpaceClaim 25R2 或更高版本(CAD集成界面)
● 物理相机仿真
● 光学设计数据交换(Optical Design Exchange)
● 这些脚本旨在直接集成到 SpaceClaim-Speos 界面中,从而提高易用性并减少手动设置时间。
这四个脚本分别处理以下任务:
1.ODX 混合导入器脚本(ODXHybrid Importer Script)
2.参数化表面光源设置脚本(Parametric Surface Source Setup Script)
3.物理相机设置脚本(Physical Camera Setup Script)
4.Speos 头鬼像取器脚本(Speos Lens Ghost Extractor Script)
重要提示:本文附件中提供了上述脚本。所有脚本均包含在各自名称对应的独立文件夹中,并依据MIT许可证提供,该许可证同样包含在附件中。
如何在 Speos 中集成 SpaceClaim 脚本
SpaceClaim 脚本(*.scscript)可以存储在特定文件夹中,并通过 Ansys Speos 用户界面直接调用。为此,只需将附件中各个对应文件夹内的 *.scscript 文件解压出来,并将其放入以下根目录中:%appdata%\SpaceClaim\Published Scripts(或直接搜索路径:C:\Users\用户名\AppData\Roaming\SpaceClaim\Published Scripts)完成此步骤后,需要重新启动 Speos。

随后,脚本图标将自动出现在 Speos 界面中,可通过 “工具”选项卡 > “脚本” 找到,名称与所存储的脚本文件名一致。

如果偏好手动执行脚本,则需要通过 SpaceClaim 脚本编辑器打开该脚本,该编辑器可通过 “设计”选项卡 > “录制” > “脚本” 找到。

脚本执行 – 使用建议与最佳实践
为确保 SpaceClaim 脚本的正确执行并最大程度减少错误,我们强烈建议遵循以下最佳实践:
● 执行脚本时,建议不要同时打开多个 Speos 项目。
● 脚本执行期间,强烈建议您按照 Speos 界面中逐步显示的提示说明进行操作。
● 当需要用户输入时,您必须点击 “完成”图标(见下图)来确认选择。请注意,“中止”图标 并不会停止脚本,它仅取消当前的用户输入选择,并改用默认值。
用户输入可能会在 “选项–选择”选项卡 中请求,也可能通过 Speos 界面中的选择操作来请求。

ODX 混合导入器脚本
ODX 混合导入器脚本 可自动将光学系统从 Zemax OpticStudio 传输至 Speos。该脚本扩展了标准 ODX 功能,能够将不受支持的 ODX 对象以 CAD 几何体的形式导出,并在 Speos 中自动重建光学系统,从而显著减少手动数据准备和导入的工作量。

先决条件
● Ansys Zemax OpticStudio 2026 R1 和 Speos 2026 R1
● 在非序列模式(Non-Sequential Mode)下创建的 Zemax OpticStudio 项目
● 具备可用的光学设计数据交换(ODX)工作流程
● 已安装 Speos,并且能够访问光学材料库(Optical Material Library),该库通常位于以下路径:
C:\ProgramFiles\ANSYSInc\v261\OpticalProducts\OpticalLibraries
注意:如果使用了自定义库位置,可以直接在脚本中修改 Speos 材料库的路径。
描述
该脚本将 ODX 导出、CAD 转换和 Speos 导入整合为一个全自动化的单一工作流程。附件中提供了该工作流程的演示视频。
该工作流程执行以下操作:
● 使用 ODX 工作流程导出受支持的光学元件。
● 将不受支持的 OpticStudio 对象转换为 STEP 几何体。
●将ODX 数据和生成的 CAD 几何体同时导入 Speos。
根据可用的玻璃目录映射重建光学系统并分配材料属性。这使得用户能够以最少的人工干预,将完整的光学模型从 OpticStudio 传输至 Speos。
已知限制
● 仅支持非序列模式(Non-Sequential Mode)下的项目。
● 并非所有表面类型和物体类型都与 OpticStudio 的 CAD 导出功能兼容(例如 Binary 2 等)。
● 光学镀膜不会被转换。
● 分配给导入的 STEP 几何体的表面光学属性仅限于“Mirror”(反射镜)或 “Optical Polished”(光学抛光)。
● 仅支持 Speos 光学材料库中已有的材料。
参数化面光源自动设置脚本
先决条件
● 用于参数化光源生成的参考坐标系。
该脚本执行以下操作,用户可通过输入自定义参数值来调整光源生成以适应其特定使用场景(默认情况下会提供预设的输入值):
1.首先,脚本会要求用户为太阳光源生成选择一个参考坐标系。该坐标系的轴向必须遵循以下要求,以确保参数化光源能够正确生成:Z轴 必须与系统的光轴方向一致,且其正方向平行于光的传播方向。结合 X轴 和 Y轴,方位角(azimuth)和俯仰角(elevation)将共同定义每个光源相对于光学系统的位置(见下图)。

2.随后,用户可以在两种设置模式之间进行选择:太阳光源定义模式(sun source defined model) 或自定义表面光源模式(custom surface source model)。
如果选择了太阳光源模式,用户将可以指定目标照明区域直径(target illumination area diameter),该参数定义为所需的总照明区域大小,将决定光源的尺寸。目标区域上的目标辐照度值(target irradiance value) 同样由用户定义,此外还可以设置所需的最小和最大方位角与俯仰角(及其对应的步进角度)。完成上述设置后,系统将生成具有太阳光源参数的参数化表面光源。
另一方面,如果选择了自定义表面光源模式,则在上述选项的基础上,用户还需要输入一些额外的参数值:
● 目标区域直径(Aiming area diameter)以及该区域内的目标平均辐照度值(target average irradiance value)(见下图)。
● 表面光源的强度分布角度(Intensity distribution angle)。
● 光谱类型(Spectrum type):可选择单色光(monochromatic)(若选择此项,系统将要求输入波长值)、黑体(black body)(需要输入以开尔文为单位的温度值)或光谱库(library)(用户可通过在“选项-选择”选项卡中输入文件名来加载自己的 *.spectrum 文件)。

3.在前述输入值正确设定后,用户将可以在以下四种不同的扫描方法中选择一种来生成参数化表面光源。根据所选方法的不同,可能还需要输入一些额外参数:
● 水平扫描(Horizontal scan,俯仰角 = 0°):表面光源将仅沿水平轴(y = 0)生成。用户需要输入方位角的起始角度和终止角度,以及每个生成光源之间的步进角度(单位为度)。
● 垂直扫描(Vertical scan,方位角 = 0°):表面光源将仅沿垂直轴(x = 0)生成。用户需要输入俯仰角的起始角度和终止角度,以及每个生成光源之间的步进角度(单位为度)。
● 沿传感器对角线扫描(Scan along the sensor diagonal):在该方法中,光源沿传感器的对角线方向生成。因此,需要输入的参数包括传感器尺寸、扫描的起始角度和终止角度,以及对应的步进角度。方位角和俯仰角将根据这些输入值计算得出。
● 自定义位置(Custom position):用户需要分别输入方位角和俯仰角的起始值、终止值以及对应的步进角度。

4.所有生成的表面光源都可以在仿真树(simulation tree)中找到,它们位于一个名为 “Parametric source surfaces”(参数化光源表面) 的组件下。

注意:扫描终止角度不得设置为零。对于此类情况,建议使用至少 0.1° 的值。
自动化物理相机设置
自动化物理相机设置脚本(AutoPhysCam25R2) 简化了物理相机传感器及其相关仿真的设置和使用流程,从而提升整体用户体验、节省时间并降低工作流程中手动操作带来的出错风险。
先决条件
● 光学设计数据交换(Optical Design Exchange,ODX)组件。请注意,ODX 组件的版本必须与 Speos 组件版本一致,以确保兼容性。
● 包含光机几何结构的 CAD 组件。
● 需包含在仿真中的光源组件(可选)。
该脚本执行以下操作,分为两个主要模块:
自动化设置(Automated setup):
根据用户选择的 .odx 文件、光机几何结构以及作为物理相机传感器创建参考的选定前光学面,全自动完成物理相机传感器的定位和配置。
脚本将生成一个 Speos Lightbox,其中包含 .odx 和光机几何结构及其材料属性。该 Speos Lightbox 可以进行黑盒化处理、加密,并与使用 Speos 物理相机传感器的相机集成商共享,从而确保镜头制造商的 IP 得到保护。
物理相机传感器创建完成后,用户可以选择是否继续进行仿真设置。如果选择继续,脚本将运行第 2 步 — 仿真执行。
仿真执行(Simulation execution):
分两步使用物理相机传感器运行直接或逆向仿真:第一次仿真 “Physcam_no_seq” 生成序列文件(根据 2025R2 及更早版本的要求,需在 CPU 上运行)。
第二次仿真 “Physcam_seq” 使用第一步生成的序列文件以及前 N 个序列的数据来执行并生成结果(兼容 CPU 和 GPU)。
在第二步中,系统将要求用户选择需要纳入仿真的光源,并为两次仿真分别输入需要计算的光线数量。
提示:您可以修改脚本,使其在 GPU 上运行第二次仿真(如果可用的话)。
注意:请注意,针对物理相机传感器的定义,光学设计数据交换(ODX)的默认局部网格划分(local meshing)参数值已被修改。不过,我们强烈建议您根据具体使用场景的需求,对这些参数进行复核和调整。
本文的附件中提供了一个视频,该视频利用“杂散光分析 – 智能手机相机 – Ansys Optics”中提供的 Speos 数据,逐步演示了自动化物理相机设置脚本(Automated Physical Camera)的操作流程。
Speos 镜头杂光鬼像提取工具脚本

● 使用物理相机传感器的仿真。
注意:只有 Speos 2024R1(测试版)及更高版本(2025R1,正式发布版)支持物理相机传感器。
在第一阶段,该脚本通过识别包含用户定义次数的、在同一透镜元件内连续发生镜面反射的光线路径序列,来分析由物理相机传感器生成的 .OptSequence 文件。这种现象通常是全内反射(TIR,Total Internal Reflection)产生的高能量内部镜头鬼像的常见标志。
该脚本提取相关序列并生成一份摘要报告,详细列出所有检测到的鬼像路径序列,并按能量高低排序。同时,它还会生成一个新的、经过筛选的 .OptSequence 文件,其中仅包含识别出的鬼像序列。
鬼像反射序列的可视化
在第二阶段,筛选后的 .OptSequence 文件可与物理相机传感器配合使用(在 GPU 上运行),仅可视化存在问题的鬼像路径。这使得用户能够进行有针对性的分析,并获得高质量、收敛的内部镜头鬼像反射仿真结果。

更多推荐


所有评论(0)