ARTICLE · 1118318
实战|用 AI 写 CAD 插件:图层管家(附源码 + 提示词)
点击蓝字,关注我们这是《零基础 CAD 插件从 0 到 1》第 15 篇
做设计的小伙伴肯定都被图层折磨过。
原生图层管理器,一打开就是密密麻麻的,眼都花了。想关一个图层,得先打开面板 → 找到那个图层 → 点灯泡 → 关掉面板,5 步才能干一件事。
看图的时候只想看某几层,要么一个个点关闭,要么用 LAYISO 输命令,看完还要 LAYUNISO 恢复,记不住。
改图怕误改,想把其他图层锁住,又得回图层管理器一个个点锁。图框的图层叫什么名字全靠猜,图层名起得乱七八糟想改还得双击一格一格改。
更烦的是,每个人画图习惯不一样,图层名、颜色、线型管理方式五花八门。你今天接的图,明天打开发现图层全是乱的。
今天咱们用 AI 写一个图层管家,一次性解决这些痛点:
可视化列表、双态按钮、每行开关、右键菜单、表格内改名、CAD 原生色板、不抢焦点——打开就知道怎么用。
先看效果:一键开关图层一个按钮搞定

GIF1(一键操作):点"全部关闭" → 所有图层关闭,按钮文字变"全部开启";再点一下 → 全部打开。

GIF2(表格内改名):双击图层名 → 直接进入编辑 → 输入新名字 → 回车保存。

GIF3(右键菜单):右键某行 → 弹出菜单 → 关闭/开启、隐藏/显示、锁定/解锁、全选、反选。
这个插件解决了什么问题?
针对图层管理的痛点,做了几个核心优化:
可视化列表 + 色块预览
不用再拿图层管理器翻 很多行。列表里直接显示图层名、彩色色块、线型、开关状态,一眼看清楚。
三个双态按钮,点一下切一次
顶部三个按钮:
全部关闭 → 点一下 → 变"全部开启"
全部隐藏 → 点一下 → 变"全部显示"
全部锁定 → 点一下 → 变"全部解锁"
不用记状态,按钮文字直接告诉你点击后会发生什么。
每行自带开关,点一下立即生效
每行三个滑动开关:
开(绿色)——打开/关闭图层
冻(蓝色)——冻结/解冻
锁(橙色)——锁定/解锁
点一下立即生效,不用先选行再点按钮。 这就是和原生最大的区别。
表格内双击改名
不用弹窗,双击图层名直接进入编辑状态,输入新名回车保存。
右键菜单,一次性操作多个
支持多选(按住 Ctrl)
右键弹出菜单
关闭/开启、隐藏/显示、锁定/解锁
全选、反选
图层刷 + 选中同层实体
图层刷:选源对象 → 连续点目标对象 → 快速统一图层
选中同层实体:一键选中某图层上的所有对象
交互设计:一个窗口,五个区域
启动命令:输入 LY 回车,弹出管家窗口。
区域 1:标题栏
应用图标 + 标题
最小化 / 关闭按钮
可拖拽移动
区域 2:全局操作卡片
三个双态按钮:全部关闭 / 全部隐藏 / 全部锁定
全选 / 反选
右侧显示"共 N 个图层"
区域 3:工具卡片
新建图层 / 删除图层
图层刷 / 选中同层实体 / 刷新
区域 4:图层列表
每行:图层名(可编辑)/ 颜色(色块)/ 线型 / 开 / 冻 / 锁 / 当前
双击图层名 → 表格内改名
点颜色色块 → 弹 CAD 原生色板
点开关 → 立即生效
右键 → 弹出菜单
区域 5:图层替换
下拉选目标图层
点"选实体并替换到此图层" → 窗口隐藏 → 图纸上框选 → 替换完成
核心干货:给 AI 的精准提示词
还是那句话:用 AI 写插件写出来的功能不对,本质是需求没说细。
下面是实测多轮、输出稳定能用的提示词模板:
角色设定你是资深 CAD .NET 二次开发工程师,精通 C#、WPF 与 CAD 原生 API。 功能需求开发一个「图层管家」插件,命令名 界面使用 WPF 制作操作窗口,无边框圆角,毛玻璃卡片风格: 标题栏:应用图标 + 标题 + 最小化 / 关闭,可拖拽 卡片 1:三个双态按钮 + 全选 / 反选 + 图层数 卡片 2:新建图层 / 删除图层 / 图层刷 / 选中同层实体 / 刷新 卡片 3:列表(图层名 / 颜色 / 线型 / 开 / 冻 / 锁 / 当前) 卡片 4:图层替换(下拉选目标 + 选实体替换按钮) 状态栏 功能要求三个双态按钮 "全部关闭" ↔ "全部开启",点一下切一次 "全部隐藏" ↔ "全部显示" "全部锁定" ↔ "全部解锁" 当前层不能关、不能冻,自动跳过 每行开关 开 / 冻 / 锁 三个滑动开关(CheckBox 自定义模板) 点一下立即生效并 Regen 刷新 当前层的"开""冻"开关禁用 表格内双击改名 颜色点击修改 右键菜单 项:关闭/开启、隐藏/显示、锁定/解锁、全选、反选 美化:白底、红色 hover、圆角、阴影 图层刷 隐藏窗口 → 选源对象 → 连续点目标对象 → ESC 结束 每次刷完 图层替换 下拉选目标图层 隐藏窗口 → 新建 / 删除图层 新建:表格内直接加临时行 → 编辑名字 → 回车创建 删除:检查 0 层 / 当前层 / Defpoints / 有对象 → 提示不能删 选中同层实体 选中行对应的所有图层 → 收集所有实体 → 焦点切回 CAD 环境.NET Framework 4.8 引用 AcMgd、AcDbMgd、AcCoreMgd 输出要求完整可编译的代码 关键逻辑加中文注释 说明编译和加载方法 |
写提示词的核心原则
先定身份先让 AI 进入专业 CAD 开发的角色,避免用错 API、写出行外代码。
再划边界明确命令名、CAD 版本、运行环境,从根源减少兼容问题和报错。
讲清规则怎么保存、怎么注入、怎么设为当前,每一步规则都说死,不给 AI 自由发挥的空间。
固定格式要完整代码、要注释、要部署说明,都明确提出来,输出直接能用。
照着这个结构写,AI 输出代码的可用率至少提升 80%。
核心源码分享
using Autodesk.AutoCAD.ApplicationServices;using Autodesk.AutoCAD.Runtime;using System.Windows.Interop;using AcApp = Autodesk.AutoCAD.ApplicationServices.Application;namespace LayerOne{public class LayerManagerCommand{private static LayerManagerWindow _win;[CommandMethod("LY")]publicvoidShowLayerManager(){Document doc = AcApp.DocumentManager.MdiActiveDocument;if (doc == null) return;// 已经开着就激活,避免重复开窗口if (_win != null && _win.IsLoaded){_win.Show();_win.Activate();_win.Topmost = true;_win.Topmost = false;_win.Focus();return;}_win = new LayerManagerWindow(doc);// 把 Owner 设为 CAD 主窗口var helper = new WindowInteropHelper(_win);helper.Owner = AcApp.MainWindow.Handle;_win.Closed += (s, e) => { _win = null; };_win.Show(); // 非模态显示}}}
用 AI 开发插件的完整流程
需求拆解
把「图层管家」拆成八个模块:窗口框架 → 双态按钮 → 每行开关 → 颜色修改 → 表格内改名 → 右键菜单 → 图层刷 → 图层替换。逐个让 AI 实现。
分步验证
先做"能读出来",再做"能改",最后做"能操作图纸"。每一步跑通再往下,出问题好定位。
实测优化
拿不同 CAD 版本测试:2021、2024、2026 的 WPF 兼容性有差异,挨个验证。发现"不抢焦点"这个功能特别容易出问题,ShowActivated="False" 和 WS_EX_NOACTIVATE 要配合用。
细节调整
窗口大小、按钮颜色、开关配色、hover 效果、右键菜单圆角,都可以根据自己的操作习惯改。
成品领取 & 下期预告
成品插件直接领
不想自己编译、调代码的朋友,关注公众号 「下班让AI教我做插件」,后台回复 「图层管理」,直接领取编译好的 DLL 插件文件,NETLOAD 加载或者是使用我写的dll插件加载工具箱。 完整工程源码拿到手就能二次修改。
下期预告
下一篇咱们继续图纸提效工具,如果有想要的插件可以在评论区留言,我看看哪个留言最多就做哪个。
我是做插件的设计师,专注用 AI 提高 CAD 设计效率。关注我,下班一起做插件,把重复工作交给程序。

E
N
D