# UserStringProperty
Rhino 插件,根据用户自定义 XML 配置,给 Block 实例附加属性(UserString)。
## 功能
- 根据 XML 配置文件动态生成属性编辑界面
- 支持 `string` 类型字段(TextBox)和 `list` 类型字段(ComboBox)
- 自动保存到 Rhino Block 的 UserString
- 支持多个 XML 模板同时加载、合并
- 模板自动持久化,Rhino 重启后自动恢复
- 导入时检测属性集冲突,覆盖或新增
## 安装
### 编译
```bash
cd UserStringProperty
dotnet build
```
输出:`UserStringProperty/bin/UserStringProperty.dll`
### 加载到 Rhino
1. 将 `bin/UserStringProperty.dll` 重命名为 `UserStringProperty.rhp`
2. Rhino → `Options` → `Plug-ins` → `Install` → 选择 `.rhp` 文件
### 使用
1. 在 Rhino 中输入命令:`UserstringProperty`
2. 选择要编辑的 Block 实例
3. 默认模板首次启动自动加载;点 **加载XML** 导入自定义模板
4. 在弹出的对话框中选择 cmig 和属性集,若同名已存在则需确认覆盖
5. 在下拉框中选择属性集,编辑各字段值
6. 点击 **写入属性**
## 模板导入
加载 XML 时,会弹出对话框让选择 cmig 和属性集,检测同名冲突:
- **同名属性集不存在** → 直接保存为新模板
- **同名属性集已存在** → 需确认是否覆盖
## XML 配置格式
插件根据 XML 动态生成 UI。示例 XML 格式如下:
```xml
```
### 字段类型
| type | 控件 | 说明 |
|------|------|------|
| `string` | TextBox | 自由文本输入 |
| `list` | ComboBox | 下拉选项(通过 `