CAD-Viewer:面向未来的高性能纯浏览器 DWG/DXF 查看器js
在这个一切都往云上搬的时代,设计类应用也在快速告别笨重的本地软件。然而,CAD —— 尤其是 AutoCAD 的 DWG 和 DXF 文件查看 —— 却像是最后的顽固堡垒,大多数 CAD 查看器仍然依赖庞大的桌面应用、后台服务器渲染,或者牺牲性能和隐私。
那有没有可能,我们直接在浏览器里流畅查看和操作 DWG/DXF 文件?无需安装,无需联网,全离线支持?
答案是:有!
欢迎认识 CAD-Viewer —— 一款高性能、可扩展、以隐私为核心的 Web CAD 查看器。它完全基于 WebAssembly 和 WebGL,在浏览器中本地运行,不依赖任何后端。无论你是在构建专业工程平台,还是想把 CAD 能力集成进 CMS,又或者只是想离线安全查看图纸,CAD-Viewer 都能帮你轻松实现。

传统 CAD 软件固然强大,但它们又贵又大,只能装在电脑上,更新慢,还经常卡顿。过去,无论工程师还是设计师,只是为了**“看一眼图纸”**,都不得不安装庞大的软件,或者接入后台渲染服务。
而 CAD-Viewer 彻底颠覆了这种方式。它在浏览器中直接加载、解析、渲染 DWG 和 DXF 文件,特点包括:
这种全新模式为很多应用场景打开了大门:
CAD-Viewer 的背后是一套高度模块化、可扩展的架构,层层解耦,职责清晰,从文件解析、数据建模、图形渲染,到 UI 交互,都有各自的模块负责。
@mlightcad/data-modelCAD-Viewer 的“心脏”是基于开源项目 realdwg-web 构建的内存数据库,灵感来自 AutoCAD 的 ObjectARX 接口,提供一整套 CAD 数据结构:
AcDbLine、AcDbCircle 等实体类,组织清晰简而言之,它是浏览器里的“迷你 AutoCAD 数据库”。
libdxfrw-converterDWG 和 DXF 是著名的复杂文件格式。CAD-Viewer 使用 C++ 编写、编译为 WebAssembly 的 libdxfrw 引擎,在浏览器中直接解析这些格式,无需服务器介入:
真正实现了文件“即拖即看,离线也能飞”。
three-renderer有了数据,就要看图。CAD-Viewer 使用 Three.js 将 CAD 实体转为高性能 WebGL 图形,实现流畅的三维交互:
这一层彻底解耦数据与显示,开发者可以自由定制 UI。
cad-viewer 与 cad-simple-viewer针对不同需求,CAD-Viewer 提供两种用法:
cad-viewer: Vue 3 组件cad-simple-viewer: 无 UI 内核很多人可能以为:“浏览器渲染 DWG?是不是只能跑个小玩具图纸?”
错!
CAD-Viewer 做了多种性能优化,确保你打开的是“真实工程图”也能稳稳运行:
结果就是:复杂图纸,流畅渲染,60+ FPS 根本不是问题。
CAD-Viewer 是为开发者打造的工具,架构模块化,文档清晰,易于定制和二次开发:
不论是想做协同审图平台、教育类模拟应用,还是嵌入 ERP 的图纸组件,CAD-Viewer 都能满足你的场景。
很多行业对图纸数据极度敏感,云端传输是不被允许的。CAD-Viewer 的“全前端设计”恰好解决了这一问题:
这使它成为:
CAD-Viewer 正在快速迭代,未来的功能图景非常令人期待:
✅ 已实现:
🔜 即将上线:
🌟 未来展望:
Vue 3 项目:
👉 cad-viewer 使用文档
框架无关场景:
👉 cad-simple-viewer 使用文档
CAD-Viewer 在 GitHub 上完全开源,使用的是宽松的 MIT 协议:
如果你也相信 CAD 的未来属于 Web,不妨加入我们!
GitHub 项目地址:👉 https://github.com/mlight-lee/cad-viewer
CAD 的未来正在悄然发生转变,CAD-Viewer 正站在这场变革的前沿。它用纯前端架构、GPU 加速渲染和灵活的模块化设计,重新定义了 CAD 的呈现方式。
如果你正在构建现代 CAD 工具、注重隐私的平台,或者只是想找一个到处都能用的 DWG 查看器,CAD-Viewer 值得你加入工具箱!
转自https://juejin.cn/post/7535734834464833588