3、几何体创建与编辑(上):基本几何体与布尔运算

做杂散光分析,说白了就是跟光路里的各种「障碍物」打交道。这些障碍物在 FRED 里怎么造出来?就是靠几何体。这一章我带你过一遍最常用的几个基本几何体,还有怎么把它们拼在一起、切来切去,最后放到正确的位置上。

本章核心脉络: 基本几何体(平面、球体、圆柱、圆锥)→ 布尔运算(合并、相减、相交)→ 坐标变换与定位。这三步走通了,你就能在 FRED 里搭出 90% 的机械结构。
几何体创建与编辑知识体系 基本几何体 布尔运算 坐标变换与定位 平面 球体 / 圆柱 / 圆锥 合并 (Union) 相减 (Subtract) 平移 / 旋转 局部坐标 半宽 / 半高 半径 / 高度 / 半角 保留所有实体 保留被减实体 绝对 / 相对移动 坐标系对齐 💡 学习路径建议 先掌握单个几何体的创建参数 → 再用布尔运算组合复杂形状 → 最后用坐标变换精确摆放

3.1 基本几何体:搭积木的第一步

FRED 里创建几何体,入口在菜单栏 Geometry → Create Primitive。我个人习惯用快捷键 Ctrl+G,快很多。弹出来的对话框里,你会看到一排基本形状:平面、球体、圆柱、圆锥、圆环、盒子……今天我们先搞定前四个。

3.1.1 平面 (Rectangle)

平面在 FRED 里其实是个矩形面片,不是无限大的数学平面。它最常用作挡光板、探测器面、或者分光镜的基底。

参数说明我常用的值
Half Width XX 方向半宽根据光斑大小定,一般留 2mm 余量
Half Width YY 方向半宽同上
Center Z平面中心在 Z 轴的位置0 或焦面位置
小技巧: 平面默认法线沿 Z 轴正向。如果你需要法线朝别的方向,别急着改参数,后面用坐标变换旋转一下就行,更直观。

3.1.2 球体 (Sphere)

球体在杂散光分析里出现频率极高——透镜表面、积分球、甚至一些机械倒角都可以用球体近似。创建时主要填两个参数:半径和半角。

  • 半径: 球体的曲率半径。正数表示球心在 Z 正方向,负数反之。
  • 半角: 从 Z 轴算起的张角半宽。90° 就是半球,180° 就是完整球体。

我记得刚用 FRED 时犯过一个低级错误:想做一个完整球体,半角填了 360°。结果软件报错。后来才明白,半角最大 180°,超过就成自相交了。

3.1.3 圆柱 (Cylinder)

圆柱用来模拟镜筒、遮光罩、机械支撑柱。参数也不复杂:

参数说明
Radius圆柱半径
Half Length沿 Z 轴的半长度(总长 = 2 × Half Length)
Start Angle / End Angle起始/终止角度,做扇形柱体时用
注意: 圆柱默认是实心体。如果你只想用它的侧面做反射面,记得在属性里把 Volume 改成 Surface,否则光线会在内部折射,结果完全不对。

3.1.4 圆锥 (Cone)

圆锥在杂散光分析里常用来做遮光罩的锥形内壁、或者某些非球面镜的近似。参数比圆柱多一个:

  • Radius 1 / Radius 2: 底部和顶部的半径。如果两个半径相等,就退化成圆柱。
  • Half Length: 沿 Z 轴的半长度。

我做过一个项目,需要模拟一个锥形遮光罩内壁的多次反射。用圆锥体配合表面属性,一次就建好了。如果当时用圆柱一个个拼接,估计得折腾半天。

3.2 布尔运算:把简单形状变成复杂结构

单个几何体太单调了。实际的光机结构,比如带孔的镜座、有凹槽的遮光板,都是几个基本体拼出来的。FRED 的布尔运算在 Geometry → Boolean 菜单下,有三种操作。

3.2.1 合并 (Union)

把两个或多个实体「粘」成一个。操作很简单:选中所有要合并的几何体,点 Union。结果是一个新实体,内部没有交界面。

经验之谈: 合并前最好把每个几何体的位置先定好。我见过有人合并完才发现位置不对,又得拆开重做——布尔运算不可逆,拆不了。

3.2.2 相减 (Subtract)

从一个实体里挖掉另一个实体。比如在镜座上挖一个透镜安装孔。操作顺序很重要:先选被减的实体(比如镜座),再选要减掉的实体(比如圆柱),然后点 Subtract。

选项作用
Keep Target保留被减实体(镜座)
Keep Tool保留减掉的实体(圆柱)
Keep Both两个都保留,但生成相减结果

我个人习惯勾选 Keep Target,这样万一减错了,原实体还在,不用重新建。

3.2.3 相交 (Intersect)

只保留两个实体重叠的部分。这个用得相对少,但在做某些特殊形状的挡光片时很管用。比如用一个球体和一个盒子相交,切出一个球面窗口。

避坑指南: 布尔运算对几何体的网格质量有要求。如果两个实体的网格密度相差太大,运算可能失败或产生破面。我曾经因为一个圆柱网格太粗,跟一个精细的球体做相减,结果边缘全是锯齿。后来把圆柱的网格细分了一级,问题就解决了。

3.3 坐标变换与定位:把东西放到该放的地方

几何体建好了,布尔运算做完了,最后一步是定位。FRED 里每个几何体都有自己的局部坐标系,变换就是改这个坐标系相对于全局坐标系的位置和朝向。

3.3.1 平移和旋转

在几何体的属性面板里,找到 Position/Orientation 选项卡。你可以直接输入 X/Y/Z 的偏移量,或者用鼠标拖拽。我个人更推荐直接输数值,精度高,不容易手抖。

  • 平移: 改 Origin X/Y/Z 的值。
  • 旋转: 绕 X/Y/Z 轴旋转,单位是度。顺序是 Z → Y → X,这个顺序要注意。

为什么顺序重要?你想想看,先绕 X 轴转 90°,再绕 Y 轴转 90°,跟先 Y 后 X,结果完全不一样。FRED 固定用 ZYX 顺序,你只要记住就行。

3.3.2 对齐工具

如果不想手动算角度,可以用 Geometry → Align 工具。选中两个几何体,指定要对齐的面或轴,软件自动算好变换矩阵。这个在装配多个零件时特别好用。

对齐方式适用场景
Face to Face两个平面贴合,比如镜片装入镜筒
Axis to Axis两个圆柱的轴线对齐,比如套筒
Edge to Edge边缘对齐,比如拼接探测器阵列

3.3.3 局部坐标系与父子关系

FRED 允许你把一个几何体设为另一个的「子物体」。子物体会继承父物体的变换。这个功能在做多级结构时非常省事——你只需要移动父物体,所有子物体跟着动。

我的习惯: 把整个遮光罩系统设为一个组(Group),内部所有零件都挂在组下面。调试时只要移动组的位置,整个系统就跟着走了,不用一个个调。

3.4 本章小结

这一章我们走了三步:建基本体、布尔运算组合、坐标变换定位。这三步是 FRED 几何建模的基石。你可能会觉得,不就是画几个方块和球吗?但实际项目中,90% 的杂散光模型都是靠这些基础操作堆出来的。下一章我们会继续讲更高级的几何体——样条曲面、非均匀有理 B 样条(NURBS)、还有从 CAD 导入模型。但今天的内容,足够你应付大部分日常建模了。

课后练习建议: 试着用平面、圆柱和布尔运算,建一个带中心孔的圆形挡光板。要求:外径 50mm,内孔直径 10mm,厚度 2mm。建完后用坐标变换把它放到 Z=100mm 的位置,并绕 Y 轴旋转 15°。