# NavisworksTransport 分层管理功能重构项目计划 ## 项目概述 **项目名称**: 分层管理功能重构 **版本目标**: v2.4.0 **开发周期**: 4周(2025年8月18日 - 2025年9月15日) **主要目标**: 将复杂的独立对话框模式简化为4个核心功能的页签集成模式 ## 核心需求映射 ### 1. 楼层分析功能 (Floor Analysis Module) - **需求描述**: 检测模型是否具备层属性,评估按层分解的可行性 - **技术组件**: FloorDetector重构 + 新增分析评估算法 - **用户界面**: 检测结果展示 + 可行性评估报告 ### 2. 设置层属性功能 (Attribute Assignment Module) - **需求描述**: 为不具备层属性的模型手动设置层属性(支持选择树分支和子节点) - **技术组件**: AttributeAssignmentService + 选择树交互 - **用户界面**: 树形视图 + 属性编辑器 + 批量分配 ### 3. 分层保存功能 (Layer Export Module) - **需求描述**: 按楼层或指定属性分层保存为独立nwd文件(包含预览功能) - **技术组件**: ModelExportService重构 + PreviewGeneratorService - **用户界面**: 楼层列表 + 预览面板 + 导出配置 ### 4. 选中保存功能 (Selection Export Module) - **需求描述**: 将选择树中当前选中内容保存为单独nwd文件 - **技术组件**: 快速导出服务 + 选择状态管理 - **用户界面**: 选择状态显示 + 一键保存按钮 ## 架构设计原则 ### WPF页签集成策略 - 集成到现有LogisticsControlPanel的页签系统 - 采用MVVM模式,确保数据绑定和命令模式的一致性 - 重用现有的ElementHost集成模式 ### 代码重用策略 - **保留**: ModelSplitterManager核心算法(约60%代码重用) - **重构**: FloorDetector轻量化,移除复杂配置 - **新建**: AttributeAssignmentService统一属性管理 - **简化**: UI交互流程,减少配置步骤 ### 性能优化策略 - 异步楼层检测,避免UI阻塞 - 增量预览生成,减少重复计算 - 内存优化的模型导出流程 ## 开发里程碑规划 ### 第一阶段: 架构分析与设计 (第1周: 8月18日-8月24日) #### 里程碑1.1: 现有代码分析 (2天) - **任务**: 分析ModelSplitterManager代码架构,识别可重用核心算法 - **交付物**: 代码重用评估报告 - **关键任务**: - 梳理3500行代码的功能模块 - 确定算法复用度和简化空间 - 识别UI复杂度来源 #### 里程碑1.2: 新架构设计 (3天) - **任务**: 设计4个核心功能模块的WPF页签架构 - **交付物**: 技术架构设计文档 + UI原型 - **关键任务**: - MVVM模式的ViewModel层设计 - 服务层接口定义 - UI布局和交互流程设计 ### 第二阶段: 核心服务层开发 (第2周: 8月25日-8月31日) #### 里程碑2.1: 楼层分析服务 (3天) - **任务**: 重构FloorDetector为轻量级楼层分析服务 - **交付物**: FloorAnalysisService + 单元测试 - **关键功能**: - 快速楼层检测算法 - 分层可行性评估 - 检测结果数据结构 #### 里程碑2.2: 属性分配服务 (2天) - **任务**: 创建AttributeAssignmentService层属性分配服务 - **交付物**: AttributeAssignmentService + 集成测试 - **关键功能**: - 选择树节点属性批量设置 - COM API持久化集成 - 属性继承规则处理 #### 里程碑2.3: 导出服务重构 (2天) - **任务**: 重构ModelExportService为统一导出服务 - **交付物**: ModelExportService + PreviewGeneratorService - **关键功能**: - 分层导出和选择导出统一接口 - 预览缩略图生成 - 进度回调和异常处理 ### 第三阶段: MVVM层和UI开发 (第3周: 9月1日-9月7日) #### 里程碑3.1: ViewModel层开发 (4天) - **任务**: 实现4个核心功能模块的ViewModel - **交付物**: 5个ViewModel类 + 数据绑定测试 - **关键组件**: - LayerManagementViewModel (主协调器) - FloorAnalysisViewModel (楼层分析) - AttributeSettingViewModel (属性设置) - LayerSaveViewModel (分层保存) - SelectionSaveViewModel (选中保存) #### 里程碑3.2: WPF视图开发 (3天) - **任务**: 创建页签式UI界面 - **交付物**: LayerManagementView + 子控件 - **关键界面**: - 楼层分析结果展示面板 - 选择树属性设置界面 - 分层预览和配置面板 - 选中保存快捷操作区 ### 第四阶段: 集成测试与优化 (第4周: 9月8日-9月15日) #### 里程碑4.1: 系统集成 (3天) - **任务**: 集成到LogisticsControlPanel页签系统 - **交付物**: 完整集成版本 - **关键任务**: - 页签注册和生命周期管理 - 与VisibilityManager协调机制 - CategoryAttributeManager数据同步 #### 里程碑4.2: 全面测试 (2天) - **任务**: 功能测试和性能优化 - **交付物**: 测试报告 + 性能优化版本 - **测试重点**: - 复杂模型楼层检测准确性 - 大型模型导出性能 - UI响应性和稳定性 #### 里程碑4.3: 发布准备 (2天) - **任务**: 文档更新和版本发布 - **交付物**: v2.4.0正式版本 - **发布内容**: - CHANGELOG.md更新 - VERSION.md版本升级 - 用户文档更新 ## 任务优先级矩阵 ### 高优先级 (P0) - 核心功能实现 1. 楼层分析服务重构 (影响所有后续功能) 2. 导出服务统一化 (2个保存功能的基础) 3. 主ViewModel架构 (UI开发基础) 4. 页签集成机制 (用户体验核心) ### 中优先级 (P1) - 功能完善 1. 属性分配服务 (手动设置层属性) 2. 预览生成服务 (用户确认机制) 3. 选择树UI组件 (属性设置界面) 4. 分层配置UI (保存选项界面) ### 低优先级 (P2) - 优化增强 1. 性能优化 (大型模型处理) 2. 错误处理增强 (边界情况) 3. UI细节优化 (用户体验提升) 4. 文档完善 (维护支持) ## 风险评估与缓解策略 ### 技术风险 #### 风险1: ModelSplitterManager代码复杂度 - **风险等级**: 高 - **影响**: 重构工作量超预期,影响进度 - **缓解策略**: - 第一阶段充分分析现有代码 - 采用增量重构而非全面重写 - 保留关键算法逻辑不变 #### 风险2: Navisworks API兼容性 - **风险等级**: 中 - **影响**: 新架构与现有API集成问题 - **缓解策略**: - 使用已验证的API调用模式 - 保持与现有组件的接口一致性 - 进行充分的集成测试 #### 风险3: 大型模型性能 - **风险等级**: 中 - **影响**: 楼层分析和导出操作响应缓慢 - **缓解策略**: - 异步处理避免UI阻塞 - 进度指示和可取消操作 - 内存使用优化 ### 项目风险 #### 风险4: 用户需求变更 - **风险等级**: 中 - **影响**: 功能范围扩大,影响交付时间 - **缓解策略**: - 明确4个核心功能边界 - 采用敏捷开发,支持小幅调整 - 预留10%时间缓冲 #### 风险5: 测试覆盖不足 - **风险等级**: 中 - **影响**: 发布后发现功能缺陷 - **缓解策略**: - 每个里程碑包含测试任务 - 重点测试复杂模型场景 - 建立回归测试套件 ## 质量控制标准 ### 代码质量标准 - **代码复用率**: ≥60% (基于现有ModelSplitterManager) - **单元测试覆盖**: ≥80% (新开发的服务层) - **性能标准**: 楼层检测≤5秒 (1000+构件模型) - **内存使用**: 导出过程峰值内存≤2GB ### 用户体验标准 - **界面响应**: UI操作响应≤200ms - **操作简化**: 核心流程≤3步完成 - **错误处理**: 友好的中文错误提示 - **预览功能**: 导出前必须提供预览确认 ### 集成标准 - **向后兼容**: 不影响现有功能 - **数据一致**: 与CategoryAttributeManager数据同步 - **API稳定**: 服务接口支持扩展 ## 交付计划总结 | 里程碑 | 完成日期 | 主要交付物 | 完成度验收标准 | |--------|----------|------------|----------------| | 1.1 | 8月20日 | 代码分析报告 | 识别可重用组件≥60% | | 1.2 | 8月24日 | 架构设计文档 | UI原型和技术方案评审通过 | | 2.1 | 8月27日 | 楼层分析服务 | 单元测试通过,性能达标 | | 2.2 | 8月29日 | 属性分配服务 | 集成测试通过,数据持久化正常 | | 2.3 | 8月31日 | 导出服务重构 | 功能测试通过,预览生成正常 | | 3.1 | 9月4日 | ViewModel层 | 数据绑定测试通过,命令响应正常 | | 3.2 | 9月7日 | WPF视图开发 | UI功能完整,交互流程顺畅 | | 4.1 | 9月10日 | 系统集成 | 页签集成成功,协调机制正常 | | 4.2 | 9月12日 | 全面测试 | 功能测试100%通过,性能达标 | | 4.3 | 9月15日 | v2.4.0发布 | 版本文档完整,可正式发布 | ## 成功指标 ### 功能完整性 - ✅ 4个核心功能模块100%实现 - ✅ 楼层分析准确率≥95% - ✅ 属性设置成功率100% - ✅ 分层保存功能稳定运行 - ✅ 选中保存操作便捷可靠 ### 用户体验提升 - ✅ 操作步骤减少≥50% (相比原独立对话框) - ✅ 界面集成度提升 (页签模式) - ✅ 预览功能提供直观确认 - ✅ 错误提示清晰友好 ### 技术指标 - ✅ 代码重用率≥60% - ✅ 新增代码行数≤2000行 - ✅ 内存使用优化≥30% - ✅ 响应时间提升≥40% --- **项目经理**: Claude Code AI Assistant **技术负责**: NavisworksTransport开发团队 **文档版本**: v1.0 **最后更新**: 2025年8月18日