ZHA为了使光学工程师在分享设计档案的同时,能够隐藏特定的内部信息,SYNOPSYS 加入了黑盒子( Black Box Lens ) 的功能。这篇文章说明了如何在模拟软件中,将部分或整个光学系统包装成黑盒子的形式,以及如何在后续的光学模拟中使用黑盒子进行设计、优化和分析。
在光学设计的流程中,客户和供应商有时候会需要可进行光线追迹( ray-traceable )的档案来完成任务。另一方面,在设计者的立场上,一些有关公司智慧财产权的信息是不能被公开的。在这种情况下,后续的作业很难只依靠光瞳大小( pupil size )、成像位置( image location)等有限的信息继续进行设计。为了有效解决类似的问题,SYNOPSYS 提供了黑盒子( Black Box Lens )工具。SYNOPSYS 可以创建一个加密的镜头文件,该文件可以在另一个 RLE 文件中以隐藏镜头数据的方式引用。镜头将像往常一样工作,可以用光线追踪,但加密部分的数据不能列出或显示在镜头图纸上。通过这种方式,您可以将专有镜头信息发送给另一个用户,他可以评估性能或将您的镜头插入到他的系统中,但他无法在清单或图表中看到该部分的数据
这篇文章将说明如何在设计中产生及使用黑盒子( Black Box Lens )的功能。
设计者可以随时在光学系统中加入黑盒子( Black Box Lens Surface )的结构,但我们通常会选择在设计完成后再进行这个步骤。要创建 blackbox 文件,镜头必须是最新的。然后输入命令:
BBOX JSSS JSPS 'FILENAME'
程序将提示输入可用于解密文件的密码。输入的密码和文件名必须带有引号,并且不能超过14个字符。
程序报告文件已创建,并告知涉及的曲面数。从表面 JSSS 到 JSPS 的当前透镜部分将被编码并写入命名文件,该文件名为 FILENAME.BBX。您可以将该文件发送给第三方,然后第三方可以将数据插入他的系统。
加密部分必须以平面开始和结束。光线将被追踪到第一个表面,最后一个表面。删除所有拾取并在编码部分中解决是一个好主意,因为插入到不同系统时的结果是不可预测的,尽管文件可以在该文件本身中拾取数据。换句话说,编码部分应该是完全独立的。此外,如果该部分中的任何材料都被分配了固定的折射率值——并且插入该材料的系统使用不同的波长,那么这些折射率值将是不正确的。仅对表面数据进行编码;不包括系统数据,包括波长、对象规格、停止声明等。
在一个 RLE 文件中,要插入数据,请使用格式:
SN BBOX 'FILENAME'
用户现在可以使用添加的元件对系统进行光线跟踪。不能更改 BBOX 部分中的任何镜头数据,但可以指定组前后的 TH。
当您将数据文件发送给另一个用户时,请确保记录文件中的曲面数量以及停止位置(如果它在该部分中)。然后他将知道如何在添加这些曲面时构造新系统。
有一些限制。不能编辑或翻转加密的表面,如果反转整个镜头,则无法保存该文件并希望重新打开,因为加密文件中的数据不会反转。同样,如果变焦系统,则无法成功保存和获取。由于 Synopsys 的许多操作都是在后台保存和获取镜头,因此这些操作不会返回已变焦的镜头。换句话说,不要用 BBOX 部分反转或变焦系统。
要解密文件,请输入命令:
BBOX DECRYPT
程序将提示输入密码,如果密码与原始密码匹配,则文件将被解密,然后变为普通镜头文件。如果在系统中声明多个 BBOX 部分,则解密功能将被禁用。
首先打开镜头文件 Koso.RLE,然后制作一个表面 2 到 20 的黑盒版本,叫做 BBTEST。密码是 QWERTY。(本文所使用的文件都可以在附件中找到。)
镜头文件如下图所示:
打开宏文件 BBox.MAC,宏文件如下图所示:
现在我们创建了一个新的系统,从表面 6 开始。我们在透镜组前后分配一个所需的空间域,在这种情况下,粘贴原始透镜中的值。我们还将停止点指定给原始曲面,即现在的数字 15。打开文件 Black Box.MAC,如下图所示:
同一个镜头现在是最新的,但您无法在列表或图形中看到数据。射线路径正确显示在组前表面和组后表面。
此功能的唯一目的是隐藏专有镜头文件数据,使其不被发送 BBX 文件的人看到。SYNOPSYS 的大部分功能将在这些系统上工作,但受影响表面的输出将被抑制。