夜雨聆风学习资料网

ARTICLE · 1118318

实战|用 AI 写 CAD 插件:图层管家(附源码 + 提示词)

实战|用 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。

功能需求

开发一个「图层管家」插件,命令名 LY。

界面

使用 WPF 制作操作窗口,无边框圆角,毛玻璃卡片风格:

标题栏:应用图标 + 标题 + 最小化 / 关闭,可拖拽

卡片 1:三个双态按钮 + 全选 / 反选 + 图层数

卡片 2:新建图层 / 删除图层 / 图层刷 / 选中同层实体 / 刷新

卡片 3:列表(图层名 / 颜色 / 线型 / 开 / 冻 / 锁 / 当前)

卡片 4:图层替换(下拉选目标 + 选实体替换按钮)

状态栏

功能要求

 三个双态按钮

"全部关闭" ↔ "全部开启",点一下切一次

"全部隐藏" ↔ "全部显示"

"全部锁定" ↔ "全部解锁"

当前层不能关、不能冻,自动跳过

每行开关

开 / 冻 / 锁 三个滑动开关(CheckBox 自定义模板)

点一下立即生效并 Regen 刷新

当前层的"开""冻"开关禁用

表格内双击改名

    颜色点击修改

    右键菜单

    项:关闭/开启、隐藏/显示、锁定/解锁、全选、反选

    美化:白底、红色 hover、圆角、阴影

    图层刷

    隐藏窗口 → 选源对象 → 连续点目标对象 → ESC 结束

    每次刷完 Regen

    图层替换

    下拉选目标图层

    隐藏窗口 → GetSelection 框选实体 → 批量改 Layer

    新建 / 删除图层

    新建:表格内直接加临时行 → 编辑名字 → 回车创建

    删除:检查 0 层 / 当前层 / Defpoints / 有对象 → 提示不能删

    选中同层实体

    选中行对应的所有图层 → 收集所有实体 → SetImpliedSelection

    焦点切回 CAD

    环境

    .NET Framework 4.8 引用 AcMgd、AcDbMgd、AcCoreMgd

    输出要求

    完整可编译的代码

    关键逻辑加中文注释

    说明编译和加载方法

    写提示词的核心原则

    1. 先定身份先让 AI 进入专业 CAD 开发的角色,避免用错 API、写出行外代码。

    2. 再划边界明确命令名、CAD 版本、运行环境,从根源减少兼容问题和报错。

    3. 讲清规则怎么保存、怎么注入、怎么设为当前,每一步规则都说死,不给 AI 自由发挥的空间。

    4. 固定格式要完整代码、要注释、要部署说明,都明确提出来,输出直接能用。

    照着这个结构写,AI 输出代码的可用率至少提升 80%。

    核心源码分享

    工程一共 4 个文件,加起来 1000+ 行。全部贴出来会把文章撑爆,下面只给入口代码示例。
    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

    相关学习资料