🧠 运行流程
输入类型解析链
组件按以下优先级尝试将输入转换为 RhinoObject:
| 优先级 | 输入类型 | 转换逻辑 |
| 1 | IGH_GeometricGoo | 通过 ReferenceID 在 Rhino 文档中查找对应对象 |
| 2 | RhinoObject(直接传入) | 直接使用 |
| 3 | GH_Guid | 通过 doc.Objects.FindId(guid) 查找 |
| 4 | GH_ObjectWrapper(内含 RhinoObject) | 解包提取 RhinoObject |
⚠️ 空值处理:如果输入为空,报 Warning 输入的物件为空。如果所有转换尝试均失败,报 Error 无法识别输入的物件类型。
颜色获取
- 模式判断 — 检查
SelectedIndex
- 物件颜色模式:
rhinoObject.Attributes.DrawColor(RhinoDoc.ActiveDoc)
- 图层颜色模式:获取
rhinoObject.Attributes.LayerIndex → 定位 Layer → 取 layer.Color
- 如果该模式取不到(例如物件没有关联图层),报 Warning 并返回
- 整个流程被 try-catch 包裹,异常时报 Error
获取物件颜色时出错: {message}