唯杰地图 logo唯杰地图
VJMAP
EN

WebCAD(条件启用)

更新于 2026-04-25约 6 分钟
.md

分类代号:C.6 本章共 6 个接口


启用判定

最推荐的方式:

svc = vjmap.Vjmap(API, TOKEN)
if svc.webcad_enabled():
    draws = svc.list_webcad_draws()
else:
    print("本服务未启用 WebCAD")

svc.webcad_enabled() 的判定规则:

  1. GET /api/v1/service/webcad 若返回 2xx 且 没有 enabled=false / error 字段,视为"可用";
  2. 若返回 4xx/5xx 或业务错误(如 Token is invalid),视为"不可用"。

本仓库实采

// /api/v1/service/webcad?token=...
{
  "status": 403,
  "body": {
    "code": 7,
    "data": { "reload": true },
    "msg": "Token is invalid"
  }
}

快速索引

序号 SDK 方法 URL
42 list_webcad_draws / listWebcadDraws GET /api/v1/map/cmd/listWebcadDraws/_/v1
43 get_webcad_data / getWebcadData POST /api/v1/map/cmd/getWebcadData/{mapid}/{version}
44 save_webcad_patch / saveWebcadPatch POST /api/v1/map/cmd/saveWebcadPatch/{mapid}/{version}
45 delete_webcad_draw / deleteWebcadDraw POST /api/v1/map/cmd/deleteWebcadDraw/{mapid}/{version}
46 convert_webcad / convertWebcad POST /api/v1/map/cmd/convertWebCAD/{mapid}/{version}
47 export_webcad / exportWebcad POST /api/v1/map/cmd/exportWebCAD/_null/v1

42 · 列出 WebCAD 图 listWebcadDraws

URL:GET /api/v1/map/cmd/listWebcadDraws/_/v1
响应(启用时):

{
  "draws": [
    { "mapid": "proj_wc", "version": "v1", "updatedAt": "2024-..." },
    ...
  ]
}

Python / Node

svc.list_webcad_draws()
await svc.listWebcadDraws();

43 · 读取 WebCAD 数据 getWebcadData

URL:POST /api/v1/map/cmd/getWebcadData/{mapid}/{version}

请求参数

字段 说明
branch 分支名
includePatches 是否把历次补丁一并返回

响应(启用时)

{
  "mapdata": "<DWG JSON 字符串>",
  "branch": "main",
  "headVersion": 12,
  "patches": []
}

Python

svc.get_webcad_data("proj_wc", "v1", branch="main")

44 · 保存 WebCAD 补丁 saveWebcadPatch

URL:POST /api/v1/map/cmd/saveWebcadPatch/{mapid}/{version}

请求参数

字段 说明
patch 一段 JSON/字符串形式的差异描述
branch 分支名
author 作者标识(可选)
comment 提交说明
baseVersion 基于哪个补丁号提交,用于冲突检测

响应(启用时)

{ "status": true, "version": 13 }

Python

svc.save_webcad_patch(
    "proj_wc", "v1",
    patch='[{"op":"add","entity":{...}}]',
    branch="main",
    author="alice",
    comment="add hatch",
    baseVersion=12,
)

45 · 删除 WebCAD 图 deleteWebcadDraw

URL:POST /api/v1/map/cmd/deleteWebcadDraw/{mapid}/{version}

请求参数

字段 说明
branch 只删某个分支;为空则删整图

响应(启用时)

{ "status": true }

46 · 转为 WebCAD convertWebCAD

把一张已上传的 DWG 转成 WebCAD 可用的结构(初始化分支、预计算可编辑实体)。

URL:POST /api/v1/map/cmd/convertWebCAD/{mapid}/{version}

响应(启用时)

{
  "status": true,
  "branch": "main",
  "entityCount": 12345
}

47 · 导出 WebCAD 为 DWG exportWebCAD

URL:POST /api/v1/map/cmd/exportWebCAD/_null/v1

请求参数

字段 说明
mapid / version 要导出的 WebCAD 图
branch 导出哪个分支(默认 main)
newMapid / newVersion 新 DWG 的 mapid / version

响应(启用时)

{ "status": true, "path": "download/xxx.dwg" }
这篇文档有帮助吗?