ENGINEERING / PROJECT RECORD

风机 Web3D 数字样机复现与扩展

在浏览器中旋转、拆解和剖切风机,直观认识部件与结构。基于开源项目复现与扩展,提供公开演示及实现记录。

风机 Web3D 桌面界面:部件树与风机三维视图
公开风机演示的界面记录
2026年10月

公开可访问 · 可直接体验

适合:想直观认识风机结构的学习者,以及探索 Web3D 的开发者

#已完成 #上游项目扩展

打开公开演示 ↗ 查看代码与说明 ↗ 上游项目 ↗

扩展与实现记录
  • 全流程本地复现:依赖安装、三档 LOD 模型检查、生产构建,Playwright 交互测试在开发/生产预览/公网三种环境均通过
  • 修复上游测试缺陷:移动端测试页面缺少引导页注入;测试路径硬编码依赖开发服务器重定向,在 GitHub Pages 根路径 404
  • 依赖安全升级:vue 3.5.44、vite 8.3.5,npm audit 高危漏洞清零(未使用 audit fix --force)
  • 公网部署:GitHub Actions 自动构建发布工作流,公网地址全量测试通过并留存截图与性能记录
  • 扩展架构:新增模型注册表(ModelDefinition),三维管理器与 UI 组件全部参数化,未来接入单桩/吸力筒等基础模型无需改渲染代码
  • Blender 4.2 LTS 便携环境配置,参数化建模脚本端到端验证(轮毂高度/叶片角度/扫掠直径与配置一致)
  • Windows 环境适配:Git Bash MSYS 路径转换规避、GitHub 连接代理诊断与配置
来源与适用范围
  • 上游项目:darmk/wind-turbine-web3d(Apache License 2.0)——三维模型、Blender 参数化建模脚本与原始网页实现均为原作者成果,本项目保留其提交历史与归属
  • 本站演示为派生仓库的 GitHub Pages 部署;原作者归属与派生声明见仓库 README
  • 模型数据边界沿袭上游声明:公开资料 + 工程近似,不用于工程设计、制造、认证或结构分析

LEARN / TRY IT YOURSELF

想继续了解?从这里开始。

项目问题

如何在不动手造轮子的前提下,把一个优秀的开源工程三维数字样机完整跑起来、验证可信、部署上线,并让它的架构能承载后续的海上风电基础模型(单桩、群桩、吸力筒等)?这要求区分三件事:上游做了什么、我改了什么、哪些还没做。

上游工作(归属原作者)

上游项目(Apache-2.0)由原作者完成的核心成果包括:

  • 以 Blender Python 参数化建模生成的 5 MW 风机数字样机(轮毂高度 130 m、叶轮直径 181.1 m),三档 Draco 压缩 LOD;
  • 24 个语义部件的网页交互:选择/聚焦/隔离、四档拆解动画、实体/透视/X-Ray/三轴剖切、叶轮演示、截图与移动端适配;
  • Vue 3 + TypeScript + Three.js + GSAP 的前端实现,以及覆盖交互全功能的 Playwright 测试套件。

本人已核实的改动

全部改动见仓库 PROGRESS.md,要点:

  1. 可信基线重建:三档模型检查(88 网格/24 部件/9 材质)、生产构建、10 项交互测试全部通过;
  2. 测试修复:两处上游测试缺陷(移动端引导页注入遗漏;goto('/') 路径硬编码在 GitHub Pages 下 404);
  3. 安全升级:vue 3.5.44 / vite 8.3.5 补丁级升级,当时审计高危漏洞清零(2026-10-25 记录);
  4. 部署自动化:VITE_BASE 可配置 + GitHub Actions 构建发布工作流;
  5. 注册表架构:ModelDefinition 统一接口,管理层依赖注入,默认模型行为零变化(回归 10/10);
  6. 建模链路验证:Blender 4.2 便携版后台参数化建模端到端通过。

验证证据(2026-10-25 复现部署记录)

  • 测试:开发服务器 / 生产预览 / 公网地址三种目标下 Playwright 全量通过(最新记录见仓库 docs/ 与 PROGRESS.md);
  • 公网实测:88 网格加载、66 FPS、无资源 404,桌面与移动端截图留存;
  • 性能记录基于指定设备与视口的实测,不构成对任意设备的性能承诺。

局限

  • 三维几何为公开资料 + 工程近似,不用于工程设计、制造、认证或结构分析;
  • 公开演示目前只展示风机本体;基础教学模型在本地开发分支中,进展见风电基础教学实验室;
  • 引导页(关注公众号)已按派生部署需要关闭,组件与测试保留。

下一步

基础教学扩展已形成独立的本地实验室记录;后续由实验室主线推进参数—几何—计算—导出联动,再按验收结果单独安排发布。