标准件 标准件 · U_SP

创建加工件/标准件,从基准平面变换到目标位置,自动关联单元信息并生成完整属性集
📂 LK → Util → US 📄 U_?StandardParts.cs 🧩 标准件 🔀 平面变换 📋 信息列表

📖 功能概述

该组件用于创建和定位加工件/标准件(如连接件、角码、加强筋等)。它执行以下操作:

输出的完整属性集可以与型材、板材一起烘焙到Rhino物件中,形成统一的装配数据。

📥 输入参数

名称类型必填说明
标准件 Brep 必填 标准件几何模型。如果包含了"模号"信息(UserDictionary中的"模号"键),会自动继承。
基准pln Plane 必填 标准件当前所在的基准平面。与目标平面共同计算变换矩阵。
目标pln Plane 必填 标准件变换后的目标平面。
名称 Text 必填 标准件名称。用于从信息列表中匹配序号。
Panel Brep 必填 表皮。用于提取单元号和批次。
信息列表 Text 必填 格式:序号,名称,物料编码,工程属性。每行一项。列表
模号 Text 可选 加工件模号。如果不输入(默认"-"),则尝试从截面物件的UserDictionary中读取。如果截面已有模号,输入此参数可覆盖。可选

📤 输出参数

名称类型说明
标准件 Brep 经过空间变换后的标准件Brep。已从基准平面位置移动到目标平面位置。
图层 Text 格式:模型::{单元号}::加工件::{名称}
TS Transform 从基准平面到目标平面的变换矩阵。可用于其他下游组件。
信息Key Generic 19个属性键名列表。如果模号为"-"则不含"模号"键。列表
信息Value Generic 与Key一一对应的属性值列表。列表
pln Plane 标准件局部坐标平面(基于目标平面绕Y轴旋转90度)。

🧠 核心算法详解

一、PlaneToPlane 变换

与 UtilTS 组件使用相同机制:

Transform.PlaneToPlane(基准平面, 目标平面)

标准件先复制一份,然后施加此变换,从基准位置移动到目标位置。
输出的Transform也可供其他组件(如ObjTS)使用。

二、模号优先级

模号的确定遵循以下优先级:

优先级1:输入"模号"参数不为"-" → 使用输入值
优先级2:输入"模号"参数为"-"且原物件UserDictionary包含"模号"键 → 使用原物件模号
优先级3:两者都不是 → 模号保持为"-"

如果最终模号为"-",输出属性列表中会移除"模号"键,不输出空值。

三、pln 生成

标准件的pln不是直接从输入获取,而是将目标平面绕其Y轴旋转90度生成:

pln = new Plane(目标平面);
pln.Rotate(0.5 × π, pln.YAxis);

这个旋转后的平面作为标准件属性中存储的"pln"值,适用于大多数连接件的定位方向。

四、图层与信息集

图层路径: 模型::{单元号}::加工件::{名称}
与型材的 模型::{单元号}::{类型}::... 不同,标准件的图层路径中固定包含"加工件"层级,与型材/板材区分。

完整属性集(19个Key):
名称 · 类型(固定"加工件") · pln · 面板ID · 单元号 · 批次 · 模号 · 序号 · L · W · T · 单位("块") · 自由项1 · 自由项2 · 自由项3 · 编号 · 物料编码 · 工程属性 · 加工图号

🧪 典型使用场景

场景详细说明
连接件定位 将连接件(角码、连接板等)从库中定义的基准位置变换到目标单元的对应位置。
模号自动填充 如果截面库中的标准件已经包含了模号信息,使用"-"作为输入模号即可自动继承,无需重新指定。
编号对齐 标准件的编号规则与型材和板材一致(基于单元号和序号),保证整个项目的编号体系统一。

⚠️ 注意事项

📋 组件信息

名称标准件
英文名U_SP
分类LK → Util
Exposure默认
基类GH_Component(无按钮)
文件US\U_?StandardParts.cs
GUID{9F3D4611-5A1D-47C3-8371-3DDED8108A1D}