该组件专为LK系统创建的型材模型设计,提供精确的长度测量。组件根据型材路径的几何特性自动判断使用直线模式还是弯曲模式:
内置布尔按钮,触发后可将计算结果写入Rhino物件的UserDictionary(键名:L),方便后续BOM清单自动提取。
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 型材模型 | Brep | 必填 | 需要计算长度的型材模型。必须是由LK系统创建、包含标准属性的模型(pln、拉伸-路径、拉伸-截面、拉伸-截面pln、起端切面、终端切面)。 |
| 存储 | Boolean | 可选 | 设为 True 触发长度存储操作,将计算得到的长度写入Rhino物件属性。也可通过组件内置按钮代替。默认值为 False。 |
| 名称 | 类型 | 说明 |
|---|---|---|
| 长度 | Number | 计算得到的型材长度值,保留一位小数。单位与模型单位一致(通常为mm)。 |
| 边界线 | Curve | 仅弯曲型材模式输出。切割后边界框的最长边线,代表型材的有效长度基准线,可用于后续的加工定位。 |
| 边界框 | Brep | 仅弯曲型材模式输出。切割后的弯曲边界框实体,是截面外围沿路径扫掠后经端部切割的纯净实体。 |
IsLinear(1) 判断)。BoundingBoxCalculator 在局部坐标系中计算型材模型的边界框这是该组件的核心复杂度所在。弯曲型材无法像直线型材那样直接读取边界框长度,因为其主方向不再与单一坐标轴对齐。组件采用"截面外轮廓→扫掠重建→切割面分析→提取最长边"的链路完成计算。
BoundingBoxCalculator.ToBoundingRectangle() 计算截面在截面平面上的外包围矩形。SuperExtrude 沿型材的拉伸路径(rail)进行扫掠,生成一个纯净的弯曲管状实体(不含内部任何开孔),然后执行 CapPlanarHoles 封闭端面。BrepIntersectionAnalyzer 对扫掠实体与两个切割面进行相交分析:Intersection.BrepBrep 计算扫掠实体与切割面的相交曲线ParallelBrepBooleanDifference 用Step 4得到的两个垂直平面对扫掠实体进行切割,得到最终的切割后实体。pln、拉伸-路径、拉伸-截面、拉伸-截面pln、起端切面、终端切面。缺少任何一个则报错"模型不符合LK系统要求"。IsLinear(1) 判断路径是否为直线。根据结果选择直线模式或弯曲模式执行。SetUserKey.Key 写入Rhino物件的UserDictionary,键名 L。
| 场景 | 详细说明 |
|---|---|
| 直线型材批量测长 | 在Grasshopper中批量输入多个直线型材,快速获取每个型材的长度,用于BOM清单统计或材料核算。 |
| 弯曲型材弧长测量 | 对于弧形或异形路径的弯曲型材,通过扫掠重建 + 切割面分析精确计算有效弧长,配合输出的基准线进行后续加工定位。 |
| 长度值存储 | 在计算得到满意的长度后,点击内置按钮或输入True触发存储,将长度值写入Rhino物件属性,方便后续通过其他组件读取、导出到Excel或用于自动化加工流程。 |
| 长度基准线提取 | 弯曲型材模式下,输出的边界线(最长边线)可作为后续加工或装配定位的基准线,用于CAM路径规划。 |
这个内部类是弯曲型材长度计算的核心。它专门用于分析扫掠实体与切割面之间的相交关系,确定切割平面的精确位置。
Intersection.BrepBrep(扫掠体, 切割面),获取两者之间的所有相交曲线。CurveSegments 方法将复杂的相交曲线分解为基本段(LineCurve、ArcCurve等),确保后续角点提取精确。该类的输出是一个 AnalysisResult 对象,包含相交曲线、角点、投影点、端点、切割平面等所有中间数据,但组件最终只使用 NormalPlanes(两个切割平面)。
IsLinear(1) 自动判断路径是否为直线。弯曲型材模式下计算量较大,涉及BrepBrep相交和布尔切割,建议在最终确认阶段再运行。| 名称 | 型材长度 |
| 英文名 | L |
| 分类 | LK → Util |
| Exposure | quinary(五级,搜索时较少显示) |
| 显示文本 | L存储(按钮上显示的文本) |
| 基类 | BoolButtonComponent |
| 文件 | BrepLength.cs |
| GUID | {12DB59F9-BF45-4809-8FD7-0909D7F8E0E2} |