cad-viewer:从 README 看清能力边界、运行路径与核验重点
此專案圍繞「mlightcad/cad-viewer」建置,面向真實業務場景,提供可重複使用、可持續維運的開源實作。
秒懂
- 它是什麼?
- The world’s first fully web-based DXF/DWG viewer and editor that runs entirely in the browser - no backend server required. 本文依据仓库 README 与基线事实,整理可执行的使用路径、边界和复核项目。
- 適合誰用?
- cad-viewer 适合把 README 已写明的能力作为小范围试验起点,The world’s first fully web-based DXF/DWG viewer and editor that runs entirely in the browser - no backend server required.。它不适合被当作经过独立性能、安全或长期支持审查的成品。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 1 天前。
- 用什麼語言寫的?
- 主要是 TypeScript(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。
開源專案深度解析
无服务器的DWG和DXF解析 · mlightcad-cad-viewer-deep-analysis
README将cad-viewer描述为第一个完全在浏览器中运行、不依赖任何后端服务的基于Web的DXF/DWG查看器和编辑器。解析、几何处理和渲染全部在客户端完成,项目认为这对云应用、离线使用和隐私敏感的工作流很有用。该仓库是一个TypeScript monorepo,包含一个功能完整的查看器应用和一个更简单的可嵌入查看器核心。它还提供了演示和API文档的链接,但README没有详细介绍API表面。
專案核對 0:請在 mlightcad-cad-viewer-deep-analysis 的 README、設定檔或命令輸出中確認這一節描述的具體行為,並把檔案路徑、參數名稱、平台條件與錯誤結果分開記錄。這些觀察可用來判斷功能是否真的符合目前流程,也能在升級後定位差異。素材未列出的性能或安全承諾,不應自行補上。
导出为单个离线HTML文件 · mlightcad-cad-viewer-deep-analysis
README强调的一个功能是一键导出为自包含的HTML文件。下载的.html文件嵌入了绘图快照和轻量级查看器运行时,因此接收者可以在任何现代浏览器中打开、平移、缩放、切换图层和测量距离,而无需CAD软件、服务器或安装。README包含使用示例图纸canteen.dwg的内存比较:AutoCAD 2020使用320 MB,GstarCAD看图王使用246 MB,而自包含HTML在测量模式下使用56 MB,在查看模式下使用33 MB。README声称在查看模式下比AutoCAD 2020少约83%的内存,比GstarCAD看图王少约77%。
專案核對 1:請在 mlightcad-cad-viewer-deep-analysis 的 README、設定檔或命令輸出中確認這一節描述的具體行為,並把檔案路徑、參數名稱、平台條件與錯誤結果分開記錄。這些觀察可用來判斷功能是否真的符合目前流程,也能在升級後定位差異。素材未列出的性能或安全承諾,不應自行補上。
插件系统和官方包 · mlightcad-cad-viewer-deep-analysis
cad-viewer围绕一个模块化插件系统构建,该系统在@mlightcad/cad-simple-viewer包中实现。插件实现AcApPlugin接口,并通过onLoad和onUnload挂钩查看器生命周期,通常用于注册命令、添加UI或连接导出/导入管道。加载通过AcApDocManager.instance.pluginManager处理,支持懒加载。该monorepo包含多个官方插件:cad-simple-ui-plugin用于工具栏和图层管理器UI,cad-agent-plugin用于自然语言CAD代理,cad-html-plugin用于离线HTML导出,cad-pdf-plugin用于PDF导出和导入,cad-svg-plugin用于SVG导出。README指向每个包自己的README以获取安装和API详细信息。
專案核對 2:請在 mlightcad-cad-viewer-deep-analysis 的 README、設定檔或命令輸出中確認這一節描述的具體行為,並把檔案路徑、參數名稱、平台條件與錯誤結果分開記錄。這些觀察可用來判斷功能是否真的符合目前流程,也能在升級後定位差異。素材未列出的性能或安全承諾,不應自行補上。
性能和渲染优化 · mlightcad-cad-viewer-deep-analysis
README列出了几种用于维持高帧率的渲染技术。这些包括用于线型和填充图案的GPU加速自定义着色器材质、几何批处理以合并相同材质的点、线和面、用于重复几何的实例化渲染、用于内存管理的缓冲区几何优化、用于最小化状态变化的材质缓存以及现代WebGL功能。项目声称在大文件上实现流畅的60+ FPS渲染,路线图将多项性能项标记为已完成,包括几何合并和批处理、基础空间索引,以及正在进行中的高级空间索引(R-tree/BVH)。
專案核對 3:請在 mlightcad-cad-viewer-deep-analysis 的 README、設定檔或命令輸出中確認這一節描述的具體行為,並把檔案路徑、參數名稱、平台條件與錯誤結果分開記錄。這些觀察可用來判斷功能是否真的符合目前流程,也能在升級後定位差異。素材未列出的性能或安全承諾,不應自行補上。
DWG解析限制和许可 · mlightcad-cad-viewer-deep-analysis
默认的开源DWG解析路径使用LibreDWG。README指出它对许多图纸有效,但实体覆盖有限,WASM包大得多,启动较慢,内存使用较高,并且在非常大的文件上可能遇到内存不足错误。它还引入了对商业闭源产品的GPL许可考虑。提供了专有的DWG解析器作为替代,具有更广泛的实体覆盖、更小的包大小(437 KB对13 MB)、更快的启动和没有GPL传播风险。README没有提供专有解析器的定价或许可条款;它链接到一个单独的PROPRIETARY-PARSER.md文件。
專案核對 4:請在 mlightcad-cad-viewer-deep-analysis 的 README、設定檔或命令輸出中確認這一節描述的具體行為,並把檔案路徑、參數名稱、平台條件與錯誤結果分開記錄。這些觀察可用來判斷功能是否真的符合目前流程,也能在升級後定位差異。素材未列出的性能或安全承諾,不應自行補上。
路线图和项目状态 · mlightcad-cad-viewer-deep-analysis
路线图概述了在浏览器中实现完整功能的2D AutoCAD类似系统的目标,具有模块化架构。已完成的项目包括DXF和DWG加载、导出为自包含HTML、大文件流式加载、平移/缩放、图层控制、选择和捕捉、基本编辑工具、测量和命令系统。计划中或进行中的项目包括从R12到最新版本的文件版本兼容性、将句柄和对象ID管理为bigint、XData支持、视口实体、细节层次渲染、命名视图、文本和尺寸创建、块创建、React集成、OpenLayers集成、后端API设计和实时协作。README欢迎贡献,并要求错误报告者提供问题图纸的链接。
專案核對 5:請在 mlightcad-cad-viewer-deep-analysis 的 README、設定檔或命令輸出中確認這一節描述的具體行為,並把檔案路徑、參數名稱、平台條件與錯誤結果分開記錄。這些觀察可用來判斷功能是否真的符合目前流程,也能在升級後定位差異。素材未列出的性能或安全承諾,不應自行補上。
編輯結論
cad-viewer 适合把 README 已写明的能力作为小范围试验起点,The world’s first fully web-based DXF/DWG viewer and editor that runs entirely in the browser - no backend server required.。它不适合被当作经过独立性能、安全或长期支持审查的成品。采用前应按文中项目专属步骤固定版本和输入,检查实际输出、权限、依赖与失败行为,再决定是否进入正式环境。
社群筆記