Files
REVOXELSEG_DICOM/工程分析/实现方案-2026-05-07-17-05-43.md

2.2 KiB
Raw Blame History

实现方案 - 2026-05-07-17-05-43

修改目标

将 3D 模型显示档位由 预览 / 标准 / 精细 / 超精细 改为 标准 / 精细 / 超精细 / 实体,并让 实体 更接近完整 STL 面片渲染。

涉及路径

  • WebSite/src/components/ProjectLibrary.tsx
  • WebSite/server.ts

技术路线

1. 更新档位类型和配置

  • SolidityLevelpreview | standard | fine | ultra 改为 standard | fine | ultra | solid
  • 删除 预览 选项。
  • 新增 实体 选项。
  • 设置 实体limit 为更高值,尽量覆盖默认 9 个 STL 的完整三角面。

2. 提升后端 STL preview 上限

  • 后端 createStlPreview() 当前最大抽样上限为 72000
  • 将上限提升到 200000,支持实体档位请求更多三角面。
  • 继续保留 sampleLimit clamp避免异常超大请求拖垮服务。

3. 优化实体档位材质

  • NativeStlViewer 中判断当前档位是否为 solid
  • solid 档位下使用更高的不透明度下限,例如 0.92,增强实体感。
  • 其他档位继续使用构件层级中的用户透明度设置。

数据流或交互流程

  1. 用户点击 实体
  2. 前端 solidityLevel 切换为 solid
  3. selectedSolidity.limit 变大,NativeStlViewer 重新请求 STL preview。
  4. 后端按更高上限返回更多三角面和稳定 bounds
  5. 前端以实体材质重新渲染模型。

兼容性与回滚方案

  • 若实体档位渲染压力过大,可降低 solid.limit 或后端最大上限。
  • 若用户仍需要低质量快速预览,可恢复 preview 配置。

预计文件变更

  • WebSite/src/components/ProjectLibrary.tsx
    • 更新 SolidityLevelsolidityOptions
    • NativeStlViewer 增加 solidMode 参数。
    • 实体档位材质增强不透明度。
  • WebSite/server.ts
    • 提升 STL preview 最大抽样上限。

人工审核状态

  • 本次免二次确认,方案写入后直接执行。

执行结果

  • 已删除 模型显示 中的 预览 档位。
  • 已新增 实体 档位,前端请求上限为 200000
  • 已将后端 STL preview 最大抽样上限从 72000 提升到 200000
  • 已在实体档位提高材质不透明度下限,增强实体面片视觉。