最近 Brep 索引图标

LK COMPONENT DOCS

最近 Brep 索引

在 Brep 列表中查找离指定三维点最近的有效模型,并返回它在原始列表中的零起始序号。

功能概览

组件逐个检查输入列表里的有效 Brep,求查询点到每个几何体最近位置的距离,并输出最短距离对应的原始索引。它返回的是整数索引,不会输出最近点、距离或被选中的 Brep。空值、无效几何或无效包围盒会被跳过,但跳过不会压缩其余模型的原始序号。等距时选择原始序号较小的候选。

查询点到多个Brep计算距离并返回最近者的原始索引
比较查询点到有效 Brep 的最近距离;返回原列表位置,图例中的 Brep 1 对应索引 1。

适用场景

  • 按检测点、鼠标采样点或测量点找到最近的构件记录。
  • 将查询点匹配到候选实体列表,再用索引读取并行属性列表中的名称、编号或类别。
  • 在多个备选几何间建立最近对象选择逻辑;结果索引可接入 List Item。

工作流程

  1. 准备一组 Brep 几何,并保证其顺序与要查询的属性列表一致。
  2. 将几何列表接到“Breps”输入,将有效三维点接到“点”输入。
  3. 读取“索引”输出;索引从零开始,指向输入原列表,而不是过滤后的有效模型列表。
  4. 用该索引从同顺序的属性列表取值,或通过列表选择组件取得对应模型。

输入

端口是否必需数据与结构默认、匹配与误接说明
Breps(B)必需Brep 列表;列表位置构成原始零起始索引。空值、无效 Brep 或无效包围盒跳过并给出警告。索引仍保留原列表位置;普通曲线、点或 Mesh 不符合输入类型。
点(P)必需单个有效 Point3d 查询点。无默认值;无效点产生错误,不会进行筛选。点与 Brep 使用同一 Rhino 三维模型坐标空间。

输出

端口结果与结构典型下游
索引(I)一个整数,表示最近有效 Brep 在原始 Brep 列表中的位置,从 0 开始。接 List Item 取得对应 Brep 或并行属性值;也可用于分支选择与索引标注。

实际示例

将四个构件依次放入 Breps 列表,列表索引分别为 0、1、2、3;第二项为空值。查询点到有效模型 0、2、3 的最近距离分别为 42、9、18 个模型单位,则组件输出 2。空项不导致模型 3 的索引变成 2,输出仍可直接读取原属性列表的第三项。

如果没有任何有效候选,组件发出“没有可用于筛选的有效 Brep”警告且不输出索引。该组件只做最近距离选择,不会判断点在实体内外,也不会把距离阈值之外的模型排除。

配合使用

  • 上游接 Brep 参数或生成 Brep 列表的几何组件;查询点可来自点参数、测量数据或其他点运算结果。
  • 索引输出接列表选取组件,读取与 Brep 列表保持同序的名称、ID、材料或其他信息。
  • 如需得到最近点坐标或距离,应使用能输出最近点/距离的几何计算流程;本组件只返回索引。

常见问题与限制

为什么索引似乎偏移了一项?
输出为从 0 开始的原始列表索引。Grasshopper 面板通常显示列表位置;若手工编号按 1 起算,需要转换后再展示。
跳过无效 Brep 后,索引会重新连续编号吗?
不会。跳过项计入原始位置,因此索引可用于访问未过滤的平行列表。
多个 Brep 距离相同时选哪一个?
选择原始索引较小的有效 Brep。浮点几何计算可能受模型精度影响,近似相等的距离未必构成严格平局。
输出能表示距离或几何吗?
不能。输出只有最近候选的索引;组件不会提供距离、最近点或选中 Brep。