接收数量可变的多棵数据树,先按右键选择的模式分别整理每个输入,再按输入顺序汇入一棵结果树。
功能概览
组件初始提供两个可选输入端。只要最后一个输入端接上线,就会自动在末尾增加一个新的空输入端,因此可继续扩展 D1、D2、D3…;空输入会被跳过。每棵有效输入树先独立执行当前模式,然后才合并到结果中。
默认模式是 Simplify。若整理后的多棵树出现相同路径,数据会按输入端顺序追加到同一结果分支;Combine 类模式会先把输入序号加到路径最前方,从结构上隔开不同输入。

适用场景
- 把数量不固定的多路数据汇总到一个输出端。
- 合并前统一拍平、嫁接或简化每棵输入树。
- 用输入序号作为路径前缀,保留每一路数据的来源分区。
- 把各输入树的分支重新编号后再交给只关心连续路径的下游流程。
工作流程
- 连接 D1、D2;需要更多输入时连接当前最后一个空端口,组件会继续增加新的末尾端口。
- 右键选择一种组合模式。该模式会同样作用于每一棵有效输入树。
- 组件跳过空输入,对其余输入按 D1、D2、D3… 顺序独立整理。
- 把整理后的树依次合并;相同路径的数据追加到同一分支,不同路径保持分开。
- 从“结果(R)”读取最终数据树,并用数据查看工具核对路径是否符合下游要求。
输入与输出
| 端口 | 结构 | 匹配与空值行为 |
|---|---|---|
| Data 1…n(D1…n) | 可选的通用数据树输入,至少保留一个端口,数量可动态增加或删除。 | 未连接、读取失败或没有分支的输入直接跳过。组件不改变数据对象本身,只改变路径组织。 |
| 结果(R) | 单棵通用数据树。 | 包含所有有效输入经当前模式处理后的数据;同路径按输入端顺序合并。 |
九种组合模式
| 模式 | 每棵输入树的处理 | 合并后的关键表现 |
|---|---|---|
| None | 保留原路径。 | 不同输入的同路径直接汇合。 |
| Flatten | 每棵输入树先拍平成一个分支。 | 拍平后的同路径继续汇合,通常形成一个总分支。 |
| Graft | 每个数据项嫁接为独立分支。 | 不同输入中产生的同路径仍会合并。 |
| Simplify(默认) | 分别移除各自所有路径共有的重叠前缀。 | 简化后再按路径合并;不同输入的简化结果可能发生新汇合。 |
| Graft→Simplify | 先把每项嫁接,再分别简化公共前缀。 | 保留逐项分支,同时缩短冗余前缀。 |
| Combine | 把输入序号 0、1、2… 加到每条原路径最前方。 | 不同输入拥有独立前缀,原本相同的路径不会混合。 |
| Renumber | 每棵输入树按当前分支顺序改为 {0}、{1}、{2}…。 | 各输入的相同分支序号会合并,原路径语义被舍弃。 |
| Combine→Renumber | 先加输入序号前缀并合并,再把最终所有分支依次改为 {0}、{1}、{2}…。 | 数据仍按原输入和路径顺序分区,但最终路径只保留连续编号。 |
| Flatten→Combine | 当前版本没有执行名称所示的拍平与加前缀处理。 | 实际结果等同于 None:保持原结构后合并。若需要该效果,应先在上游拍平,再使用 Combine。 |
实际示例
D1 与 D2 都包含路径 {2;0}。选择 None 时,两路数据会共同进入结果 {2;0},D1 数据排在 D2 数据之前。选择 Combine 时,D1 变为 {0;2;0},D2 变为 {1;2;0},两路保持分开。选择 Renumber 时,每棵树的第一、第二个分支分别改为 {0}、{1},随后两棵树的 {0} 会汇合、{1} 也会汇合。
常见问题与限制
- 模式作用于每一棵输入树,而不是先把所有输入混在一起再统一变换;Combine→Renumber 的最终重编号除外。
- Simplify 是每个输入独立简化,共有前缀不同的两棵树可能得到相同的短路径并在合并时汇合。
- Renumber 依赖当前分支顺序,会舍弃原路径数字所代表的语义。
- 当前 Flatten→Combine 与菜单名称不一致,真实行为等同 None;页面已按现状说明,避免误用。
- 组件不排序、去重或比较数据内容;同路径合并只按输入端和原分支中的现有顺序追加。