# 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. 在下拉框中选择属性集,编辑各字段值 5. 点击 **保存** ## 模板导入模式 加载 XML 时,如果已有模板,会弹出对话框让选择导入模式: | 模式 | 说明 | |------|------| | 添加为新属性集 | 追加到现有列表末尾 | | 完全替代现有模板 | 清空所有现有属性集 | | 合并更新 | 同名属性集覆盖,其他保留 | | 智能合并 | 同名覆盖,同时追加新属性集 | ## XML 配置格式 插件根据 XML 动态生成 UI。示例参见 `Component_Property_base.xml` 和 `Component_Property_carbon.xml`。 ```xml ``` ### 字段类型 | type | 控件 | 说明 | |------|------|------| | `string` | TextBox | 自由文本输入 | | `list` | ComboBox | 下拉选项(通过 `