用一个或多个封闭实体切割单个曲面或 Brep,并将保留部分与被切除部分分别输出,适合批量整理布尔切割结果。
功能概览
组件采用连续切割方式处理实体列表:第一个实体切割原目标,后一个实体只继续处理前一步留下的部分。每轮产生的碎片都会按其位于切割实体内部或外部分类,内部碎片累计为“被切割掉的部分”,外部碎片进入下一轮并最终成为“剩余部分”。这种双输出使切除结果可被检查、着色或另作处理,而不是在布尔运算后直接丢失。
适用场景
- 从板件或曲面中扣除多个实体占据的区域。
- 同时保留切割后的主体与被移除部分以便检查。
- 对数据树中的多组切割任务进行对应计算。
工作流程
- 准备一个待切割曲面或 Brep。
- 准备一组有效、封闭的实体切割体。
- 将待切对象接入“曲面”,将切割体列表接入“实体”。
- 等待计算完成并检查警告或错误。
- 分别使用剩余部分和被切掉部分,必要时按原数据树分支继续处理。
输入
| 端口 | 要求 | 数据与匹配 | 空值、默认与误接 |
|---|---|---|---|
| 曲面 S | 必需 | 单个 Brep,作为每次任务的被切割对象;数据树按迭代路径求解。 | 无默认值。缺失或空分支不会借用相邻分支的数据,而是为该位置保留空结果。 |
| 实体 T | 必需 | Brep 列表;同一列表中的多个实体共同切割当前曲面。 | 每个非空切割体都必须是封闭实体。输入开放 Brep 会使对应任务报错,不会把结果错配到其他分支。 |
输出
| 端口 | 结果 | 结构与下游 |
|---|---|---|
| 切割后剩余部分 R | 执行切割后保留下来的 Brep。 | 列表;可能为一件、多件或空列表。适合连接合并、面积/体积检查或继续建模。 |
| 被切割掉的部分 I | 落入切割区域、从原对象中分离出来的 Brep。 | 列表;与当前任务对应。适合用于废料检查、碰撞显示或切除范围核对。 |
实际示例
将一块矩形板状 Brep 接入“曲面”,再把两个穿过板面的封闭圆柱体组成列表接入“实体”。完成后,“切割后剩余部分”得到带两个孔的板件;“被切割掉的部分”得到两个与板件相交的切除体。若第二个数据树分支没有板件输入,该分支输出空列表,第三个分支的结果仍留在第三个位置,不会前移。
配合使用
上游可使用实体检查确认所有切割体均封闭;下游可对剩余部分执行连接、面积或体积分析,并用自定义预览把被切除部分设置成醒目颜色。需要逐组批量处理时,应先整理好“曲面”与“实体”的数据树对应关系。
常见问题与限制
- “切割体必须为实体”:列表中至少有一个非空 Brep 不是封闭实体,请先封口或修复。
- 输出为空不一定是故障;切割体未与目标相交、布尔结果为空或当前输入分支缺失时都可能得到空列表。
- 计算被取消或尚未完成时不会发布不完整结果,应等待消息更新后再判断。
- 组件是一对多关系:每次任务只有一个被切对象,但可接收多个切割实体。