点与闭合曲线图标

LK COMPONENT DOCS

点与闭合曲线

按一根有效平面闭合曲线,将点列表分类为线内、线上和线外,并分别保留原始点及列表序号。

功能概览

组件使用单根有效、平面、闭合且无自交的曲线作为分类边界。每个输入点先按三维距离判断是否在曲线上:最近距离小于或等于容差时属于“线上”。其余点若离曲线平面超过容差,归入线外并产生汇总警告;平面容差内的点按曲线平面上的区域包含关系区分内外。微小离面点只在判断内外时投影,输出仍保留输入的原始三维坐标。三个结果列表均按各自原输入顺序排列,重复点不合并。

闭合边界将输入点分为内、线上和外三组并配对输出索引
三组分类分别输出原始点与其零起始序号;线上判定使用三维距离容差。

适用场景

  • 按闭合轮廓筛选区域内的构件定位点、测量点或采样点。
  • 分别处理边界点、内部点和外部点,并保留与输入数据表对应的索引。
  • 把轮廓分类结果连接到不同的下游加工、显示或属性分支。

工作流程

  1. 提供有效的闭合平面曲线;轮廓应无自交和重叠。
  2. 连接待分类点列表;索引在每个 Grasshopper 列表分支内从 0 计数。
  3. 可选设置正的有限容差;未连接时使用当前 Rhino 文档绝对容差。
  4. 分别读取三组点及配对索引。点仍为原始坐标,不会被投影或移动。

输入

端口是否必需数据与结构默认、匹配与误接说明
点列表(P)必需Point 列表;每个分支独立编号,顺序和重复点均保留。所有点必须有效;空点会报错并指出原序号,不会过滤后重编。可接入单个或多项点数据。
闭合曲线(C)必需一根有效、平面、闭合且无自交的 Curve。不接受开放曲线、空间曲线、自交/重叠边界或无效曲线。该端口为 item,多曲线按 GH 数据匹配规则求解。
容差(T)可选一个大于零的有限数值,模型单位。未连接时采用 Rhino 文档绝对容差;接入但数据为空不会静默回退。该容差同时用于三维线上判定和平面距离检查。

输出

端口结果与结构典型下游
线内点(Pi)落在闭合区域内部的原始点列表,保持其在输入分支中的先后顺序。内部构件处理、区域显示或筛选。
线内序号(Ii)与线内点逐项对应的零起始整数索引。从同一输入分支的其他数据列表提取对应记录。
线上点(Pon)到边界三维距离不超过容差的原始点列表。边界容差检查、边缘对象单独处理。
线上序号(Ion)与线上点对应的零起始整数索引。读取边界点关联的输入数据。
线外点(Po)闭合区域以外的原始点;超出平面容差的点也归入此组。区域外对象过滤、警告复核或另一分支处理。
线外序号(Io)与线外点逐项对应的零起始整数索引。定位并检查被排除的点。

实际示例

XY 平面上的正方形顶点为 (0,0)、(10,0)、(10,10)、(0,10),再闭合回起点。输入点依次为 (5,5,0)、(0,5,0)、(12,5,0),容差为 0.01。组件输出线内点索引 [0],线上点索引 [1],线外点索引 [2]。若再输入一个 (5,5,0.005),因其距曲线不近且离平面在容差内,按投影位置归入线内,但输出坐标保留 z=0.005。

若输入 (5,5,1),它距离曲线平面超过容差,会进入线外并触发离面点警告;该点不会因投影到正方形中心而被误分到线内。点在线附近但三维距离大于容差时,也不会仅因二维投影落在边界上而归为线上。

配合使用

  • 上游可接点参数、测量点或其他点运算组件;闭合边界可来自闭合轮廓建模流程。
  • 每类点与对应序号保持一一配对;使用索引从与输入分支同序的属性列表提取相关记录。
  • 可把三类点分别送入预览或几何操作;该组件只分类,不删除原几何,也不生成投影点。

常见问题与限制

边界上的点为何分类不同?
只有三维最近距离小于或等于当前容差的点归为线上。调整容差会改变边界判定,且数值使用 Rhino 模型单位。
曲线投影平面内的点为什么进入线外?
若该点离曲线所在平面超过容差,会直接归为线外;组件不会把远离平面的点投影后分类。
可否输入自交轮廓或多个边界?
不支持自交或重叠曲线;输入端设计为一根曲线 item。复杂区域应先形成单根无自交边界或拆分求解。
输出索引是整棵数据树的全局序号吗?
不是。每个列表分支各自从 0 编号,点、索引和并行属性需在对应分支内匹配。