---
title: AI绘CAD图
source: https://vjmap.com/guide/aidraw.html
---

# AI绘CAD图

## # 用Trae、Cursor免费生成CAD图纸

### 示例效果

Trae 编辑器

![](http://vjmap.com/blogimages/trae.gif)

Cursor 编辑器

![](http://vjmap.com/blogimages/cursor.gif)

### 使用步骤



- 1、在github下载项目源码 [https://github.com/vjmap/aidraw](https://github.com/vjmap/aidraw)

​     或者直接点击 [https://vjmap.com/download/aidraw.zip](https://vjmap.com/download/aidraw.zip) 进行下载

- 2、用`Trae`或`Cursor` 编辑器打开此项目源码
- 3、在插件市场搜索`LiveServer`进行安装 (可选，如果有运行html的服务程序也可以不需要此步骤, 或者`直接双击index.html`文件在浏览器里面打开[此方案`不支持`获取本地文件])
- 4、选中`index.html`文件，右键，在菜单中选择`Open with Live Server`
- 5、在 `trae` 编辑器中进入`Builder` 模式， 或 `cursor` 中进入`Composer`或`Edit`模式，输入要绘制的内容进行提问
- 6、生成完成后，可以打开 `draw.js`查看生成的内容，在浏览器中刷新页面查看生成的效果。
- 7、在生成的页面中点击右上角的`下载`按钮，可下载生成的`autocad`支持的`dwg`图形文件。

### 教程视频

[https://www.bilibili.com/video/BV1sRRYY2EBo/](https://www.bilibili.com/video/BV1sRRYY2EBo/)

### 相关示例

```
绘制常用三角函数的示例图，用于教学用，要求有刻度、坐标轴和格网，x坐标范围-10到10
```



![image-20250309195159868](https://vjmap.com/blogimages/202503091952067.png)



```
绘制一只可爱的小猫，细节要丰富
```

![image-20250309195734749](https://vjmap.com/blogimages/202503091957823.png)



```js
data目录中的china.json是中国地图的geojson数据, 通过这数据，绘制出中国地图，每个省需要填充颜色(颜色随机且符合地图制图规范)，同时标注名称,字体颜色为青色, 最后绘制整个图的图框
```

![image-20250309200219874](https://vjmap.com/blogimages/202503092002957.png)



```
画一个长80宽60厚2的板，要求周围带四个8mm孔，中心带一个16mm孔，周围圆角R5，并进行长度标注
```

![image-20250309200527023](https://vjmap.com/blogimages/202503092005107.png)



```
以下是北京市一周的气温情况，要求绘制一个气温变化曲线图，绘制最高温度曲线(红色)和最低温度曲线(绿色)，每个值上面绘制一个小圆，同时把天气情况写在最高温度曲线对应上的点上面。X轴为日期y轴为气温,需要绘制刻度值和坐标格网
[
    {"date": "2025-02-01", "weather": "晴", "max_temp": 5, "min_temp": -4},
    {"date": "2025-02-02", "weather": "阴", "max_temp": 9, "min_temp": 0},
    {"date": "2025-02-03", "weather": "晴", "max_temp": 11, "min_temp": 8},
    {"date": "2025-02-04", "weather": "多云", "max_temp": -2, "min_temp": -6},
    {"date": "2025-02-05", "weather": "大雪", "max_temp": -4, "min_temp": -7},
    {"date": "2025-02-06", "weather": "晴", "max_temp": 6, "min_temp": -2},
    {"date": "2025-02-07", "weather": "多云", "max_temp": 6, "min_temp": -1}
]
```

![image-20250309200817897](https://vjmap.com/blogimages/202503092008015.png)

生成的图点击`下载`，可直接下载`dwg`文件的图，用`autocad`直接打开查看

![image-20250309202030768](https://vjmap.com/blogimages/202503092020854.png)


## 唯杰AI绘CAD图使用

进入[唯杰地图云端管理平台](https://vjmap.com/app/cloud)，点击右边的`AI绘制CAD图`进入

![image-20250303133120273](https://vjmap.com/blogimages/202503031331297.png)

![image-20250303133149480](https://vjmap.com/blogimages/202503031331512.png)

[点击查看视频教程 https://www.bilibili.com/video/BV1g19BYNECf/](https://www.bilibili.com/video/BV1g19BYNECf/)

## 绘制图形
### 1、根据问题描述绘制图形

- 在输入框中输入要绘制的内容描述，点击发送

- AI根据描述内容，自动生成相应代码

- 自动执行(或可选择手动执行)代码，生成CAD图形

- 可点击直接下载生成的DWG图

  比如输入：

  ```
  绘制一只可爱的小猫，细节要丰富
  ```

  ![image-20250303135551282](https://vjmap.com/blogimages/202503031355337.png)

  注：在设置中设置大模型地址和大模型名称，不同的大模型生成的图效果不一样，此次示例生成的图用的大模型为`claude 3.7 sonnet`

### 2、直接指定数据绘制图形

如果`数据少`时，可以在提问中直接把数据写上进行提问

比如输入:

```
下面有几条线的坐标，用不同颜色绘制出来。
[[0, 0],[4, 0]]
[[4, 0],[2, 5],[3, 7]]
[[2, 3],[0, 0]]
```

![image-20250303140212862](https://vjmap.com/blogimages/202503031402902.png)

### 3、根据用户数据绘制图形

如果用户数据量多时，因为大模型上下文`字数限制`，并且大模型是按字的`token`进行收费的，所以可以先点击`用户数据`, 把数据提前输入在`用户数据`中，让代码在运行时获取数据生成图形。需要注意的是：因为大模型`不知道用户数据格式`，所以需要在问题中`把数据格式描述清楚`。

比如绘制中国地图，可先进入[阿里数据可视化平台](https://datav.aliyun.com/portal/school/atlas/area_selector), 选择省数据，点击`复制geojson`

![image-20250303142412632](https://vjmap.com/blogimages/202503031424704.png)

![image-20250303142742809](https://vjmap.com/blogimages/202503031427869.png)

```
用户数据格式是中国地图的geojson数据, 通过这数据，绘制出中国地图，每个省需要填充颜色(颜色随机且符合地图制图规范)，同时标注名称,字体颜色为青色, 最后绘制整个图的图框
```

![image-20250303143121222](https://vjmap.com/blogimages/202503031431273.png)

注： 此次示例生成的图用的大模型为`claude 3.7 sonnet`



上面的`geojson`是通用数据，只需要描述中说明用户数据是geojson格式即可。但对于其他数据，需对数据格式进行描述才可。比如一个cvs的数据

```
1,Item1,3.5,7.2,A
2,Item2,1.2,4.8,B
3,Item3,5.6,9.1,C
4,Item4,2.3,6.7,A
```

提问时应该把每个字段描述清楚，同时把需求说清楚。

```
用户数据是一组csv格式的字符串数据，每项的内容为“序号,名称,x,y,类型”。获取数据中每行的x,y数据绘制一个小圆，颜色为类型来决定。小圆下面写上名称。(圆半径和字体高度根据所有数据的范围来确定)
```

![image-20250303143743767](https://vjmap.com/blogimages/202503031437814.png)

![image-20250303144343835](https://vjmap.com/blogimages/202503031443895.png)

注： 此次示例生成的图用的大模型为`qwen-coder-plus-latest`

### 4、引用其他CAD图的实体对象绘制

对于一些复杂的符号或符号在之前的图中已经存在，可以通过引用CAD图中的实体对象来进行绘制。

首先在[唯杰地图云端管理平台](https://vjmap.com/app/cloud)上传这个CAD图模板图(命名一个mapid)，通过`内存直接打开`的方式，点击要引用的实体对象，在右侧属性面板中获取此对象的`objectid`

![image-20250303145548835](https://vjmap.com/blogimages/202503031455883.png)

示例:

```
绘制一个停车场示例示例图（图纸宽300,高100)，2排9列，每个车位置都需要绘制出车的矩形范围、标注出编号和绘制车符号[块参照来源于克隆图形car ,克隆实体id为331, 块原来范围为[587613582,3103823616,587618261,3103825364]，基点在范围中点]。矩形范围画大点包含编号和车符号(占矩形1/2大小)，编号在上面，车符号在下面，两个不要重叠。
```

![image-20250303150028471](https://vjmap.com/blogimages/202503031500520.png)

### 5、引用其他CAD图或图层数据绘制

也可以引用其他CAD整个图，或CAD图中的几个图层数据，比如`sys_world` 中`网络线`和`经纬度标注`的内容如下

![image-20250303151049961](https://vjmap.com/blogimages/202503031510017.png)


```
基于图sys_world，选择图中的"网格线"和"经纬度标注"图层，图纸绘制范围为{"min":{"x":1756,"y":2537},"max":{"x":27713,"y":17957}}。请随机绘制50个颜色不同的小圆，小圆下面标注当前序号。
```

![image-20250303151442124](https://vjmap.com/blogimages/202503031514172.png)

## 生成图的方式

### 1、重新生成新的图形

​      默认情况下每次创建会新建一个图形并自动打开

​       ![image-20250303152233475](https://vjmap.com/blogimages/202503031522508.png)

### 2、直接加至当前图形中

如果要基于当前的图形上再加数据，可以选择`把创建的实体自动直接加至当前地图中`

![image-20250303153502053](https://vjmap.com/blogimages/202503031535129.png)

### 3、交互式手动加至当前图形中

![image-20250303153906649](https://vjmap.com/blogimages/202503031539718.png)

## 下载生成的CAD图

生成图形后，点击工具栏上面的`下载CAD图`，即可把生成的`dwg`图下到本地。用`autocad`打开即可查看。

私有化部署后，因为数据安全考虑，需要后台配置下才可以正常下载。

打开`data`目录中的`config.json`文件, 在`system`键下面设置要映射的目录地址的下载路径，再在`usercfg`通过设置`shareWorkspace`（绘图所在工作区名称，为空时为默认工作区）、`shareDownload`（token_router_static中设置的下载路径key）, 示例如下：

```json
{
	"system" : {
	  "token_router_static": "_download_cad::./data/workspace/share/mapfiles"
	},
   "usercfg": {
    "shareWorkspace": "share",
    "shareDownload": "_download_cad"
  }
}
```



## 相关设置

### 清空会话内容
因为聊天时，会根据设置把历史记录(默认五条)做为上下文传入，如果要绘制的内容发生变化时，`一定要记得清空会话内容`（相当于新建会话)

### 在线大模型API设置

大模型可以在后台进行配置，也可以在前端由用户直接设置。

![image-20250303160016995](https://vjmap.com/blogimages/202503031600044.png)



更多设置可参考文档 [https://vjmap.com/guide/aichat.html](https://vjmap.com/guide/aichat.html)



## 如何用在线的大模型如deepseek免费生成图形


用在线API接口会消耗token需要花`Money`, 通过这办法可用在线AI网站`免费生成代码`

- 1、选中设置中“只生成问题模板，不自动生成代码”
  ![image-20250213171532518](https://vjmap.com/blogimages/202502131715689.png)
- 2、在提问区输入要提问的问题，如
```
 获取北京市最近一个月的气温json数组。通过此天气的json数据创建新的地图, 要求绘制一个气温变化曲线图，绘制最高温度曲线(红色)和最低温度曲线(绿色)，同时把天气情况写在最高温度曲线对应上的点上面。X轴为日期(要有刻度)，y轴为气温(要有刻度, 刻度最小值为-20,最大值为40, 每个刻度的单位为5)
```
- 3、点击发送开始提问，在之后弹出的`AI提问问题`对话框中选择`复制`，把问题复制下来。
  ![image-20250213174811969](https://vjmap.com/blogimages/202502131748041.png)
- 4、打开在线AI网站如 [deepseek](https://chat.deepseek.com/), 复制刚粘贴的内容
- 5、复制AI生成的代码
  ![image-20250213180109112](https://vjmap.com/blogimages/202502131801169.png)
- 6、在`AI提问问题`对话框中点击`执行代码`或者点击工具栏菜单中的`执行代码`，粘贴刚复制的代码，点击执行
  ![image-20250213193012076](https://vjmap.com/blogimages/202502131930136.png)
- 7、等结果执行完成，就可以查看执行效果了
  ![image-20250213193218984](https://vjmap.com/blogimages/202502131932051.png)
