按曲线各连接角的顺序分别指定圆角半径;未指定或半径为零的角保留尖角。
功能概览
组件读取一条由多个可连接分段组成的曲线和半径列表,并按连接角顺序逐角创建圆弧、修剪相邻曲线,再按原顺序连接输出。开曲线的连接角数为分段数减一;闭曲线的连接角数与分段数相同,包含首尾闭合处。半径列表不足时,缺少项按 0 处理;多出的值忽略并警告。半径不大于 Rhino 文档绝对容差的 0.01 倍时视为 0,保留原角。
适用场景
- 对折线或其他可分段曲线的各角使用不同圆角半径。
- 只圆滑指定角点,其余连接角保留直角或原有折角。
- 将分段型材轮廓准备为包含多种过渡半径的连续曲线。
工作流程
- 输入一条有效且至少含两个可连接分段的曲线。
- 按角点顺序提供非负有限半径;从第一个分段与第二个分段之间的角开始。
- 用 0 或省略某项保留对应尖角;按需要确认半径数量和曲线开闭状态。
- 读取“圆角曲线”输出。若个别半径过大或修剪失败,该角保持原状并给出警告。
输入
| 端口 | 是否必需 | 数据与结构 | 默认、匹配与误接说明 |
|---|---|---|---|
| 曲线(C) | 必需 | 单条有效 Curve;运行时拆分为曲线段。 | 至少需要两个可连接的分段。普通单段曲线、无效曲线或不能拆分的输入会报错。端口在组件画布中隐藏,但仍需通过 Grasshopper 参数连接。 |
| 半径(R) | 必需 | 按连接角顺序排列的 Number 列表;单位为 Rhino 模型单位。 | 缺少的半径按 0;多余值忽略并警告。负数、NaN 或无穷值报错。小于等于文档绝对容差 × 0.01 的数按 0 处理。列表应按角顺序匹配,不是按曲线段长度匹配。 |
输出
| 端口 | 结果与结构 | 典型下游 |
|---|---|---|
| 圆角曲线(C) | 单条曲线输出。按分段原顺序交错连接已修剪曲线段与成功创建的圆弧。 | 轮廓预览、偏移、挤出或后续曲线加工。 |
实际示例
一条开口三段折线共有两个连接角。半径列表输入 [24, 0]:第一个角尝试创建半径 24 的圆角,第二个角保持尖角。若第二项省略,效果同样按 0 处理。四段闭合折线则有四个角,包括最后一段回接首段的位置,需要按这四个角的遍历顺序提供半径。
若半径大于相邻短线段可容纳的范围,Rhino 圆角构造可能失败;组件会警告并保留该角,不会因此放弃其他成功角。若修剪或重接后产生多条结果,只输出第一条并发出警告,应检查半径是否冲突或输入分段是否连续。
配合使用
- 上游提供分段曲线;对普通光顺曲线,可先按需要拆成明确的直线/曲线段再指定连接角半径。
- 半径列表可由数字面板或参数列表构成;确保列表顺序与曲线段的连接顺序一致。
- 输出可继续连接曲线偏移、挤出或轮廓显示组件;若下游要求闭合或单段曲线,先检查输出的闭合状态与连接结果。
常见问题与限制
- 半径列表少于角点数会怎样?
- 缺少的每个半径按 0 处理,即对应角保持原状,不会自动沿用前一半径。
- 为什么某个圆角没有生成?
- 半径可能过大,或相邻段不满足 Rhino 圆角及端点修剪条件。组件保留该角原状并给出警告。
- 为什么多余半径没有效果?
- 圆角数由曲线的分段与开闭状态确定。列表超过连接角数时,多出的值被忽略并提示。
- 画布上看不到曲线输入端口怎么办?
- 曲线端口在组件上隐藏,但输入仍然必需。可从上游曲线参数连线;隐藏端口不代表该组件会自动读取画布曲线。
- 这是否会输出多条曲线?
- 端口定义为单条曲线。若内部连接产生多个片段结果,组件仅输出首条并警告,必须检查几何连续性。