文件操作
大约 2 分钟
文件操作
文件的打开、保存、导入、导出等操作。
在线示例
| 示例 | 描述 | 链接 |
|---|---|---|
| 从服务端打开 | OPENFROMSERVER 命令与 API 调用 | 在线演示{target="_blank"} |
| 从本地缓存打开 | OPENFROMLOCAL 命令与 IndexedDB 存储 | 在线演示{target="_blank"} |
| 保存到服务端 | SAVESERVER 命令与增量保存 | 在线演示{target="_blank"} |
| 保存到本地缓存 | SAVELOCAL 命令与离线存储 | 在线演示{target="_blank"} |
| 快速保存下载 | QSAVE 命令下载 webcad 文件 | 在线演示{target="_blank"} |
| 另存为 | SAVEAS 命令自定义文件名下载 | 在线演示{target="_blank"} |
| 从本地 DWG 导入 | IMPORTDWG 命令上传并转换 DWG 文件 | 在线演示{target="_blank"} |
| 导出为 DWG | EXPORTDWG 命令导出 DWG 格式 | 在线演示{target="_blank"} |
| 导出为 PNG 图片 | EXPORTPNG 命令导出当前视图为 PNG | 在线演示{target="_blank"} |
| 文档变更对比 | 使用 DiffUtils 对比两个文档状态,在 DiffPanel 中展示变更 | 在线演示{target="_blank"} |
| 从模板新建图纸 | TemplateService.openFromTemplate 建图并导出 DWG | 在线演示{target="_blank"} |
核心 API
从服务端打开
const { DrawingManagerService } = vjcad;
const drawingManager = new DrawingManagerService();
const result = await drawingManager.openDrawing({
type: 'imports',
mapid: 'drawing-id',
version: 'v1',
branch: 'main',
patchId: 'base',
readOnly: false
});
if (result.success) {
await Engine.view.openDbDoc(result.webcadJson, result.webcadData);
}保存到服务端
// 保存到服务端(增量保存)
await Engine.editor.executerWithOp('SAVESERVER');
// 或使用 API
const result = await drawingManager.saveDrawing({
mapid: 'drawing-id',
version: 'v1',
branch: 'main'
});本地文件操作
// 保存到本地(下载)
await Engine.editor.executerWithOp('QSAVE');
// 另存为(自定义文件名)
await Engine.editor.executerWithOp('SAVEAS');
// 保存到本地缓存(IndexedDB)
await Engine.editor.executerWithOp('SAVELOCAL');
// 从本地缓存打开
await Engine.editor.executerWithOp('OPENFROMLOCAL');DWG 导入导出
// 导入 DWG(上传并转换)
await Engine.editor.executerWithOp('IMPORTDWG');
// 导出为 DWG
await Engine.editor.executerWithOp('EXPORTDWG');导出 PNG 图片
// 通过命令导出(弹出对话框选择实体、主题色、宽度)
await Engine.editor.executerWithOp('EXPORTPNG');
// 通过 API 导出
const { exportEntitiesToImageAndDownload } = vjcad;
await exportEntitiesToImageAndDownload({
entities: myEntities, // 可选,默认全部实体
width: 1920, // 图片宽度,高度自动计算
theme: 'dark', // 'dark' 黑色背景 / 'light' 白色背景
fileName: 'drawing.png'
});文件格式
| 格式 | 说明 |
|---|---|
.webcad | WebCAD 原生格式(JSON) |
.dwg | AutoCAD 格式(需服务端转换) |
.png / .jpg | 视图截图(纯前端导出) |