Rhino 7/8 Plugin · v1.0.1

LK_DicPanel

Rhino物件字典面板 — 查看、编辑、搜索、可视化 UserDictionary 数据的全能工具

👤 作者:Link 🎯 目标框架:.NET 4.8 (Rhino 7/8) 📦 版号:1.0.1.1

概述

LK_DicPanel 是一款面向 Rhino 7/8 的插件,为用户提供了一个直观的图形化面板,用于浏览和管理 Rhino 物件上挂载的 UserDictionaryUserString 数据。

在 Rhino 工作流中,很多插件(如 Grasshopper、第三方工具)会在物件上存储自定义属性数据。这些数据通常隐藏在物件属性中,难以直接查看和管理。LK_DicPanel 将这些数据以清晰表格的形式呈现出来,并提供了搜索、编辑、可视化预览、烘焙输出等一系列高级功能。

📊 字典面板 以键值对表格显示选中物件的 UserDictionary,支持编辑与同步 核心
🔍 搜索拾取 按 Key / Value / Key+Value 快速搜索并选中物件 搜索
👁 可视化预览 在视口中实时显示字典中的几何数据(点、线、面、体等) 可视化
🍳 烘焙输出 将字典中存储的几何数据烘焙为文档中的实际物件 可视化
⌨ 命令工具 曲面延伸、物件隔离等实用 Rhino 命令 命令
📦 数据检索 API 供开发者调用的静态检索与取值工具类 工具

📥安装

1

下载插件文件

获取 LK_DicPanel.rhp 插件文件,保存到本地任意位置(建议集中存放以便管理)。

2

打开插件管理器

在 Rhino 命令栏输入并执行:PlugInManager

弹出插件管理器对话框。

3

安装插件

在插件管理器下方点击 安装... 按钮,浏览并选择 LK_DicPanel.rhp 文件。

确认后,插件即被加载并注册到 Rhino 中。

4

打开面板

在 Rhino 侧边栏(图层、属性位置)单击鼠标右键 → 勾选LK_UserDic,字典面板即会添加到侧边栏显示。

🖼️

面板位置示意

LK_UserDic 作为侧边栏面板,与 Rhino 属性面板、图层面板等并列显示在右侧面板区域。

📐 属性面板 📁 图层面板 📊 LK_UserDic

🗑️ 卸载插件

LK_DicPanel.rhp 文件直接删除即可完成卸载。Rhino 下次启动时不会加载该插件。

💡 提示:如果插件当前正在 Rhino 中加载,建议先关闭 Rhino 再删除文件。

⚠️ 系统要求

仅支持 Rhino 7/8(.NET Framework 4.8 / x64 架构)。

🖥字典面板

LK_UserDic 面板是插件的核心界面,以表格形式展示选中物件的 UserDictionary 数据,并提供编辑、同步、可视化、烘焙等操作入口。

面板布局

LK_字典面板 版号 1.0.1.1
⑧ Key 输入搜索文本 🔍 搜索 2027-03-15授权到期!
↻ 更新 ☐ 显示全部物件信息 0
KeyValueDisplayBake
IDf1a2b3c4-...
LayerDefault
height1200.5B
curveDataCurveB

面板自上而下分为四个区域:

  1. 标题栏 — 显示插件名称与版本号
  2. 搜索栏 — 搜索模式选择下拉框 + 输入框 + 搜索按钮 + 到期提醒标签
  3. 操作栏 — 更新按钮 + 多物件模式复选框 + 未列出键计数
  4. 数据表格 — 四列表格:Key、Value、Display(复选框)、Bake(按钮)

基本使用

1

打开面板

在 Rhino 中执行命令 LK_UserDic,或在面板栏中勾选 LK_UserDic 面板。

2

选择物件

在 Rhino 视口中选中任意一个或多个物件。面板自动响应选择事件,显示选中物件的 UserDictionary 数据。

3

浏览数据

表格自动显示两行系统信息(灰色只读):ID(物件 GUID)和 Layer(所在图层名称),其后为所有字典条目。

💡 自动刷新

面板会自动响应 Rhino 的 SelectObjectsDeselectObjectsModifyObjectAttributes 等事件,在物件选择或属性变更时自动刷新显示。面板隐藏时不执行刷新,再次显示时自动恢复最新状态。

🔑 Key 长度限制

为保持表格整洁,Key 长度超过 30 个字符的条目将被自动隐藏,并在操作栏右侧的红色数字中显示被隐藏的条目数量(悬停可查看提示)

多物件模式

勾选操作栏上的 显示全部物件信息 复选框,可切换至多物件模式。

特性 单物件模式 多物件模式
显示范围 仅显示第一个选中物件的字典 汇总显示所有选中物件的字典键
ID / Layer 显示具体 ID 和图层 显示 多物件ID / 多物件Layer(悬停查看提示信息)
相同 Key 不同 Value 显示单个值 显示 (多值), val1, val2, ...(悬停查看完整分行列表)
部分物件缺少的 Key (不存在) 标记
💡 多值时的搜索行为

在多物件模式下使用右键"通过值选取物件"时,插件会自动解析逗号分隔的值列表,执行逻辑或(OR)搜索——选择匹配任一值的所有物件。

编辑与同步

面板中的数据表格支持直接编辑 Value 列:

  1. 双击表格中任意 Value 单元格,进入编辑状态
  2. 修改值后,点击操作栏的 ↻ 更新 按钮
  3. 系统会弹出确认对话框,确认后写入物件的 UserDictionary
  4. 多物件模式下,更新操作会将表格内容批量应用到所有选中物件
⚠️ 更新行为说明

单物件模式:移除表格中不存在的 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 记录。

👁可视化预览

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 物件:

源类型烘焙结果
Point3dPoint 物件,命名 烘焙点 - {key}
LineLine 物件
CurveCurve 物件
BrepBrep 实体
MeshMesh 网格
CircleNURBS 曲线圆
SphereBrep 球体
BoxBrep 方盒
ArchivableDictionary递归烘焙内部所有几何数据
✨ 烘焙特性

所有烘焙出的物件应用 LK 品牌色(#FF4600),颜色来源设置为 ColorFromObject,支持 Ctrl+Z 撤销。

Rhino 命令

LK_DicPanel 注册了以下 Rhino 命令,可在命令栏直接使用。

EXS_LK — 延伸曲面

对选中的曲面(Surface)沿四个方向(北、南、西、东)进行均匀延伸。

1

执行 EXS_LK

2

在视口中选择一个或多个要延伸的曲面(支持 Brep 中的子曲面)

3

输入延伸距离(默认 100,自动记忆上次输入的值),直接回车使用默认值

4

延伸后的新曲面将自动添加到文档中

特性说明
支持选择多选、Brep 子曲面选择(SubObjectSelect)
延伸方向全部四个 Iso 方向(South / North / West / East)
距离记忆同一 Rhino 会话内自动记住上次输入的距离值
保留原曲面当前版本保留原始曲面(不删除),可手动清理
错误处理部分曲面延伸失败时给出警告信息,不影响成功的曲面

ISO_LK — 隔离物件

隐藏文档中除选中物件外的所有其他物件,快速聚焦到目标物件的操作。

1

执行 ISO_LK

2

选择要保留的物件(支持多选所有类型)

3

系统自动隐藏其他所有可见物件,仅显示选中物件

💡 恢复显示

使用 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(隔离物件)命令