Offset_Brep 曲面偏移 · OffsetBrep

沿法线方向偏移曲面,支持偏移成实体和锐边/圆边控制
📂 LK → Brep 📄 OffsetBrep.cs ⚡ 异步任务 🧩 多重曲面

📖 功能概述

沿曲面的法线方向进行偏移操作,支持单一曲面多重曲面。主要特性:

📥 输入参数

名称类型必填说明
曲面 (B) Brep 必需 需要偏移的曲面。支持单一曲面(Surface)和多重曲面(Polysurface)。
偏移距离 (D) Number 必需 偏移量。正值为沿法线方向向外,负值为向内。零偏移不会产生任何效果。
生成实体 (S) Boolean 可选 是否将偏移结果封闭为实体。默认为 false(仅偏移曲面,不封口)。
锐边模式 (E) Boolean 可选 边缘连接方式。true = 锐边(保持尖锐),false = 圆边(光滑过渡)。默认为 true
精度 (T) Number 可选 偏移运算精度。默认取当前 Grasshopper 文档容差。通常无需修改。

📤 输出参数

名称类型说明
偏移结果 (B) Brep 偏移后的曲面或实体结果(列表)。偏移失败时返回空列表。

🧠 核心逻辑

1
输入
曲面 + 参数
2
偏移距离
是否为零?
3
非零:
调用 Rhino Offset
4
输出
偏移结果列表
⚙️ 偏移零距离的特殊处理:如果偏移距离为 0,组件不执行几何运算,直接返回原始曲面的副本。这意味着你可以通过切换 0 值来"跳过"偏移而不出错。

⚡ 异步任务支持

该组件继承自 GH_TaskCapableComponent,具有异步运算能力:

🔧 参数详解

🔶 锐边 vs 圆边

🔲 锐边模式(默认)

偏移后的曲面边缘保持尖锐连接。适合需要精确几何边角的模型,如机械零件、建筑构件。

🔵 圆边模式

偏移后的曲面边缘以圆角过渡。适合有机造型或需要光滑外观的设计,如产品外观。

🔶 曲面 vs 实体

📄 仅曲面

偏移结果仅为偏移后的曲面,不封口。结果是一个或多个 Brep 面片。

📦 生成实体

偏移后在原始曲面和偏移曲面之间生成侧面封口,形成有厚度的闭合实体。

⚠️ 注意:生成实体模式依赖于 Rhino 的 Brep.CreateOffsetBrep 方法。对于复杂的多重曲面,实体偏移可能需要更多计算资源,且可能因几何复杂度而失败。

🧪 典型使用场景

场景说明
生成壳体 偏移曲面并生成实体,快速创建带有厚度的壳体结构。例如将建筑外立面偏移出墙体厚度。
实体放大/缩小 对闭合实体使用正负偏移,实现整体放大或缩小。注意此为沿法线偏移,不是均匀缩放。
曲面加厚 将单层曲面偏移并封口,制作有厚度的板材。相比 Extrude,Offset 能保持曲面曲率。
圆角过渡 使用圆边模式使偏移后的边缘光滑过渡,适合需要避免尖锐边的产品设计。

⚠️ 注意事项

📋 组件信息

名称曲面偏移
英文名OffsetBrep
分类LK → Brep
基类GH_TaskCapableComponent<SolveResults>
GUID7BB73B1C-4004-48C9-8883-06894B1F0949