概要Zemax OpticStudio非序列模式的对象是3D实体薄膜和散射模型是3D实体的表面特性。本文将从以下几个方向解释如何给非序列元件添加镀膜和散射非序列对象中“Face number”的概念。如何给不同的Face添加镀膜以及散射模型。从外部导入CAD结构后的一些对镀膜散射性质的处理。简介首先非常感谢Sick AG公司Ingolf Hörsch博士允许我们在本文使用相关光学系统的3D Layout图。非序列模式下的结构是占有一定空间的3D实体一般情况下可以将非序列元件结构分为两种类型参数化对象例如在Standard Lens中可以根据需要自行定义元件的前曲率半径、后曲率半径、中心厚度以及径向孔径。OpticStudio提供了大量的参数化对象包含全息、衍射、圆柱体以及双锥体等等。由导入的数据文件定义的对象包含了多边形对象、鳞甲对象以及常见的CAD对象(如STEP、IGES、SAT、STL等格式)。这些对象有可能是多面体也可能是平滑连续曲面或是两者皆有分布在不同区域。不论是何种类型使用者都需要在这些结构表面上设置薄膜镀层以及散射函数以确保能精确模拟光线的传播。OpticStudio通过“Face”来描述非序列元件上面的特定区域这些区域就是我们加镀膜或是散射模型的最小单位。在参数化对象中Face的定义通常很明显。举例来说Standard Lens这个对象可以很简单的知道他的前表面与后表面都是抛光的而连结两侧的柱状侧面则是未抛光的表面性质。在由导入的数据文件定义的对象中“Face”的定义就比较复杂。即使是一个简单的多面镜面也可能是由很多个小面facet组成的。这些特殊曲面的外型也许看起来是连续的一个Face但可能其实是以复杂的数学描述来完成的。我们加入复杂的CAD对象时OpticStudio可能会需要处理好几MB的数据包含平面、曲面、Spline曲面等等。本文我们将描述如何在一般结构上定义Face使得接下来可以顺利在该结构上设置镀膜与散射模型。参数化对象假设一个Standard Lens结构共有3个Face编号从0开始其NSC Shaded Model图如下所示所有内建的参数化对象都可以在使用者手册或Help系统中找到该结构的Face定义这些对象上的Face通常会有一个方便的“名称”。选择任一个Face你可以决定光线与这个Face相交的三种模式。如果选择“Object Default”则该Face的反射率由该对象玻璃材料的折射率、该Face另一侧的物质折射率、Face上面的镀膜稍后更多细节、入射光波长、偏振态以及入射角决定。也可在该Face上定义散射属性。如果选择“Reflective”则该Face的表面属性类似于“镜面”。不论光线从这个Face的哪一侧接触都只会被反射。除此之外镀膜与散射分布的效应都和往常一样处理。如果选择“Absorbing”则任意一条入射的光线入射到该面后都会停止追迹。不会应用镀膜以及散射模型。本文我们都选择“Object Default”。选择好Face后任何载入到系统中的镀膜都可以通过Coating下拉菜单设置。OpticStudio有完整的偏振光线追迹以及分析功能。任何偏振态的光源都可以设定OpticStudio会考虑透射、反射、吸收、偏振态、双向衰减Diattenuation以及相位延迟Retardance。镀膜是由任意层数、任意材料组成的每一层材料都有各自的复折射率以及完整的色散模型。基板材料可以是玻璃、金属也可以由使用者自己设置。OpticStudio可以直接从“The Essential Macleod”或“Film Star”软件以及其他薄膜设计软件中直接导入镀膜定义。OpticStudio会自动在光线从空气到材料以及从材料到空气两种情况之间逆转膜层的顺序使用者不需要额外定义“镜像”的膜层。如果无法取得原始的镀膜我们也可以通过输入不同波长、不同入射角效率的表格信息来定义镀膜。或是使用IDEAL理想膜层来简化定义所有角度与波长的反射与透射。在有详细膜层信息后我们就可以根据入射光的偏振态、波长以及角度来推算双向衰减率、相位、相位延迟、反射、透射或是吸收等信息。设定好镀膜后我们还需要设定散射模型。在OpticStudio中可用的散射模型包括Lambertian、Gaussian、ABG、ABG File、BSDF、IS Catalog Scatter以及User-Defined。举例来说透镜的前表面应该具有良好抛光而且为了抗反射前表面应该有一层四分之一波长的MgF2镀膜。在OpticStudio预设中就有这样的一个镀膜“AR”。如要在Face 1 (透镜前表面)上面设置AR可以按下图设置Face 0代表侧表面通常会是无抛光并且没有镀膜因此我们可以有如下设置CAD对象以3D CAD软件(如SolidWorks、Creo Parametric、Inventor、CATIA等)设计的实体对象都可以利用一系列的CAD 零件或装配体对象导入。OpticStudio可以直接与SolidWorks、Creo Parametric、Inventor动态链接导入对象。由于动态链接后会直接存储原始的数学模型因此追迹速度会更快。而且还可以把CAD对象的参数定义为变量套用优化程序。但是由于以上这些CAD对象都是外部定义的因此在分配镀膜、散射特性上都会有一些特殊问题。首先CAD对象文件很大通常会有几个MB大。再者CAD软件通常会以不规则的顺序输出对象信息因此需要使用者花费大量的时间把CAD对象中大量的面Surface分类为有意义的Face。让我们看看以下的侦测器系统。该侦测器系统共包含了178个分离的CAD面Surface构成但是他们并没有依照任何顺序来编号。因此如想要知道编号45的Surface在哪里的话我们是完全没有线索的。已知该对象是由两个透镜组成。一个提供闪光用来照亮对象物体。另一个则用来把对象物体成像到系统的探测器上。这两个不同路径都是在序列模式下完成设计然后在把透镜输出到CAD软件并与其他相关的机构件结合。完成后同样再利用CAD输出并导入OpticStudio以进一步模拟光机结合的效率、成像质量、杂散光等信息。该对象通过注塑成形生产过程中使用了两种Surface光学处理。第一种是透镜上的Surface为平滑抛光冷镀膜处理。第二种是其他Surface通过电火花刻蚀处理表面具有粗糙散射特性。很明显没有人会真的想去给这178个CAD Surface逐个设置表面属性而且和其他CAD文件相比本文CAD文件中的Surface算少了。在OpticStudio中选项“Surface Mode”可以帮助使用者根据一定的规则快速分类已知Face。“Surface Mode”可以在Object Properties CAD中找到只有在外部导入CAD文件时可以看到Face Mode提供以下几种选项Use single surface顾名思义所有的Surface都会被分配到Face 0。整个对象将只有一个Face。Use angles of normal vectors对所有的Surface来说如果两Surface沿着一条长度非零的曲线相接并且两个Surface在这条曲线上各自的法向量之间的夹角小于使用者指定的角度则这两Surface的Face编号会被设为相同。使用者指定的角度大小可由同一个设置窗口中的Face Angle菜单栏中设定。这个角度的指定可以让使用者指定要把Surface群组切割到多细。如果Face Angle的值非常大(例如180)则所有的Surface的Face编号都会一样。Face Angles越大产生的Face就越少。Use all surfaces所有的Surface都会被单独分配到一个Face编号。Use previously defined surfaces保留原始导入文件的Face分配方式。有一些CAD对象(例如由OpticStudio所建立的)会在文件中就带有Face编号信息而这些信息将会被直接使用。如果OpticStudio无法检测Face编号的信息则会回到“Use all surfaces”的模式。Use single surface per objectCAD对象中个别分离对象上的所有Surface都会被赋予一样的Face编号。此选项在CAD文件中有多个对象并且刚好每个对象的材料都要分开设定时非常有用。本范例中我们使用Use angles of normal vectors模式设置Surface因此理论上所有的Surface都会被独自分配到一个专属的Face编号。本文CAD对象中共有178个Surface我只想要选择两个特定的Surface并指定Coating/Scattering属性其中一个有良好的抛光、低散射、抗反射的特性另一个则没有镀膜且高度散射。要完成这个工作请回到Object Properties CAD设定中点如下请注意原本每个CAD的Surface都应该被分配到独一而二的Face编号但是Face的编号上限是50。如上图在点选View Current Object之前我们要先选择“Viewer Highlights: By Surface”然后点击“View Current Object”后就可以看到如下画面。现在我们回到Object Properties设置菜单按一下Select All就可以在画面中看到都所有CAD上的Surface现在都被选起来了变红。然后我们点选Change To -按钮把所有CAD上的Surface先初步都设为Face 0。最后再点一下Clear All这样将会没有任何一个面被选择。现在对象上所有的Surface都有同一个Face编号。但我们要把透镜的抛光表面设为其他的Face编号这里假设我们要设置为Face 1。在Object Viewer中左键点击选择Surface被选择的Surface会同时在Object Viewer以及Object Properties里面高亮起来。选择好需要的面之后我们就在Object Properties中的下拉式选单中选择“Face 1”然后点一下Change To - 这样就可以把选取的面都设为Face 1。现在我们的对象仅包含两个Face每个不同的Face都可以独立指定不同的镀膜以及散射特性。其他软件导入的对象CAD软件导入对象可能是最重要的但并不是OpticStudio唯一支持的导入对象的软件。OpticStudio同时也支持多边形对象Polygon Object以及鳞甲对象Tabulated Object这些对象都可以通过外部导入的。通常这些都是多面facted结构。虽然也有例外例如Fresnel建立的是旋转对称结构。对于多边形对象Face的信息已经在外部数据文件中定义了。使用者可以在Help系统或使用者手册中找到建立多边形对象的细节。每个方形区域rectangular或三角区域triangular都可以分配一个Face编号。对于鳞甲对象Tabulated Object整个结构仅会被分配到一个Face。总结CAD对象通常是由好几百个Surface可能是平面、球体、Spline等组成要在每个Surface上都分别手动设定不同的镀膜以及散射模型是不切实际的。我们使用“Face”的概念来把大量的CAD之Surface分开为有意义的群组。通过在3D画面中旋转画面并选择可以大幅简化“选择Surface并分配Face的流程。多边形结构.pob在定义对象外型的同时本身也包含了Face的定义。定义分类好需要的Face后就可以轻松的在每个Face上设定不同的薄膜镀层以及散射模型。
Ansys Zemax | 如何给非序列结构添加镀膜和散射
概要Zemax OpticStudio非序列模式的对象是3D实体薄膜和散射模型是3D实体的表面特性。本文将从以下几个方向解释如何给非序列元件添加镀膜和散射非序列对象中“Face number”的概念。如何给不同的Face添加镀膜以及散射模型。从外部导入CAD结构后的一些对镀膜散射性质的处理。简介首先非常感谢Sick AG公司Ingolf Hörsch博士允许我们在本文使用相关光学系统的3D Layout图。非序列模式下的结构是占有一定空间的3D实体一般情况下可以将非序列元件结构分为两种类型参数化对象例如在Standard Lens中可以根据需要自行定义元件的前曲率半径、后曲率半径、中心厚度以及径向孔径。OpticStudio提供了大量的参数化对象包含全息、衍射、圆柱体以及双锥体等等。由导入的数据文件定义的对象包含了多边形对象、鳞甲对象以及常见的CAD对象(如STEP、IGES、SAT、STL等格式)。这些对象有可能是多面体也可能是平滑连续曲面或是两者皆有分布在不同区域。不论是何种类型使用者都需要在这些结构表面上设置薄膜镀层以及散射函数以确保能精确模拟光线的传播。OpticStudio通过“Face”来描述非序列元件上面的特定区域这些区域就是我们加镀膜或是散射模型的最小单位。在参数化对象中Face的定义通常很明显。举例来说Standard Lens这个对象可以很简单的知道他的前表面与后表面都是抛光的而连结两侧的柱状侧面则是未抛光的表面性质。在由导入的数据文件定义的对象中“Face”的定义就比较复杂。即使是一个简单的多面镜面也可能是由很多个小面facet组成的。这些特殊曲面的外型也许看起来是连续的一个Face但可能其实是以复杂的数学描述来完成的。我们加入复杂的CAD对象时OpticStudio可能会需要处理好几MB的数据包含平面、曲面、Spline曲面等等。本文我们将描述如何在一般结构上定义Face使得接下来可以顺利在该结构上设置镀膜与散射模型。参数化对象假设一个Standard Lens结构共有3个Face编号从0开始其NSC Shaded Model图如下所示所有内建的参数化对象都可以在使用者手册或Help系统中找到该结构的Face定义这些对象上的Face通常会有一个方便的“名称”。选择任一个Face你可以决定光线与这个Face相交的三种模式。如果选择“Object Default”则该Face的反射率由该对象玻璃材料的折射率、该Face另一侧的物质折射率、Face上面的镀膜稍后更多细节、入射光波长、偏振态以及入射角决定。也可在该Face上定义散射属性。如果选择“Reflective”则该Face的表面属性类似于“镜面”。不论光线从这个Face的哪一侧接触都只会被反射。除此之外镀膜与散射分布的效应都和往常一样处理。如果选择“Absorbing”则任意一条入射的光线入射到该面后都会停止追迹。不会应用镀膜以及散射模型。本文我们都选择“Object Default”。选择好Face后任何载入到系统中的镀膜都可以通过Coating下拉菜单设置。OpticStudio有完整的偏振光线追迹以及分析功能。任何偏振态的光源都可以设定OpticStudio会考虑透射、反射、吸收、偏振态、双向衰减Diattenuation以及相位延迟Retardance。镀膜是由任意层数、任意材料组成的每一层材料都有各自的复折射率以及完整的色散模型。基板材料可以是玻璃、金属也可以由使用者自己设置。OpticStudio可以直接从“The Essential Macleod”或“Film Star”软件以及其他薄膜设计软件中直接导入镀膜定义。OpticStudio会自动在光线从空气到材料以及从材料到空气两种情况之间逆转膜层的顺序使用者不需要额外定义“镜像”的膜层。如果无法取得原始的镀膜我们也可以通过输入不同波长、不同入射角效率的表格信息来定义镀膜。或是使用IDEAL理想膜层来简化定义所有角度与波长的反射与透射。在有详细膜层信息后我们就可以根据入射光的偏振态、波长以及角度来推算双向衰减率、相位、相位延迟、反射、透射或是吸收等信息。设定好镀膜后我们还需要设定散射模型。在OpticStudio中可用的散射模型包括Lambertian、Gaussian、ABG、ABG File、BSDF、IS Catalog Scatter以及User-Defined。举例来说透镜的前表面应该具有良好抛光而且为了抗反射前表面应该有一层四分之一波长的MgF2镀膜。在OpticStudio预设中就有这样的一个镀膜“AR”。如要在Face 1 (透镜前表面)上面设置AR可以按下图设置Face 0代表侧表面通常会是无抛光并且没有镀膜因此我们可以有如下设置CAD对象以3D CAD软件(如SolidWorks、Creo Parametric、Inventor、CATIA等)设计的实体对象都可以利用一系列的CAD 零件或装配体对象导入。OpticStudio可以直接与SolidWorks、Creo Parametric、Inventor动态链接导入对象。由于动态链接后会直接存储原始的数学模型因此追迹速度会更快。而且还可以把CAD对象的参数定义为变量套用优化程序。但是由于以上这些CAD对象都是外部定义的因此在分配镀膜、散射特性上都会有一些特殊问题。首先CAD对象文件很大通常会有几个MB大。再者CAD软件通常会以不规则的顺序输出对象信息因此需要使用者花费大量的时间把CAD对象中大量的面Surface分类为有意义的Face。让我们看看以下的侦测器系统。该侦测器系统共包含了178个分离的CAD面Surface构成但是他们并没有依照任何顺序来编号。因此如想要知道编号45的Surface在哪里的话我们是完全没有线索的。已知该对象是由两个透镜组成。一个提供闪光用来照亮对象物体。另一个则用来把对象物体成像到系统的探测器上。这两个不同路径都是在序列模式下完成设计然后在把透镜输出到CAD软件并与其他相关的机构件结合。完成后同样再利用CAD输出并导入OpticStudio以进一步模拟光机结合的效率、成像质量、杂散光等信息。该对象通过注塑成形生产过程中使用了两种Surface光学处理。第一种是透镜上的Surface为平滑抛光冷镀膜处理。第二种是其他Surface通过电火花刻蚀处理表面具有粗糙散射特性。很明显没有人会真的想去给这178个CAD Surface逐个设置表面属性而且和其他CAD文件相比本文CAD文件中的Surface算少了。在OpticStudio中选项“Surface Mode”可以帮助使用者根据一定的规则快速分类已知Face。“Surface Mode”可以在Object Properties CAD中找到只有在外部导入CAD文件时可以看到Face Mode提供以下几种选项Use single surface顾名思义所有的Surface都会被分配到Face 0。整个对象将只有一个Face。Use angles of normal vectors对所有的Surface来说如果两Surface沿着一条长度非零的曲线相接并且两个Surface在这条曲线上各自的法向量之间的夹角小于使用者指定的角度则这两Surface的Face编号会被设为相同。使用者指定的角度大小可由同一个设置窗口中的Face Angle菜单栏中设定。这个角度的指定可以让使用者指定要把Surface群组切割到多细。如果Face Angle的值非常大(例如180)则所有的Surface的Face编号都会一样。Face Angles越大产生的Face就越少。Use all surfaces所有的Surface都会被单独分配到一个Face编号。Use previously defined surfaces保留原始导入文件的Face分配方式。有一些CAD对象(例如由OpticStudio所建立的)会在文件中就带有Face编号信息而这些信息将会被直接使用。如果OpticStudio无法检测Face编号的信息则会回到“Use all surfaces”的模式。Use single surface per objectCAD对象中个别分离对象上的所有Surface都会被赋予一样的Face编号。此选项在CAD文件中有多个对象并且刚好每个对象的材料都要分开设定时非常有用。本范例中我们使用Use angles of normal vectors模式设置Surface因此理论上所有的Surface都会被独自分配到一个专属的Face编号。本文CAD对象中共有178个Surface我只想要选择两个特定的Surface并指定Coating/Scattering属性其中一个有良好的抛光、低散射、抗反射的特性另一个则没有镀膜且高度散射。要完成这个工作请回到Object Properties CAD设定中点如下请注意原本每个CAD的Surface都应该被分配到独一而二的Face编号但是Face的编号上限是50。如上图在点选View Current Object之前我们要先选择“Viewer Highlights: By Surface”然后点击“View Current Object”后就可以看到如下画面。现在我们回到Object Properties设置菜单按一下Select All就可以在画面中看到都所有CAD上的Surface现在都被选起来了变红。然后我们点选Change To -按钮把所有CAD上的Surface先初步都设为Face 0。最后再点一下Clear All这样将会没有任何一个面被选择。现在对象上所有的Surface都有同一个Face编号。但我们要把透镜的抛光表面设为其他的Face编号这里假设我们要设置为Face 1。在Object Viewer中左键点击选择Surface被选择的Surface会同时在Object Viewer以及Object Properties里面高亮起来。选择好需要的面之后我们就在Object Properties中的下拉式选单中选择“Face 1”然后点一下Change To - 这样就可以把选取的面都设为Face 1。现在我们的对象仅包含两个Face每个不同的Face都可以独立指定不同的镀膜以及散射特性。其他软件导入的对象CAD软件导入对象可能是最重要的但并不是OpticStudio唯一支持的导入对象的软件。OpticStudio同时也支持多边形对象Polygon Object以及鳞甲对象Tabulated Object这些对象都可以通过外部导入的。通常这些都是多面facted结构。虽然也有例外例如Fresnel建立的是旋转对称结构。对于多边形对象Face的信息已经在外部数据文件中定义了。使用者可以在Help系统或使用者手册中找到建立多边形对象的细节。每个方形区域rectangular或三角区域triangular都可以分配一个Face编号。对于鳞甲对象Tabulated Object整个结构仅会被分配到一个Face。总结CAD对象通常是由好几百个Surface可能是平面、球体、Spline等组成要在每个Surface上都分别手动设定不同的镀膜以及散射模型是不切实际的。我们使用“Face”的概念来把大量的CAD之Surface分开为有意义的群组。通过在3D画面中旋转画面并选择可以大幅简化“选择Surface并分配Face的流程。多边形结构.pob在定义对象外型的同时本身也包含了Face的定义。定义分类好需要的Face后就可以轻松的在每个Face上设定不同的薄膜镀层以及散射模型。