|
本文介绍如何使用 NSC 矢高图用户分析功能在非序列模式下测量和显示对象的矢高。了解此功能的基础知识,包括如何设置复杂 CAD 零件的文件以获取特定面的矢高值。(联系我们获取文章附件) \Sy7"a X`r*ob 介绍 p<GR SJIk= |(R5e OptocStudio 的序列模式具有表面矢高分析功能,该功能将表面从局部顶点的矢高或 z 位置变化显示为表面上 x 和 y 位置的函数。非序列模式没有提供相同功能的内置分析,但该软件确实具有强大的应用程序编程接口(API),允许用户编写自己的自定义分析功能。本文将展示如何使用 API 构建的用户分析来计算非序列对象的表面矢高。它还将讨论用于创建自定义用户分析的内部计算和一些技术。 l|`^*%W@u6 ?+C V1 ] NSC 矢高计算 [3>GGX[Ic PS>x,T NSC 矢高用户分析执行几个步骤来计算非序列模式下给定对象面的矢高值: :7.Me;RA sfD5!Z9#1 · 在内存中创建系统的临时副本 ]ya; v ' · 除选定对象外的所有对象都设置为忽略 t'qL[r%? · 所选对象的材质被移除,以可能考虑对象的背面 0~WF{_0| · 系统中放置单个源光线 :QQlI · · 默认情况下,源光线放置在 (0, 0, -50) 的 XYZ 处,指向 (0, 0, 1) 的 LMN,但这些值可以高级设置(屏幕右下角)中更改 0BU=)Swku · · 然后将矩形数组应用于对应于采样和宽度的源 -apXI. · 执行光线追迹并保存 ZRD 文件 ;iQEkn2T|} · X_HITFACE 滤镜字符串应用于光线追迹,以仅获取所需面的 Z 值 #J\rv' · Z 中的偏移量应用于 ZRD 文件,以尝试将顶点处的矢高归零 3z =^(Y · · 自动计算标准镜头、双标志性泽尼克表面、偶数非球面透镜、奇数非球面透镜和环形透镜的 Z 偏移 #@.-B,] · · 可以手动更改 Z 偏移以考虑任何其他类型的曲面 ^_5|BT@ J>0b1 计算结果是一维(线)/二维(假彩色)图或文本输出,可以在“设置”窗口中选择。用户分析可用于简单的非序列系统,例如转换后的双高斯、Biconic Zernike 曲面或带有进口 CAD 零件的复杂系统: >4i>C sH#X0fG 2b@tj
5 $K}DB N; 4 (c\hy53dP 运行 NSC 矢高 rxZi8w>} o+ O}Te NSC 矢高是用户分析。为方便起见,它已添加到界面中,可以在 Analyze…NSC Sag 找到。 +g *k*e>l M!m?#xz'c .8gl< vX X"asfA[6K 但更一般地说,用户分析可执行文件位于 {Zemax}\ZOS-API\User Analysis 文件夹中。一旦可执行文件被复制到正确的文件夹中,OpticStudio 需要重新启动。 KM,|} .@: cD}Sf> 要启动用户分析,请单击 Programming…User Analysis…NSC Sag: 'o4p#`R:8 }M>rE ~W0(1#
i Kyg=$^{>G 首次启动分析时,单击“设置”: vv0Q$
O->
u_O# @eOc a>mMvc" s<QkDERMX “设置”窗口包含以下部分(所有长度值均以镜头单位为单位): EM j;2! `{K_/Cit fRZ KEIyk cDEJk?3+ 1、对象 – 仅列出有效对象(非源和非检测器) k;yw#Af8 2、人脸 – 选择有效对象后,仅列出实际对象的人脸 C|-pD 3、样本数量 – 数据点数(32、64、128、256、512 或 1024) Gctsp2ndW 4、Z 偏移 – 计算过程中从所有 Z 值中添加/减去的常量值 TYns~X_PR 5、旋转 – 物体的 Z 轴旋转(值应在 0° 到 360° 之间) 8AFczeg[[ 6、X/Y 宽度 – 带光线阵列 63WS7s" 7、X/Y 偏心 – 光线阵列的中心 A#h /B+ 8、显示为 ― 要显示的数据类型(假色、文本或横截面) 9]'&RyH=# 9、自动偏移 – 自动“猜测”常见对象和面的Z偏移和X / Y宽度的正确值 R*pC.QiB~ 10、高级 – 公开高级设置: *Ust[u a.光线阵列的 Z 起始位置 ,Ds.x@p b.保留对象的原始 XY 倾斜度 "UVFU-Z c.保存中间 ZMX 和 ZRD 文件 '\q f^?9 11、按钮 – 确定运行分析,取消关闭设置而不执行计算 \Gp*x\<^Z ?Ke
eHMu 测量 CAD 文件 !BIOY!M qPGuo5^ NSC 矢高用户分析可以测量任何非序列对象(包括 CAD 零件)的矢高。对于以对象的本地顶点为中心的本机 OpticStudio 对象,用户分析应该无需对用户的行为进行太多设置即可工作。但是,对于导入的 CAD 零件(包括 STEP 和 SLDPRT 文件),这些文件的零件中心可能相对于本地顶点进行偏移和旋转,因此可能需要进行一些设置。 zy'D!db`Z ShOX<Fb& 首先要确定的是要对哪个面进行分析。要确定面数,请单击“非序列编辑器”工具栏中的“查看当前对象”。这将打开一个交互式查看器,可以在其中单击所需的表面。表面将变为橙色。突出显示的面编号将出现在查看器的选项卡中: _banp0ywS DPn=n9n2 L5YnG_M& /'.=sH 接下来,要确定正确的倾斜度和偏心,请在 CAD 零件下方插入一个新的对象并将对象更改为源光线;将 Z 位置设置为 -50mm(NSC 矢高分析的默认值),将 # 布局光线设置为 1。现在打开 NSC 3D 布局,查看光线如何与 CAD 零件交互。
Y k7-` &BE
g ecJ6 *LC+ PZV@ 如果光线当前以 CAD 零件为中心,则无需进行任何修改。但是,如果零件相对于光线旋转或光线不在零件的中心,则更改 CAD 零件的“绕 X/Y 倾斜”或光线的“X/Y/Z 位置”。快速更改 CAD 零件倾斜度的最简单方法是将“大约 X/Y/Z 的倾斜度”设置为变量并启动“优化…可视化优化。将所有倾斜的“开始”和“停止”值分别更改为 -180 和 +180。现在修改值,直到 CAD 零件与源光线对齐。确保在零件旋转后单击“保留并退出”: (@0O ,3i,P(?( \00DqL(Oj` 6.1)IQkO 对于附加的示例文件,RandomCurve.STEP 的 Tilt About X 应为 -79.2,(X, Y, Z) 位置应为 (260, 500, -400): a,t``'c; aolN<u3G 现在,打开 NSC 矢高用户分析。单击设置。要估计 X/Y 宽度,请使用 NSC 3D 布局图中的活动光标。设置如下所示。要显示“高级”选项卡,请单击右下角的箭头;确保取消选中删除 XY 倾斜并选中保留保存的文件: {XurC}#\ ^D^JzEy'?C ti5HrKIw @F*wg 单击“确定”并查看实际分析结果。尽管样本数量设置得非常低,但会生成一个显示一些矢高数据的假色图: |R/.r_x,V? I`(l *U =:,xxqy P,DC 7\ 当前文件夹中将有一个名为 nsc_sag_map.zmx 的新文件。打开此文件并查看 NSC 3D 布局。单个源光线在 (N+1)x(N+1) 网格上重复,其间距与“设置”窗体中的 X/Y 宽度相关。 `/&SxQB< mog[pu:!, :G w~7v_ s)
O[t 现在,数据已在图中得到验证,保存的文件已完全被光线覆盖,可以增加采样以及宽度和偏心以获得最佳图像。 Z#l%r0(o 7xo4-fIuT 以下设置将生成最终图像: "L&'Fd@ZU zhI#f0c #L}+H!Myh
|