补充剖面盒恢复修复报告

This commit is contained in:
tian 2026-05-16 15:22:17 +08:00
parent e5f710407c
commit 1e8916b828

View File

@ -5,6 +5,7 @@
1. 打开旧版本数据库时崩溃schema 不兼容)
2. NWF 多文档剖面盒导出时,无命中子树泄露到导出文件
3. 反复剖面盒导出后崩溃COM 跨线程访问)
4. 导出后剖面盒被关闭,状态栏按钮不同步
---
@ -84,3 +85,21 @@ Navisworks COM API 要求 STA 线程访问,跨线程调用在少量使用时
| `src/UI/WPF/ViewModels/LayerManagementViewModel.cs` | 去掉两处 `Task.Run` |
| `deploy-plugin.bat` | `powershell``pwsh`(兼容环境) |
| `AGENTS.md` | 补充编译/部署调用方式说明 |
| `src/Utils/SectionClipHelper.cs` | 新增 `RestoreClipBox` 公开方法 |
---
## 问题四:导出后剖面盒被关闭,状态栏按钮不同步
### 现象
导出剖面盒后Navisworks `ExportToNwd` 内部会关闭剖分功能,但状态栏两个剖面盒图标按钮仍保持激活状态。
### 根因
`ExportToNwd` 是 Navisworks 内部行为,绕过我们的 `SetClipBoxState`。ViewModel 的 `IsClipBoxEnabled`/`IsSelectionClipBoxEnabled` 未感知到变化。
### 修复
**VisibilityHelper.ExecuteWithPrecomputedHiddenItems**
导出前用 `SectionClipHelper.IsClipBoxEnabled` + `TryGetCurrentClipBox` 保存剖面盒状态,导出后检查并在被关闭时恢复。
**SectionClipHelper**
新增 `RestoreClipBox(BoundingBox3D)` 公开方法。