LK_DicPanel
Rhino物件字典面板 — 查看、编辑、搜索、可视化 UserDictionary 数据的全能工具
✦概述
LK_DicPanel 是一款面向 Rhino 7/8 的插件,为用户提供了一个直观的图形化面板,用于浏览和管理 Rhino 物件上挂载的 UserDictionary 与 UserString 数据。
在 Rhino 工作流中,很多插件(如 Grasshopper、第三方工具)会在物件上存储自定义属性数据。这些数据通常隐藏在物件属性中,难以直接查看和管理。LK_DicPanel 将这些数据以清晰表格的形式呈现出来,并提供了搜索、编辑、可视化预览、烘焙输出等一系列高级功能。
📥安装
下载插件文件
获取 LK_DicPanel.rhp 插件文件,保存到本地任意位置(建议集中存放以便管理)。
打开插件管理器
在 Rhino 命令栏输入并执行:PlugInManager
弹出插件管理器对话框。
安装插件
在插件管理器下方点击 安装... 按钮,浏览并选择 LK_DicPanel.rhp 文件。
确认后,插件即被加载并注册到 Rhino 中。
打开面板
在 Rhino 侧边栏(图层、属性位置)单击鼠标右键 → 勾选LK_UserDic,字典面板即会添加到侧边栏显示。
面板位置示意
LK_UserDic 作为侧边栏面板,与 Rhino 属性面板、图层面板等并列显示在右侧面板区域。
🗑️ 卸载插件
将 LK_DicPanel.rhp 文件直接删除即可完成卸载。Rhino 下次启动时不会加载该插件。
💡 提示:如果插件当前正在 Rhino 中加载,建议先关闭 Rhino 再删除文件。
仅支持 Rhino 7/8(.NET Framework 4.8 / x64 架构)。
🖥字典面板
LK_UserDic 面板是插件的核心界面,以表格形式展示选中物件的 UserDictionary 数据,并提供编辑、同步、可视化、烘焙等操作入口。
面板布局
面板自上而下分为四个区域:
- 标题栏 — 显示插件名称与版本号
- 搜索栏 — 搜索模式选择下拉框 + 输入框 + 搜索按钮 + 到期提醒标签
- 操作栏 — 更新按钮 + 多物件模式复选框 + 未列出键计数
- 数据表格 — 四列表格:Key、Value、Display(复选框)、Bake(按钮)
基本使用
打开面板
在 Rhino 中执行命令 LK_UserDic,或在面板栏中勾选 LK_UserDic 面板。
选择物件
在 Rhino 视口中选中任意一个或多个物件。面板自动响应选择事件,显示选中物件的 UserDictionary 数据。
浏览数据
表格自动显示两行系统信息(灰色只读):ID(物件 GUID)和 Layer(所在图层名称),其后为所有字典条目。
面板会自动响应 Rhino 的 SelectObjects、DeselectObjects、ModifyObjectAttributes 等事件,在物件选择或属性变更时自动刷新显示。面板隐藏时不执行刷新,再次显示时自动恢复最新状态。
为保持表格整洁,Key 长度超过 30 个字符的条目将被自动隐藏,并在操作栏右侧的红色数字中显示被隐藏的条目数量(悬停可查看提示)
多物件模式
勾选操作栏上的 显示全部物件信息 复选框,可切换至多物件模式。
| 特性 | 单物件模式 | 多物件模式 |
|---|---|---|
| 显示范围 | 仅显示第一个选中物件的字典 | 汇总显示所有选中物件的字典键 |
| ID / Layer | 显示具体 ID 和图层 | 显示 多物件ID / 多物件Layer(悬停查看提示信息) |
| 相同 Key 不同 Value | 显示单个值 | 显示 (多值), val1, val2, ...(悬停查看完整分行列表) |
| 部分物件缺少的 Key | — | (不存在) 标记 |
在多物件模式下使用右键"通过值选取物件"时,插件会自动解析逗号分隔的值列表,执行逻辑或(OR)搜索——选择匹配任一值的所有物件。
编辑与同步
面板中的数据表格支持直接编辑 Value 列:
- 双击表格中任意 Value 单元格,进入编辑状态
- 修改值后,点击操作栏的 ↻ 更新 按钮
- 系统会弹出确认对话框,确认后写入物件的
UserDictionary - 多物件模式下,更新操作会将表格内容批量应用到所有选中物件
单物件模式:移除表格中不存在的 Key,添加/修改表格中存在的 Key。
多物件模式:当某 Key 存在多个值时,仅使用第一个值;缺少 Key 的物件不会自动补全该 Key。
每次更新都会创建 Undo 记录,您可以使用 Ctrl+Z 撤销更新操作。
🔗 右键上下文菜单
在表格任意行上 右键点击 可弹出功能丰富的上下文菜单:
| 菜单项 | 功能说明 |
|---|---|
| 通过索引选取物件 | 选中文档中具有该 Key 的所有物件 |
| 通过值选取物件 | 选中文档中具有该 Value 的所有物件(多值时自动拆分逻辑或搜索) |
| 通过索引和值选取物件 | 同时匹配 Key 和 Value 进行精确搜索 |
| 复制索引和值 | 将 Key: Value 复制到剪贴板 |
| 选择对应物件(GUID) | 当 Value 为 GUID 类型时,自动定位并选中该 ID 对应的 Rhino 物件 |
Display 与 Bake 操作
表格的最后两列提供了两个强大的几何操作入口:
Display(显示列)
勾选某行的 Display 复选框,可在视口中实时预览该 Key 对应的几何数据。支持点、线、曲线、曲面、Brep、网格、平面(含坐标轴)、向量、圆、球体、方盒等多种类型。取消勾选即可清除显示。按 ESC 键一键清除所有临时显示。
Bake(烘焙列)
点击某行的 Bake 按钮(B),将该 Key 对应的几何数据从字典中烘焙为文档中的实际 Rhino 物件。烘焙后的物件会应用 LK 品牌色(橙红色)并自动命名。每次操作创建 Undo 记录。
🔍搜索与拾取
LK_DicPanel 提供了多种搜索方式,帮助您快速定位和选择具有特定 UserDictionary 数据的 Rhino 物件。
基础搜索
面板顶部的搜索栏提供了两种基础搜索模式:
按 Key 搜索
在下拉框中选择 Key 模式。输入 Key 名称并点击搜索按钮(🔍),插件会搜索所有 UserDictionary 中包含该 Key 的物件并选中它们。
按 Value 搜索
在下拉框中选择 Value 模式。输入 Value 内容并点击搜索按钮。支持搜索 UserDictionary 和 UserString 中的值。
高级搜索(右键菜单)
面板表格中的右键菜单提供了更精细的搜索选项:
| 搜索方式 | API 方法 | 说明 |
|---|---|---|
| Key | RhinoObjSearch.SelectByKey(key) |
选择所有包含指定 Key 的物件(无论值是什么) |
| Value | RhinoObjSearch.SelectByValue(value) |
选择所有包含指定 Value 的物件(搜索所有键) |
| Key + Value | SelectByKeyAndValue(key, value) |
精确搜索:同时匹配 Key 和 Value |
| Key + 多Value | SelectByKeyAndMultipleValues(key, values) |
逻辑或搜索:Key 匹配,Value 匹配列表中的任意一个 |
| 多 Value | SelectByMultipleValues(values) |
逻辑或搜索:匹配列表中任意一个 Value |
所有搜索操作在执行前会自动清空当前选择,以保证搜索结果的唯一性。搜索结果会立即在视口中以高亮显示。搜索范围包括隐藏物件和锁定物件。
👁可视化预览
ArchivableDictionaryVisualizer 是插件内置的实时显示引擎,可在 Rhino 视口中直观地呈现字典中存储的几何数据。
支持的几何类型
Point3d
显示为亮黄色圆点(半径 5px),支持位置定位。
Line
橙红色粗线,端点附带圆点标记。
Curve
完全支持 NURBS 曲线绘制,起点和终点附带圆点标记。
Brep
半透明青色着色显示(透明度约 53%),并绘制边缘轮廓线。
Mesh
半透明青色网格,完全着色。
Plane
彩色坐标轴(红=Y轴/X轴,绿=Y轴,蓝=Z轴)+ 半透明黄色平面。
Vector3d
品红色箭头,从原点出发。
Circle
橙红色圆形曲线,两端点附带标记。
Sphere
半透明黄色球体线框显示。
Box
半透明青色实体 + 橙红色粗边线。
如果字典值本身是 ArchivableDictionary 类型,Visualizer 会递归进入该字典,对其中所有可显示的几何类型逐一显示。
按 ESC 键可一键清除所有临时显示的几何预览。
烘焙输出(Bake)
Bake 功能将字典中存储的几何数据从"数据"转换为"实物",创建为文档中的实际 Rhino 物件:
| 源类型 | 烘焙结果 |
|---|---|
| Point3d | Point 物件,命名 烘焙点 - {key} |
| Line | Line 物件 |
| Curve | Curve 物件 |
| Brep | Brep 实体 |
| Mesh | Mesh 网格 |
| Circle | NURBS 曲线圆 |
| Sphere | Brep 球体 |
| Box | Brep 方盒 |
| ArchivableDictionary | 递归烘焙内部所有几何数据 |
所有烘焙出的物件应用 LK 品牌色(#FF4600),颜色来源设置为 ColorFromObject,支持 Ctrl+Z 撤销。
⌨Rhino 命令
LK_DicPanel 注册了以下 Rhino 命令,可在命令栏直接使用。
EXS_LK — 延伸曲面
对选中的曲面(Surface)沿四个方向(北、南、西、东)进行均匀延伸。
执行 EXS_LK
在视口中选择一个或多个要延伸的曲面(支持 Brep 中的子曲面)
输入延伸距离(默认 100,自动记忆上次输入的值),直接回车使用默认值
延伸后的新曲面将自动添加到文档中
| 特性 | 说明 |
|---|---|
| 支持选择 | 多选、Brep 子曲面选择(SubObjectSelect) |
| 延伸方向 | 全部四个 Iso 方向(South / North / West / East) |
| 距离记忆 | 同一 Rhino 会话内自动记住上次输入的距离值 |
| 保留原曲面 | 当前版本保留原始曲面(不删除),可手动清理 |
| 错误处理 | 部分曲面延伸失败时给出警告信息,不影响成功的曲面 |
ISO_LK — 隔离物件
隐藏文档中除选中物件外的所有其他物件,快速聚焦到目标物件的操作。
执行 ISO_LK
选择要保留的物件(支持多选所有类型)
系统自动隐藏其他所有可见物件,仅显示选中物件
使用 Rhino 自带的 Show 命令或 UnhideAll 即可恢复所有被隐藏的物件。
LK_UserDic — 打开面板
打开 LK_UserDic 字典面板。面板也可在 Rhino 的 面板 → LK_UserDic 中手动打开。
面板支持 ESC 清除所有可视化预览。焦点在面板内时,右键打开上下文菜单。
📄授权说明
LK_DicPanel 采用以下授权机制:
免费使用期
截至 2027 年 3 月 15 日,所有用户均可免费使用全部功能,无需授权文件。
授权文件
免费期过后续持使用,需在插件目录放置有效授权文件。可将授权文件放置在与 .rhp 相同的目录下。
到期提醒
免费期或授权剩余 ≤7 天时,面板标题栏显示红色到期提醒文字。
授权文件与设备绑定,不可跨设备使用。
📋版本日志
v1.0.1 (当前版本)
- 正式发布版
- 完整的字典面板功能(查看、编辑、同步)
- 搜索拾取系统(Key / Value / Key+Value)
- 几何可视化显示引擎(支持 10+ 类型)
- Bake 烘焙输出
- 右键上下文菜单
- 多物件模式
- 授权验证
- EXS_LK(曲面延伸)和 ISO_LK(隔离物件)命令