# FreeCAD 被搬进了浏览器，从 150 万行 C++ 编译成 WebAssembly

> 原标题：FreeCAD in the Browser

- 来源：Hacker News 首页
- 发布时间：2026-07-11T00:44:00.000Z
- AX AI 日报：https://ai-daily.ax0x.ai/items/43648
- 原文：https://magik.net/freecad/

## 摘要

magik.net 把完整的 FreeCAD 桌面应用移植到了浏览器里，包括参数化建模、17 个以上的工作台和一个内嵌的 Python 运行环境。整个移植用了 4 天，靠 AI 工具 Fable 完成，48 条提示词全部公开。首次加载大约 96 MB 压缩包，需要 Chrome 或 Edge 137 以上版本，因为它依赖的 WebAssembly JS...

## 推荐理由

我会先打个折：这事对普通 AI 从业者触动不大，毕竟不是每个人都在乎参数化建模。但 4 天把 150 万行 C++ 的 FreeCAD 完整塞进浏览器，48 条提示词全公开，这个工程效率本身就值得看一眼。技术栈交代得清楚，Qt for WebAssembly + JSPI，96 MB 首次加载，浏览器版本要求也给了，不是那种只放个 demo 视频的 PR 稿。信息够实，判断就挂在这上面。

## 锐评

这条新闻最值得看的是工程上的取舍，而不是“AI 4 天搞定一切”的标题。团队先把 CAD 内核和 Python 环境跑通，再处理图形界面，这个顺序很务实。技术上最大的坎是模态对话框和固定管线 OpenGL。他们用 WebAssembly 的 JSPI 特性挂起整个 wasm 栈，保住了 QDialog::exec() 的阻塞语义，代价是必须自己编译 Qt，而且目前只有 Chrome 137+ 支持，Firefox 和 Safari 都还不行。渲染方面，他们手写了一个 900 行的固定管线到 WebGL2 的模拟层，把 Coin3D 那套老式 OpenGL 调用翻译过来。

文章说这是 PySide6 和 pivy 首次在浏览器里跑起来，但这是作者自己的判断，没有第三方验证，我会先打个折。另外，196 MB 的 wasm 模块加上 96 MB 的首次加载量，对移动端或弱网环境基本不现实。正文没披露 FEM 工作台里 VTK 和 SMESH 的完整功能验证到什么程度，也没提复杂装配体下的帧率和内存表现。如果只是打开一个带圆柱切口的盒子做演示，那离“生产可用”还有距离。
