把上游单项、列表或数据树整理成可人工选择的文本候选,每次只输出当前选中的一个文本值。
功能概览
组件读取上游全部数据,按读取顺序把每一项转换成显示文本,并在候选列表最前方固定加入默认项“LK”。点击组件右侧箭头可展开候选列表,当前项带勾;选择后,右侧只输出一个文本,输出路径固定为 {0}。
组件会记住当前选择和最近一次候选列表。上游更新时,如果当前文本仍存在就保持选择;若已经不存在,则自动回到第一个候选“LK”。输入连线在画布上默认隐藏,但真实连接与数据更新仍然有效。

适用场景
- 从图层名、构件类型、材料、规格、编号或方案名称中人工确认一项。
- 把动态生成的候选列表收纳为一个紧凑的画布选择器。
- 为过滤、分类、查找或模式选择提供稳定的单个文本条件。
- 保存上次人工选择,让 Grasshopper 文件重新打开后保持工作状态。
工作流程
- 把候选数据接到组件左侧。连接完成后导线会隐藏,这是组件的正常显示方式。
- 组件按上游数据树的读取顺序收集全部项,并把每项的显示内容转换成文本。
- 点击右侧箭头展开列表;“LK”始终排在首位,其后是当前上游候选。
- 点击一个候选。列表关闭,组件表面显示当前文本并立即更新下游。
- 上游列表变化时观察选择是否仍有效;若原文本被移除,输出会自动回到“LK”。
输入与输出
| 端口 | 结构 | 转换与空值行为 |
|---|---|---|
| 左侧候选输入 | 通用数据,可为单项、列表或数据树。 | 所有项按上游读取顺序转为文本;原路径和原数据类型不会传到输出。画布连线隐藏,但输入端仍存在。 |
| 右侧当前选择 | 一个文本,路径 {0}。 | 输出当前候选的文本内容。没有新上游数据时至少仍可选择默认项“LK”;最近候选还会从文件缓存恢复。 |
候选更新规则
| 情况 | 结果 |
|---|---|
| 当前文本仍在新候选中 | 保持原选择,并在新列表中勾选第一次出现的同名项。 |
| 当前文本从新候选中消失 | 自动选择列表第 1 项“LK”,输出随之变为 LK。 |
| 上游包含重复显示文本 | 列表会保留重复项,但同名项表达相同文本,当前选择会定位到第一次出现的位置,无法区分来源。 |
| 保存并重新打开文件 | 恢复当前文本与最近候选;同时兼容旧版本保存的候选格式。 |
实际示例
上游依次提供“铝型材、钢型材、玻璃、密封胶”,候选列表会显示“LK、铝型材、钢型材、玻璃、密封胶”。选择“钢型材”后,输出是路径 {0} 中的单个文本“钢型材”。若上游随后删除“钢型材”,新列表变为“LK、铝型材、玻璃、密封胶”,当前值无法继续匹配,于是自动回到 LK;其他候选不会被输出。
常见问题与限制
- 输出一定是文本。输入数字、几何或其他对象时,只保留其显示出来的文字;需要原对象时不应使用本组件作为选择通道。
- 只支持单选,不支持一次输出多个候选。
- 长文本在组件表面可能以省略号显示,候选实际文本和输出仍保留完整内容。
- 同名候选无法区分来源,建议在上游去重,或先把来源信息组合进显示文本。
- 候选顺序跟随上游读取顺序;需要稳定菜单时应先在上游稳定排序。
- 看不到输入导线不代表断开。排查数据更新问题时,应检查左侧真实连接和上游求解状态。