Flip_Brep 翻转曲面 · FlipBrep

根据参考向量翻转曲面的法线方向
📂 LK → Brep 📄 FlipBrep.cs 🔄 带按钮

📖 功能概述

翻转曲面的法线方向,支持闭合实体(Solid)非闭合曲面(Brep)两种模式:

组件自带一个切换按钮,可手动切换"正向/反向"模式,灵活控制翻转逻辑。

📥 输入参数

名称类型必填说明
曲面 (B) Brep 必需 需要翻转的曲面或闭合实体。
参考向量 (V) Vector3d 可选 用于判断翻转方向的参考向量。若不提供,仅由按钮状态决定翻转。

📤 输出参数

名称类型说明
翻转后曲面 (B) Brep 按参考向量和按钮状态翻转后的曲面。

🔘 按钮功能

组件带有一个切换按钮,点击可切换两种模式:

按钮状态显示文字行为说明
按下 反向 触发翻转操作时的方向为"反向"模式。
弹起 正向 触发翻转操作时的方向为"正向"模式(不额外反转参考向量)。

🧠 逻辑流程

1
输入曲面
2
判断是否
为实体
3
实体:自动翻转
内向法线
4
曲面:参考向量
+ 按钮决定
5
输出翻转结果

📐 翻转判定逻辑(非闭合曲面)

条件行为
无参考向量(可选输入未连接) 仅由按钮状态决定:反向时翻转,正向时不翻转。
有参考向量 + 法线与参考向量夹角 > 90° 翻转曲面。
有参考向量 + 法线与参考向量夹角 ≤ 90° 不翻转。
📌 联动逻辑:按钮按下(反向)时,参考向量会自动乘以 -1,相当于参考方向取反,从而影响夹角判断结果。

🧪 典型使用场景

场景说明
法线统一 多个曲面拼接时,统一所有曲面的法线方向,避免渲染或布尔运算时出现面朝向不一致的问题。
布尔运算预处理 在进行 BooleanDifference 等布尔操作前,确保曲面的法线方向正确,避免运算失败。
实体朝向修正 导入的外部模型面朝向可能为内向,使用此组件一键翻转为外向。

⚠️ 注意事项

📋 组件信息

名称翻转曲面
英文名FlipBrep
分类LK → Brep
GUIDBDB7E8CB-BBA8-4B9B-A8FA-D5F436457FA7