4. 几何建模基础(二):复杂几何体创建与导入

上一章我们聊了基本几何体,像方块、球体这些。但做光学仿真,你很快就会发现——光靠这些远远不够。棱镜、透镜、非球面,这些才是日常。今天我就把FRED里创建复杂几何体的几个核心手段,掰开揉碎讲清楚。

本章核心脉络:复杂几何体创建 → 曲面拉伸与旋转 → CAD模型导入。这三条路,基本覆盖了90%的建模场景。

复杂几何体建模路径 复杂几何体 基本体组合/布尔运算 曲面拉伸与旋转 导入CAD模型 棱镜 复合透镜 拉伸体 旋转体 STEP/IGES 三种路径各有适用场景:棱镜透镜用组合/布尔;旋转对称光学面用旋转;复杂结构用CAD导入

4.1 棱镜与复合透镜:基本体组合的艺术

很多人一上来就问:「FRED能不能直接画一个三棱镜?」能,但没必要。棱镜说白了就是几个基本体的组合,再加一个布尔运算。

我个人的习惯是:先画一个长方体,然后用第二个几何体去切。比如直角棱镜,你画一个矩形块,再画一个45度的楔形块,用布尔减运算一减,完事。

我的小技巧:布尔运算前,先把两个几何体的位置对齐。FRED的布尔运算对重叠精度很敏感,差0.001mm都可能报错。我一般先用Snap功能对齐,再手动微调坐标。

复合透镜呢?比如双胶合透镜。你想想看,两个不同曲率半径的透镜粘在一起。FRED里怎么做?先分别建两个透镜,然后用布尔加运算合并。注意,合并前要确保两个透镜的接触面完全重合,不然中间会留一条缝——光路就全乱了。

几何体类型 推荐方法 关键参数 避坑点
直角棱镜 长方体 + 楔形布尔减 角度、边长 切割面要完全穿透
道威棱镜 长方体 + 两个斜面切割 斜面角度、偏移量 对称性检查
双胶合透镜 两个透镜布尔加 曲率半径、中心厚度 接触面必须重合
菲涅尔透镜 旋转体 + 环带切割 齿距、齿深 齿尖要留圆角

我曾经踩过的坑:做双胶合透镜时,两个透镜的折射率不同,但布尔合并后FRED默认取第一个体的材料属性。记得合并后手动给整体重新赋材料,不然仿真结果全错。

4.2 曲面拉伸与旋转:从2D到3D的魔法

这是FRED里我最喜欢的功能之一。你画一条曲线,然后拉伸或者旋转,一个复杂曲面就出来了。说白了,这就是CAD里的「拉伸」和「旋转」命令,但FRED对光学曲面做了专门优化。

曲面拉伸:适合柱面镜、条形反射镜这类。你先在2D草图里画一条弧线,然后指定拉伸方向和长度。我一般用「Extrude Surface」命令,注意拉伸方向要跟光轴对齐。

曲面旋转:这个才是重头戏。非球面透镜、抛物面反射镜,全得靠它。你画一条母线,绕光轴旋转360度,一个完美的旋转对称曲面就出来了。

核心参数:旋转体建模时,母线精度直接决定面形质量。FRED默认用12段样条插值,对于高精度非球面,我建议至少设到24段。不然你仿真出来的光斑,跟实际差一大截。

具体操作步骤:

  1. 在2D草图模式下,用「Spline」或「Arc」工具画出母线
  2. 选中母线,点击「Revolve Surface」
  3. 指定旋转轴(通常是Z轴)和旋转角度(360度)
  4. 设置分段数(我一般设24-36段)
  5. 点击「Apply」生成实体

嗯,这里要注意。母线不能有自交,不然旋转出来的体会扭曲。我遇到过有人画了一个「8」字形的母线,结果旋转出来是个怪胎——根本没法用。

4.3 非球面透镜:用公式说话

非球面透镜,说白了就是「不是球面的透镜」。FRED支持直接输入非球面系数来生成。你不需要画曲线,直接填参数就行。

非球面公式长这样:

z = (c * r²) / (1 + sqrt(1 - (1+k) * c² * r²)) + A4*r⁴ + A6*r⁶ + A8*r⁸

其中:

  • c:顶点曲率(1/R)
  • k:圆锥系数
  • A4, A6, A8:高阶非球面系数

FRED里操作很简单:新建一个「Aspheric Lens」元件,然后在属性面板里填入这些系数。我个人习惯是先算好系数,再一次性填进去,省得来回改。

避坑指南:非球面系数不要乱填。我曾经接手过一个项目,前工程师把A4系数填成了1e-3,结果透镜面形完全走样。非球面系数通常都在1e-6到1e-9量级,填之前先确认单位。

4.4 导入CAD模型:STEP/IGES实战

有些结构太复杂,比如手机镜头模组、车载激光雷达外壳,在FRED里从头画?不现实。这时候就得靠CAD导入。

FRED支持STEP和IGES两种主流格式。我个人更推荐STEP,因为IGES有时候会丢面。导入流程:

  1. 在CAD软件里把模型导出为STEP格式(AP203或AP214都行)
  2. FRED里点击「File → Import → STEP」
  3. 选择文件,点击「Import」
  4. 等待导入完成(复杂模型可能要几分钟)
格式 优点 缺点 推荐场景
STEP AP203 兼容性好,面片完整 不支持颜色信息 机械结构
STEP AP214 支持颜色和图层 文件体积大 光学+机械混合
IGES 老软件兼容 容易丢面、破面 不推荐,除非别无选择

我曾经踩过的坑:导入一个汽车大灯总成的STEP文件,结果FRED卡死了半小时。后来发现是模型里包含了上千个螺丝孔和倒角。CAD导入前,一定要做「轻量化」处理——删掉不必要的细节,只保留光学面和安装基准面。

导入后,FRED会把模型识别为「Imported Geometry」。这时候你需要手动给每个面赋光学属性。我的做法是:先选中所有面,统一赋一个默认属性,再单独调整光学面的属性。这样效率高很多。

4.5 实战案例:一个抛物面反射镜的完整建模

光说不练假把式。我们走一遍完整的抛物面反射镜建模流程。

步骤1:确定参数。假设我们要做一个口径100mm、焦距50mm的抛物面。根据公式,顶点曲率c = 1/(2*f) = 0.01,圆锥系数k = -1。

步骤2:在FRED里新建一个「Aspheric Reflector」元件。填入c=0.01,k=-1,口径半径50mm。

步骤3:设置分段数。我设了32段,保证面形精度。

步骤4:生成实体。点击「Apply」,一个完美的抛物面反射镜就出来了。

步骤5:赋材料属性。反射镜需要镀膜,我一般设反射率98%,吸收率2%。

验证方法:建好后,加一束平行光沿光轴入射。如果焦点正好在50mm处,说明建模正确。我每次都会做这个验证,省得后面仿真出问题还要回头找原因。

嗯,整个流程下来,其实就几分钟的事。但如果你用CAD画再导入,光导出导入就得折腾半天。所以我的建议是:能用FRED原生功能建的,就别走CAD导入这条路。