从一组共面曲线或线段构成的线网中,识别所有可靠的闭合区域,只输出面积最大区域的外环。内孔、内部隔线、重复边以及较小的独立区域都不会并入结果。

功能概览
组件把输入曲线作为一张共面的二维线网处理,先过滤无效和重复线条,再识别能够可靠闭合的候选区域。每个候选区域只取自身外环,最终用平面面积比较并返回最大者。它允许在严格容差失败后进行一次受限重试和极小断口修复,但不会为了得到结果而跨越明显缺口强行封闭。
适用场景
- 从包含内孔、分隔线和重复线的二维线网中取得主外框。
- 为面积计算、偏移、填充或加工图标注准备单一闭合外围轮廓。
- 从拍图或投影结果中排除较小碎片区域,仅保留主体外环。
工作流程
- 读取有效且长度大于容差的曲线,排除空曲线、无效曲线和过短线段。
- 使用输入平面;未提供有效平面时,根据曲线端点与中点确定共同平面,并检查曲线是否真正共面。
- 识别并排除重合的重复曲线,再从整理后的线网寻找闭合区域。
- 逐一取得候选区域的外环;内孔不与外环拼接,任一候选外环不完整时不会草率返回较小区域。
- 比较候选外环面积,输出面积最大的单条闭合曲线。
输入
| 端口 | 要求 | 说明 |
|---|---|---|
| 线条 C | 曲线列表,必需 | 参与计算的共面曲线或线段。它们作为一个整体形成候选区域;单条有效闭合曲线也可以直接得到结果。 |
| 平面 P | 单个平面,可选 | 指定二维区域的计算方向。留空或输入无效平面时自动确定共同平面;若曲线偏离该平面超过允许范围,则停止并提示。 |
| 容差 T | 单个数值,可选 | 控制有效长度、共面检查、重复线判断、区域识别与微小断口修复。默认 0;小于等于零或不是有效数值时使用 Rhino 文档容差。 |
输出
| 端口 | 结果 | 结构 |
|---|---|---|
| 最外围线框 O | 面积最大闭合区域的完整外环,不包含该区域的内孔。 | 单条闭合曲线,可继续用于面积、偏移、填充、标注或其他二维轮廓处理。 |
容差与回退规则
- 先按当前容差寻找可靠区域;失败时只额外使用 2 倍容差重试一次,避免把真实缝隙错误合并。
- 仍未形成区域时,会尝试连接线网,并且只修复 2 倍容差范围内的极小首尾断口。
- 若输入中本来就有完整闭合曲线,可在区域识别失败时使用其中面积最大的曲线。
- 明显缺段、无法闭合或不共面的线网不会被强行伪造成结果。
实际示例
输入一个大型不规则外框、两个圆形内孔、数条内部隔线、重复边,以及旁边一个较小的闭合矩形。组件整理线网后识别两个候选外环,比较面积并输出大型不规则外框;圆孔、隔线、重复边和小矩形均不会进入输出。
常见问题
- 没有输出:检查主体外环是否缺段、端点间隙是否超过容差,以及全部曲线是否位于同一平面。
- 选中了辅助框:结果按面积选择;若辅助框更大,应先从输入中排除。
- 需要内孔:本组件只输出最大区域的外环,孔洞应通过其他流程另行保留或提取。
- 细节被合并:容差过大会把本应分开的近邻线误判为相接,应降低 T 或改善上游线网。