单轨扫掠T 创建实体 · CreateSolid

沿路径拉伸或扫掠成型,支持多种截面类型的智能创建
📂 LK → Brep 📄 CreateSolid.cs 🔀 右键切换模式

📖 功能概述

根据路径截面的组合类型,自动选择最优的成型方式。支持直线路径的直接拉伸曲线路径的扫掠,兼容曲面、曲线、点三种截面类型,无需用户手动判断调用哪种建模方法。

💡 关键设计:组件会判断路径是否为直线、截面为何种类型,然后自动路由到对应的逻辑分支——即使输入的几何组合不合适,也能输出有意义的结果。

📥 输入参数

名称类型必填说明
路径 (R) Curve 必需 拉伸或扫掠的路径。可以是直线曲线,不同类型触发不同的成型方式。
截面 (S) Geometry 必需 成型截面。支持三种类型:曲面(Brep)、曲线(Curve)、(Point)。不同类型配合路径组合出不同结果。
扫掠精度 (T) Number 可选 仅对曲线路径 + 扫掠生效,不影响直线拉伸。默认值 0.1,数值越小精度越高。此输入参数默认隐藏,连接数据后自动显示。

📤 输出参数

名称类型说明
成型物件 (B) Geometry 生成的几何体。根据输入组合不同,可能输出多重曲面实体曲线

🔀 右键切换模式 扫掠模式

组件带有右键菜单,支持切换两种扫掠实现方式——仅在截面为曲面 + 路径为曲线的组合下体现差异:

📍 扫掠模式一

SweepSolidBuilder 创建简易扫掠,结果更精简。

📍 扫掠模式二

BrepSweepToSolid 曲面扫掠为实体,结果更完整。

📌 默认模式:扫掠模式一。大部分场景无需切换,保留默认即可。

🧠 核心逻辑:自动路由判断

组件根据路径类型(直线/曲线)截面类型(曲面/曲线/点)共 6 种组合,自动路由到最合适的成型逻辑:

1
输入
路径 + 截面
2
判断路径
是否为直线
3
识别截面
类型
4
路由到对应
成型逻辑

📐 各组合具体行为

路径截面行为
直线 曲面 / 曲线 直接拉伸 — 调用 SuperExtrudeCurve 将截面沿直线路径拉伸为实体。速度快,精度由 Rhino 内核保证。
直线 创建直线 — 以点为起点、路径方向为方向,创建一条无限延伸的直线。
曲线 曲面 曲面扫掠 — 按当前右键模式(模式一 / 模式二)沿曲线路径扫掠曲面,生成实体或多重曲面。
曲线 曲线 单轨扫掠 — 使用 Rhino 自带的 Brep.CreateFromSweep 进行单轨扫掠,然后合并面片为闭合实体。
曲线 点扫掠求边 — 先以路径起点到点生成直线,用该直线扫掠得到曲面,再提取曲面的轮廓边缘作为结果。
✅ 智能兜底:如果所有分支都不匹配,组件直接返回不执行,避免出错。

🧪 典型使用场景

场景说明
沿路径拉伸 直线路径 + 曲面截面:像挤牙膏一样将截面按路径方向拉伸出实体,配合双向拉伸或倾斜路径使用。
曲线扫掠成型 曲线路径 + 曲面截面:沿弯曲路径扫掠出流线型实体,适合扶手、管道、装饰条等造型。
单轨建模 曲线路径 + 曲线截面:类似 Rhino 的 Sweep1 命令,一条路径加一条断面曲线扫出曲面。
点取轮廓线 曲线路径 + 点截面:从路径到指定点生成扫掠曲面,反过来提取曲面的轮廓边界线。
路径延伸 直线路径 + 点截面:从指定点沿路径方向生成一条参考直线。

⚠️ 注意事项

📋 组件信息

名称创建实体
英文名CreateSolid
分类LK → Brep
基类RightClickComponent + IGH_VariableParameterComponent
GUID1B8C9E20-F810-43FF-89EF-60B6DC73A8EC