要实现一个 AI 程序,能够操控鼠标、截取屏幕、识别刀路(CNC 加工路径)、根据规则顺序点亮刀路 ,这实际上是一个典型的 "视觉-语言-动作"闭环系统。该系统融合了图像识别、多模态大模型推理、以及自动化控制三大模块。下面我将从整体架构、关键技术选型、核心 Prompt 设计、以及具体实现建议四个方面进行详细说明。
一、整体系统架构
整个系统可划分为以下四个层级:
- 屏幕捕获层 :使用
pyautogui.screenshot()或OpenCV+mss实时截图; - 图像理解层:利用多模态大模型(如 Qwen3-VL-30B)对截图中的刀路图进行语义解析;
- 规则推理层:通过精心设计的 Prompt 引导 AI 按照加工逻辑(如"先外轮廓后内腔"、"由粗到精"等)生成刀路执行序列;
- 动作执行层 :使用
pyautogui控制鼠标依次点击/高亮刀路节点。
此架构与文献
12
中提到的"让工业图纸开口说话"的思路高度一致------不是简单 OCR 提取线条,而是让 AI "理解"刀路背后的工艺意图。
二、关键技术选型建议
1. 屏幕截图与预处理
-
使用
mss库高效截屏(比pyautogui更快); -
若刀路图来自 CAM 软件(如 Mastercam、UG),可直接导出为高清 PNG/PDF,避免屏幕反光或 UI 干扰;
-
可加入超分辨率(如 Real-ESRGAN)提升老旧图纸清晰度 12
。
2. 刀路识别模型
-
首选 Qwen3-VL-30B :支持高分辨率输入,能理解 CAD 图纸中的几何关系、标注、图层语义
12
; -
替代方案:若无 API 权限,可用开源模型如 Donut 或 Pix2Struct 微调刀路识别任务;
-
不推荐纯 OCR + 规则引擎:无法处理手绘草图、模糊扫描件或多图层叠加场景 12
。
3. 鼠标控制
-
使用
pyautogui实现点击、移动、拖拽; -
若需更高精度(如亚像素定位),可结合 OpenCV 模板匹配二次校准坐标 1
。
三、核心 Prompt 设计(刀路寻找规则)
这是整个系统成败的关键。Prompt 必须明确告诉 AI:
- 什么是刀路(连续的加工轨迹线);
- 加工优先级规则(工艺知识);
- 输出格式(结构化坐标序列)。
示例 Prompt(适用于 Qwen3-VL-30B):
text
编辑
你是一位资深 CNC 工艺工程师。请分析这张刀路图(G代码可视化结果或CAM软件截图),并按以下规则生成刀具路径的执行顺序:
【规则】
1. 优先加工外轮廓,再加工内腔;
2. 同一类特征中,先加工大尺寸特征,再加工小尺寸特征;
3. 孔加工按直径从大到小排序;
4. 避免空行程过长,尽量就近连续加工;
5. 若存在多个独立区域,按从左到右、从上到下的阅读顺序处理。
【输出要求】
- 识别所有刀路起点(用红色圆圈标记的位置);
- 按上述规则排序,输出一个有序列表;
- 每项格式为:{"step": 1, "x": 120.5, "y": 85.2, "type": "outer_contour"}
- 坐标单位为像素,原点在图像左上角;
- 若无法确定类型,标注为 "unknown";
- 不要解释,只输出 JSON 列表。
这种 Prompt 结构借鉴了
12
中"提问即编程"的思想------通过自然语言注入领域知识,引导模型做专业推理而非简单图像标注。
四、实现流程与代码框架
python
编辑
import pyautogui
import mss
import requests # 假设 Qwen3-VL-30B 通过 API 调用
import json
# 1. 截图
with mss.mss() as sct:
screenshot = sct.grab(sct.monitors[1])
screenshot.save("toolpath.png")
# 2. 调用 AI 模型
response = requests.post(
"https://api.qwen.ai/v1/vl",
headers={"Authorization": "Bearer YOUR_KEY"},
files={"image": open("toolpath.png", "rb")},
data={"prompt": YOUR_PROMPT_ABOVE}
)
# 3. 解析刀路序列
toolpath_seq = json.loads(response.json()["text"])
# 4. 逐一点亮(模拟点击)
for step in toolpath_seq:
x, y = step["x"], step["y"]
pyautogui.moveTo(x, y, duration=0.2)
pyautogui.click()
pyautogui.sleep(0.5) # 模拟加工停顿
注意:实际坐标需根据屏幕 DPI 和图像缩放比例进行映射
2
。
五、进阶优化方向
-
动态反馈学习 :若 AI 点错位置,人工纠正后将
(图像, 正确序列)作为新样本微调模型11
; -
多图联动 :同时上传"刀路图 + 工件3D视图",让 AI 验证路径是否干涉
12
; -
安全机制:加入"确认弹窗"防止误操作真实机床(仅用于仿真环境);
-
集成 CAM 软件插件:直接读取 .dxf 或 .nc 文件,跳过截图步骤,提升精度。
总结
你提出的"AI 自主点亮刀路"本质上是 智能制造中"感知-决策-执行"闭环的微型实现 。借助 Qwen3-VL-30B 这类多模态大模型,我们不再需要手动编写复杂的图像处理规则,而是通过 自然语言注入工艺知识 ,让 AI 像老师傅一样"看图识路"。配合 pyautogui 的自动化控制,即可构建一个低成本、高智能的刀路验证助手。
正如
11
所述:"AI 让设备拥有了火眼金睛和智慧大脑"------你的项目正是这一理念的绝佳实践。