已赞
已收藏0
分享

AI案例分享:中望CAD+WorkBuddy快速实现线缆自动充填🤖

一、导语:一个真实的社区需求

中望社区有位用户咨询:电缆截面里那些大小不一的线芯圆,怎么又快又准地排布填充进外护套大圆?这类异径圆装填是细分行业的典型痛点。

中望 CAD 是通用 CAD 平台,提供的是通用绘图能力,本身不会覆盖如此细分的行业功能;去网上找免费插件,又常常很难完全匹配自己的具体需求。既然我们有幸生在 AI 时代,与其将就,不如直接上手让 AI 帮我们把这个功能做出来。

本文就用「中望 CAD + WorkBuddy」完整演示一遍:从一张用户截图出发,到最后得到一个能日常使用的 LISP 排布工具。整个流程不需要你精通 LISP,重点是把需求讲清楚、把验证做扎实。

二、整体思路:五步走通

把这件事拆开看,其实是一条很清晰的链路。下面这张流程对应到后面每一节的具体操作:

① 图片 → WorkBuddy 用 MCP 在中望 CAD 直接画出图形
② 借助大模型(豆包 / DeepSeek)打磨一份完整的提示词
③ 把提示词交给 WorkBuddy,让它写出 LISP 程序
④ 手动加载 LISP(appload),执行命令开始测试
⑤ 测试发现问题 → 截图反馈 → 迭代优化,直到可用

视频教程

点击视频学习

不方便跟随视频学习的小伙伴,可以跟随以下步骤操作👇🏻

三、分步实操

步骤 1:安装中望CAD MCP

在Workbuddy的连接器中搜索 中望,找到中望CAD MCP,点击添加,耐心等待几分钟即可添加成功。

步骤2:用图片在中望 CAD 中绘制图形(MCP)

先把参考截图交给 WorkBuddy,让它识别图中各圆的直径,并通过 MCP 直接在中望 CAD 上把图形画出来,大圆圆心放在坐标原点。这一步是为了拿到一个可视化的测试数据,也顺带验证线缆小圆之间以及和大圆是否满足充填条件(在护套内,且互相无干涉)。

给 WorkBuddy 的提示词示例

请帮我分析下各个圆的直径信息,并利用 MCP 在机械中直接绘制,大圆的圆心在原点上,并附上截图

步骤 3:借助大模型打磨提示词

同步进行:把「想让 WorkBuddy 开发一个 LISP 工具」这件事,先丢给豆包或 DeepSeek,让它帮你把提示词写规范——把输入、输出、要求、注意事项都理清楚。这一步能显著降低后面和 WorkBuddy 来回扯皮的成本。

向大模型征求提示词建议

我想让 workbuddy 帮我开发一下 lisp 工具,请帮我看看应该怎么写提示词,尽量把输入输出、要求、注意事项写清楚

提供上面的用户问题截图

步骤 4:让 WorkBuddy 生成 LISP 程序

拿到大模型给的提示词后,自己检查一遍,稍作修改(比如根据步骤 1 画出的 6 个小圆,实测尺寸后更新进提示词),就可以复制粘贴给 WorkBuddy 让它写代码了。下面是这次实际使用的程序需求,结构很完整,值得参考:

LISP 程序需求(WorkBuddy 据此生成代码)


请编写一套【中望CAD LISP演示程序】,实现电缆截面异径圆自动装填排布。
程序定位:技术Demo,用于演示线缆截面线芯自动排布,不是商用专业电缆软件。
测试案例:外圆直径Φ4.05,一共6根大小不同小圆,对应社区用户截图场景。

========= 输入界面(弹出对话框) =========
弹窗标题:电缆截面圆装填排布
输入项:
1. 外护套大圆直径(mm):输入框,默认值4.05;校验:数值>0
2. 小圆直径列表(mm):多行输入框,每行1个小圆直径;测试默认填入:
1.8
1.8
1.1
1.1
1.1
1.1
校验:自动过滤空行,每个数值>0
3. 优化目标【单选】
☑ 重心尽量居中(默认选中,电缆工程优先,按小圆面积加权计算整体重心,最小化重心到大圆圆心的偏移距离)
☐ 仅几何可行(只满足不碰撞、不越界,不优化重心,可能出现偏心布局)
4. 最大求解时间上限(秒):输入框,默认10秒
5. 最大迭代次数:输入框,默认200000次
按钮:【开始排布】、【取消】

========= 硬性几何约束(必须全部满足) =========
1. 外大圆固定圆心在CAD坐标原点(0,0);
2. 任意两个小圆不能相交:两圆圆心距离 ≥ 小圆A半径 + 小圆B半径,允许相切;
3. 小圆不能超出外大圆:小圆圆心到原点距离 ≤ 外圆半径 − 当前小圆半径;
4. 停止条件:满足【最大迭代次数】OR【最大求解时间】,任意一项达到就终止算法;
5. 额外提前终止优化:连续20000次迭代最优解没有改善,提前结束寻优。

========= 算法要求 =========
使用模拟退火算法进行寻优。
停止后逻辑:
① 如果已经找到满足约束的可行布局:在CAD绘图区自动绘制图形;命令行输出迭代次数、实际求解耗时、重心偏移距离;
② 如果时间/迭代耗尽,仍然找不到可行方案:弹出提示框【在限定时间内未能找到可行排布,请检查小圆直径尺寸】,不生成任何图形。

========= CAD绘图输出规则 =========
自动新建图层,绘制对应图元:
1. 图层【Cable_Sheath】:红色实线,绘制外护套大圆;
2. 图层【Cable_Core】:白色实线,绘制所有排布完成的线芯小圆;

========= 代码要求与注意事项 =========
1. LISP代码增加详细中文注释,方便讲解原理;
2. 算法运行期间,在CAD命令行打印进度信息;
3. 防止CAD卡死:增加时间超时限制,避免无解场景无限循环;
4. 圆装填属于NP难问题,代码注释写明:每次运行可能得到不同可行布局;重心优先模式会输出重心最优方案;
5. 代码写完后,附带完整操作步骤:如何在中望CAD加载LISP、如何启动命令;
6. 附带测试说明:使用默认4.05外圆+6个小圆进行测试。

代码生成期间,你可以先去喝杯咖啡或处理别的事,等 WorkBuddy 把程序写完。

步骤 5:手动加载并运行测试

提示:MCP 目前不支持直接加载 LSP 文件,所以需要手动加载。

程序写好后,在中望 CAD 里执行 appload 命令加载生成的 LSP 文件;按命令行提示执行命令 CABPACK,然后在弹出的对话框里点「确认」即可测试。

步骤 6:测试、迭代与优化

初次测试多半会有报错或者结果不如人意。直接把报错截图或者问题发给 WorkBuddy,让它定位并修改,经过几轮迭代基本就能跑通。

提示:建议每次都用「新建图纸」加载修改后的 LSP 再测试,避免旧缓存数据导致问题反复出现,干扰你对改动的判断。

请求 WorkBuddy 优化算法的提示词

这个10根导线内的,拟物和模拟退火哪个算法更优呢?还有更优的算法吗?先不执行,分析给我先确认哈

根据workbuddy给的分析,选择优化方案,等优化完成后,在中望 CAD 中新建图纸、重新加载 LSP、执行命令,确认测试通过。之后你可以按自己的应用场景补充更多数据测试,也可以让 WorkBuddy 生成一批测试数据来压测。验证通过,就能直接用到日常工作中了。

提示:如果希望每次启动软件都能直接调用这个工具,可以把 LSP 加到启动组(自动加载),省去手动 appload。

四、小结

怎么样,大家学会了吗?核心思路就一句话:把需求讲清楚,用 MCP把图先画出来,再用 AI 把 LISP 写出来,最后靠截图反馈做迭代验证。

这套「图片 → 提示词 → 代码 → 加载 → 迭代」的方法并不局限于线缆排布,后续有其他工具需求,都可以参考同样的步骤去试试。

0 条评论 A文章作者 M管理员
    暂无讨论,说说你的看法吧
❯
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
复制链接
微信扫码
已复制到剪贴板