Files
REVOXELSEG_DICOM/工程分析/实现方案-2026-05-08-03-35-22.md

1.9 KiB
Raw Blame History

实现方案:右侧实体切面预览

时间戳2026-05-08-03-35-22

修改目标

Mask 展示 区域新增真实 STL 切割实体预览组件,替代旧的二维示意 Mask并删除底部导出进度栏。

涉及路径

  • WebSite/src/components/ReverseWorkspace.tsx
  • 工程分析/经验记录.md

技术路线

  1. 新增 CutSectionPreview 组件。
  2. 组件使用 Three.js 渲染 STL preview 顶点数据。
  3. 使用 DICOM physicalSize.depthtotaldisplayStart/displayEnd 映射到 Z 方向两张 clipping plane。
  4. 当“模型切分”启用时,对 STL 材质应用两张 clipping plane保留中间实体区域未启用时展示完整实体模型。
  5. 复用构件颜色、显示隐藏、模型位姿和高质量实体请求上限。
  6. 删除旧 mappings 假 Mask 形状、MaskMapping 类型引用、exportMessage 和底部导出进度栏。

数据流或交互流程

  • DICOM 范围条更新 displayStart/displayEnd
  • FusionThreeViewCutSectionPreview 都接收相同范围。
  • CutSectionPreview 请求 STL preview居中、缩放并应用当前模型位姿。
  • 启用模型切分后,右侧实体预览显示裁切后的 STL 中间段。

兼容性与回滚方案

  • 若实体预览性能不满足要求,可降低 detailLimit 或回滚到旧 Mask 展示区域。
  • 本次不改 API 和数据文件,回滚只涉及前端组件。

风险控制

  • 使用 npm run lint 验证类型。
  • 使用 npm run build 验证构建。
  • 使用 rg 确认旧 导出进度mappings、假 Mask 结构已移除。
  • 重启服务并验证 4000 端口。

预计文件变更

  • 修改 ReverseWorkspace.tsx
  • 新增本次需求、实现、测试文档。
  • 追加经验记录。

人工审核状态

用户已在项目工作流历史中确认后续直接执行,本次不等待二次人工审核。