编辑 CAD 网格
在 OghmaNano 中,每个 3D 对象都同时具有一个简单的包围形状,并且(可选)具有更详细的 CAD 网格。默认情况下,复杂的 CAD 网格是禁用的,每个对象会使用其在 对象编辑器 中定义的尺寸,以通用盒体绘制。本节说明如何启用复杂网格,以及如何使用 网格编辑器 来配置不同的基本图元形状,例如金字塔、管和空心管。
要编辑对象,请在 3D 视图中右键单击它并选择 编辑对象,如 ?? 所示。这会打开 对象编辑器 窗口(??)。在此,xyz size 字段(dx、dy 和 dz)定义对象默认盒体表示的尺寸。你还可以更改对象的位置、旋转、颜色以及其所用材料。
在 对象编辑器 底部的 Object shape 下,文本 Complex meshes disabled 表示该对象当前未使用任何详细的 CAD 网格。在此模式下,无论你选择何种光学材料或其他属性,对象始终以简单盒体绘制。
启用网格编辑器
要启用复杂 CAD 网格,请在 对象编辑器 中 Object shape 旁点击 Edit 按钮(三个点)。这将打开 网格编辑器。当你首次为某个对象打开它时,网格系统处于禁用状态,如 ?? 所示。
在 网格编辑器 工具栏中点击 Disabled 按钮以开启复杂网格。启用后,编辑器会切换到其默认的基本图元形状——金字塔。配置控件以及生成的网格将在后续章节中更详细讨论,从 ?? 中的金字塔开始。
金字塔
当为对象首次启用复杂网格时,默认基本图元为金字塔。网格编辑器 会显示可用图元的工具栏(盒体、棱柱、球体、管、空心管、金字塔等)以及当前活动形状的配置面板。对于金字塔,你可以设置其底部半径、高度和边数。随后金字塔网格会在 3D 视图中替换该对象的简单盒体。
调整 ?? 中的金字塔参数会立即更新主 3D 窗口中显示的网格(??)。这使你在将对象与仿真中的其他光学元件组合之前,能够轻松微调整体尺寸。
管
管 图元会创建一个实心圆柱体。这对于建模杆、支柱或波导很有用。在配置面板中,你可以设置整体半径、高度,并通过环数与分段数来设置网格的离散化程度。
与金字塔类似,你在管的配置窗口(??)中做出的任何更改都会立即反映到渲染的网格(??)中。增加环数与分段数会提高网格密度,这可以提升几何保真度,但也可能增加光线追踪时间。
空心管
空心管 图元会生成一个圆柱形壳体,内外半径由用户定义。这对于建模管道、空心波导或环形支撑结构很有用。除了半径和高度之外,你还可以设置环数与分段数来控制网格的三角化。
通过调整 ?? 中的内外半径,你可以在薄壁壳体与近似实心圆柱之间平滑过渡。与之前一样,网格分辨率由沿轴向的环数以及沿周向的角向分段数控制(??)。
球体
球体 图元会创建一个三角化的球面。在配置 面板中,你可以设置球体的 半径,以及 环数(纬向 划分)与 分段数(经向划分)。这些参数共同控制球面的 镶嵌细度,从而决定其在 3D 视图中的平滑程度。
对于许多光学应用,中等数量的环数与分段数就足够了;将这些数值增加到超过视觉上已足够平滑的程度,只会增加仿真时间而不会提高精度。选择合适数值时可参考 ?? 和 ??。
棱柱
棱柱 图元用于创建简单的楔形或尖顶结构。在配置面板中,你需要指定棱柱的整体 xyz size(其 dx、dy 和 dz 尺寸)。Peak in center 选项用于控制棱柱的峰顶位于底面中心还是向一侧偏移。
x、y 和 z 方向的整体尺寸,以及一个将峰顶放在底面中心的开关。
棱柱可用于构建更复杂的光学组件,例如导光结构或简单的光束偏转器。?? 中的 dx、dy 和 dz 值与 ?? 中显示的几何形状之间是直接对应关系,这使得设计与微调这些形状非常直观。
盒体
盒体 图元提供了在复杂网格被禁用时所使用的简单矩形盒体的一个显式网格版本。你可以在 xyz size 字段(dx、dy、dz)中指定盒体尺寸。在大多数情况下,使用盒体网格相比将对象保留为默认盒体形状并无实际优势,但为了完整性以及在你希望所有对象都一致使用网格系统的场景下提供了该选项。
x、y 和 z 尺寸与默认对象盒体使用的尺寸相同。
如果你只需要一个简单的矩形对象,通常可以保持复杂网格禁用并使用默认盒体。然而,?? 与 ?? 中的网格化盒体在你希望获得一致的网格层级控制时会很有用(例如在导出几何体或与其他网格图元组合时)。
光阑
光阑 图元用于建模光学挡光片与光圈。它会创建一个中心带有多边形开口的平板。在配置面板中,你需要指定外径 d0、内径 d1(有效孔径),以及 Blades 的数量,它决定多边形开口的边数。
d0、内开口 d1,以及决定光阑多边形形状的叶片数量。
在典型的光学模型中,光阑板的材料会设置为吸收性或金属介质,使得只有穿过开口的光才会对仿真产生贡献。通过调整 ?? 中的 d0、d1 和叶片数量,你可以快速原型化不同的挡光尺寸与形状,并立即看到 ?? 中显示的结果几何形状。
透镜
网格编辑器中的 透镜 图元允许你构建完全三角化的光学 透镜。透镜可以是 圆形 或 方形,并且每个表面都可以采用多种形状: plano(平面)、spherical、parabolic、ellipsoid、hyperbolic 或 aspheric。这些选项使得用于光线追踪的光学元件建模更加灵活。
每个透镜有两个表面——Surface 0 和 Surface 1——每个表面都可以 独立配置。参数包括:
- Surface r — 曲率半径(正负取决于表面为凸还是凹)。
- Surface k — 非球面表面的圆锥常数。
- Surface A4, A6, … — 高阶非球面系数。
- ct — 透镜本体的中心厚度。
- Diameter — 透镜的物理直径。
- Hole diameter — 可选中心孔的尺寸。
透镜编辑器功能强大,但在大多数光学工作流中,透镜更容易通过后续介绍的 S-plane 编辑器 来操作。网格编辑器主要用于在需要显式三角化的 透镜几何以便导出或进行可视化调试时使用。
这些配置示例—— ??、 ??、 ?? 以及 ?? 展示了透镜编辑器如何构建各种光学元件。
形状数据库
形状数据库 选项可访问以 OghmaNano 自有格式存储的预定义 CAD 网格库。这些形状不是由网格编辑器即时生成的;相反,它们会直接从内部数据库加载,并可在多个仿真中复用。
除了标准库形状之外,你还可以将平面图像——例如 AFM 高度图——导入到 形状数据库并将其转换为 3D 对象。这使它成为一个方便的位置,用于将常用几何体集中管理,无论它们来自测量、外部 CAD 工具还是先前项目。
teapot),并使用 xyz size 字段进行缩放。
一旦在 ?? 中选择了某个形状, 它就会像任何其他网格图元一样:附加到当前对象,并在光线追踪仿真中完全参与计算。
导入 CAD 文件
除了先将形状添加到内部数据库之外,也可以使用 CAD File 选项将网格直接从外部 CAD 文件附加到对象上。当你已经在磁盘上存有模型并且只想将其导入到 OghmaNano 仿真中时,这会很有用。
目前,导入器支持标准的 Wavefront OBJ 文件。其他 非标准或专有格式不被接受,因此如果你的几何体存储为不同格式,应先将其导出为 Wavefront OBJ 网格。