如何给非序列结构添加镀膜和散射

在非序列模式下,我们经常需要将散射轮廓或镀膜应用到物体的特定表面。这些属性可以在3D非序列对象的任何表面上定义。本文解释了OpticStudio中Face Number的概念,讨论了如何在OpticStudio中设置这些属性,并回顾了在此过程中可能出现的一些问题。

作者 Mark Nicholson

简介

当模拟光在非序列模式下的传播时,为了在分析过程中获得最高的精度,每个对象必须有精确的涂层和散射定义。OpticStudio为用户提供了对象“面”的这种能力。用户可以渲染预加载到程序(参数化对象)或手动导入(CAD数据文件)的3D体积。这些3D物体有分配给不同表面的人脸数字,使用户能够单独编辑涂层和散射数据。

在本文中,我们将讨论如何在面上放置涂层和散射函数,并说明如何为这两种对象类型定义这些面。

参数化物体

参数化物体:例如在Standard Lens中可以根据需要自行定义元件的前曲率半径、后曲率半径、中心厚度以及径向孔径。OpticStudio提供了大量的参数化对象,包含全息、衍射、圆柱体以及双锥体等等。在参数化对象中,面的定义通常很简单。例如,一个标准镜头很容易被理解为有一个前抛光面,一个后抛光面,和一个粗糙的,未抛光的圆柱体连接两个抛光面。

假设一个Standard Lens结构共有3个Face(编号从0开始),其NSC Shaded Model图如下所示:

The_Standard_Lens_Object  The_Coat_Scatter_Dialog

对于任何对象,帮助文件描述该对象的面,镀膜/散射标签列出面的“友好名称”。一旦你选择了一个面,你可以选择三种不同的方式让光线与它互动。

Face_Defaults

如果选择“物体默认(Object Default)”,则该Face的反射率由该对象玻璃材料的折射率、该Face另一侧的物质折射率、Face上面的镀膜(稍后更多细节)、入射光波长、偏振态以及入射角决定。也可在该Face上定义散射属性。

如果选择“反射(Reflective)”,则该Face的表面属性类似于“镜面”。不论光线从这个Face的哪一侧接触,都只会被反射。除此之外,镀膜与散射分布的效应都和往常一样处理。

如果选择“吸收(Absorbing)”,则任意一条入射的光线入射到该面后都会停止追迹。不会应用镀膜以及散射模型。

本文我们都选择“物体默认(Object Default)”。

选择好Face后,任何载入到系统中的镀膜都可以通过膜层(Coating)下拉菜单设置。OpticStudio有完整的偏振光线追迹以及分析功能。任何偏振态的光源都可以设定,OpticStudio会考虑透射、反射、吸收、偏振态、双向衰减(Diattenuation)以及相位延迟(Retardance)。

镀膜是由任意层数、任意材料组成的,每一层材料都有各自的复折射率以及完整的色散模型。基板材料可以是玻璃、金属也可以由使用者自己设置。OpticStudio可以直接从“The Essential MacleodFilm Star ”软件以及其他薄膜设计软件中直接导入镀膜定义。OpticStudio会自动在光线从空气到材料以及从材料到空气两种情况之间逆转膜层的顺序,使用者不需要额外定义“镜像”的膜层。

如果无法取得原始的镀膜,我们也可以通过输入不同波长、不同入射角效率的表格信息来定义镀膜。或是使用IDEAL理想膜层来简化定义所有角度与波长的反射与透射。在有详细膜层信息后,我们就可以根据入射光的偏振态、波长以及角度来推算双向衰减率、相位、相位延迟、反射、透射或是吸收等信息。

设定好镀膜后,我们还需要设定散射模型。在OpticStudio中,可用的散射模型包括Lambertian、Gaussian、ABG、ABG File、BSDF、IS Catalog Scatter以及User-Defined。

举例来说,透镜的前表面应该具有良好抛光,而且为了抗反射前表面应该有一层四分之一波长的MgF2镀膜。在OpticStudio预设中就有这样的一个镀膜“AR”。如要在Face 1 (透镜前表面)上面设置AR,可以按下图设置:

Front_face_of_the_lens

Face 0代表侧表面,通常会是无抛光,并且没有镀膜,因此我们可以有如下设置:

Side_face

CAD 物体

由导入的数据文件定义的对象:一种基于文件的对象包括常见的CAD对象(如STEP、IGES、SAT、STL等格式)。这些对象有可能是多面体也可能是平滑连续曲面(或是两者皆有分布在不同区域)。当用数据文件定义对象时,定义“面”通常更复杂。即使是一个简单的面镜也可能是由许多面组成的,人类观察者可以清楚地看到这些面组成了一个面,尽管对那张脸的数学描述可能非常复杂。当涉及复杂的CAD对象时,我们可能要处理许多兆字节的数据,包括平面、曲线、样条等段。

多种CAD软件,诸如 SolidWorksCreo Parametric 和 CATIA 可以使用多种 CAD 交换格式将文件导入OpticStudio,极大地扩大了用于光学仿真的模型物体的范围。 

但仍有几点值得注意:第一,CAD文件一般很大,仿真中使用的CAD文件越多、越大则计算时间越长。第二,CAD软件导出的数据的面的顺序经常是混乱的,所以大概需要额外的步骤将有意义的面挑出。

尽管存在更复杂的例子,但我们的讨论还是聚焦于透镜支架的CAD文件。

Mobile_phone_lens

该对象包含55个独立的CAD曲面,这些曲面是CAD程序用来描述对象的基本单元。更糟糕的是,它们没有按任何顺序列出,所以即使知道CAD曲面45在哪里,也无法知道CAD曲面46的位置。

透镜支架或光学系统中的大多数其他机械部件,往往不能用相同的表面特性来表示。在这个例子中,让我们假设内部和侧面有低反射/散射(也许它们是黑色的阳极氧化铝),而外部表面是未抛光的(也许它可以用朗伯散射模型来模拟)。为了做到这一点,我们需要将正确的散射属性应用到55个表面。

显然没有人想要手动编辑55个CAD曲面!另外,其他CAD对象可能会大得多。基于这个原因,OpticStudio为您提供了如何将OpticStudio面分配到CAD表面的有用选项。这是由导入对象的面类型属性控制的。它有这些可能的设置:

  • Face Mode = 0: 所有的表面都被指定为面号0。整个物体只有一个面。镀膜和散射特性可以同时分配到所有的面。
  • Face Mode = 1: 在用户定义的角度公差范围内,所有边缘沿非零长度曲线相交且沿接触曲线法向量平行的曲面被分配一个公共面号。角度公差由面角(参数8)定义。这种模式允许控制面被编号的精细程度。如果面角设置为一个大值(如180),那么所有触摸的面将共享一个共同的数字。较大的面角产生较少的独特面。
  • Face Mode = 2: 所有表面都是唯一编号的。这种模式产生最大数量的唯一面。
  • Face Mode = 3: 保留导入文件中定义的面号。一些CAD文件,比如那些由OpticStudio创建的文件,已经定义了面编号。如果OpticStudio识别了面编号,它们将被使用。如果OpticStudio没有检测到面编号,将按照face Mode = 2进行编号。
  • Face Mode = 4: 在CAD文件中定义的每个单独对象的所有表面都分配了一个公共的面号。当使用一个CAD文件定义多个对象时,此选项用于将一个属性应用于每个对象的所有表面。

默认的导入方法是Face Mode 2,这样所有的表面都是唯一标识的。这使得自定义指定对象的面具有最大的灵活性,所以我们将保持这个设置

注意:这部分有55个CAD表面,但只有50个面可以定义一个单一的对象。任何超过50将默认为Face 0定义。

在这个案例下,我只想使用两种表面处理来定义镀膜/散射特性:一种是抛光良好,低散射,抗反射镀层,另一种是未镀膜,高散射。为此,我打开CAD对象的对象属性,并导航到CAD选项卡。在Surface to Face Mapping对话框中,我们可以看到所有CAD曲面的列表,以及每个曲面当前映射到的面编号:

Surface-to-Face-Mapping-dialog-box

在启动Object Viewer之前,我们选择Viewer highlight: By Surface。然后按“View Current Object.”。

Object_Viewer

就像其他3D查看器一样,您可以左键点击和拖动,以及使用鼠标旋转轮来按您希望的方向定位对象视图。然后,在“非序列编辑器对象属性”中,按“选择全部”。物体查看器中的所有CAD表面现在都在表面到面映射和物体查看器中高亮显示。

The_Surface_to_Face_Mapping_and_the_Object_Viewer

选择“更改为->”将更改所有CAD曲面,使其与Face 0相关联。

Non-sequential_component_editor

最后,选择清除所有,这样就没有表面被高亮显示。物体的所有表面都有相同的面编号。然而,我希望未抛光的面有一个不同的面编号:例如面1。在对象查看器中,我只需用鼠标在对象上点击,就可以轻松地选择包含该对象的反射、未抛光区域的所有面(在本例中,面11和面22)。在Surface to Face Mapping窗口中选择这些表面。选择这些选项后,使用“更改为->”功能将它们设置为Face 1。

Unpolished_faces_number

现在,我们可以看到,Face 0代表了除表面外的所有面。

All_surface_excluding_the_outer_surface

用鼠标在对象查看器上点击想要的面比在对象属性…CAD的列表中选择面要容易得多。这个CAD对象仍然有55个表面,但它现在只包含两个面,我可以像以前一样添加涂层和散射功能。为了继续这个例子,我可以在Face 0(对象的内部面)添加一个Black Anodized散射模型,也可以在Face 1(外部面)添加一个lambert散射模型。

Adding_scatter_models

其他基于文件类型的物体

虽然CAD对象可能是最重要的,但它们并不是OpticStudio支持的唯一基于文件的对象。OpticStudio还支持由数据文件定义的多边形对象和表格对象。这些物体通常是多面物体,尽管有些物体,如菲涅耳物体,是旋转的物体。

对于多边形对象,面数据包含在用于创建对象的数据文件中。多边形对象的详细描述在OpticStudio的程序内帮助文件:安装选项卡…编辑组(设置选项卡)…非序列对象编辑器…非序列几何对象…多边形对象。每个矩形或三角形面都可以分配一个面号。对于列表对象,只有一个面被分配给整个对象。

KA-01354

这篇文章有帮助吗?
1 人中有 1 人觉得有帮助

评论

0 条评论

登录写评论。