乐于分享
好东西不私藏

CAD插件开发完全指南:从零到一打造你的第一个效率工具

CAD插件开发完全指南:从零到一打造你的第一个效率工具

每天花2小时做重复绘图?一个插件就够了

做过CAD的人都知道一个痛苦:同样的操作,每天重复几百遍

批量标注、自动编号、图层整理、图纸比对……这些活儿不难,但量大起来能把人逼疯。

我见过太多工程师,干了十年CAD,还在手动一个个改。不是不会写插件,而是觉得门槛太高,不知道从哪下手

今天这篇文章,就把CAD插件开发这件事彻底讲透。从选平台到写代码,从调试到发布,跟着走一遍,你就能做出自己的第一个插件。


一、先搞清楚:你要给哪个CAD写插件?

这不是废话。CAD平台太多了,选错平台,后面全白费。

目前主流的CAD二次开发平台有这么几个:

平台
开发方式
语言
上手难度
用户基数
AutoCAD
ObjectARX / .NET API
C#、C++、AutoLISP
中等
最大
中望CAD
ZRX API(兼容ARX)
C#、C++
中等
国产主流
SolidWorks
SOLIDWORKS API
C#、VBA
中等
制造业大
CATIA
CAA RADE
C++
航空汽车
Rhino
RhinoCommon
C#、Python
设计圈

新手建议:如果你是机械/建筑行业,从AutoCAD .NET API + C# 入手。原因很简单——用户最多、资料最全、坑最少。国产中望CAD兼容AutoCAD的ARX接口,代码几乎可以通用。


二、开发环境搭建:30分钟搞定

以AutoCAD .NET开发为例,你需要装三样东西:

1. Visual Studio 2022

社区版免费,下载安装时勾选「.NET 桌面开发」工作负载就行。

2. AutoCAD ObjectARX SDK

去Autodesk Developer Center下载对应版本的SDK。解压后记住路径,后面要引用里面的DLL。

3. 创建项目

打开Visual Studio,新建一个类库项目(.NET Framework 4.8),然后添加引用:

  • AcDbMgd.dll(数据库相关)
  • AcMgd.dll(应用程序相关)
  • AcCoreMgd.dll(核心相关)

这三个DLL都在SDK的inc目录下。记得在属性里把「复制本地」设为False,否则加载时会冲突。

using Autodesk.AutoCAD.Runtime;using Autodesk.AutoCAD.ApplicationServices;using Autodesk.AutoCAD.DatabaseServices;using Autodesk.AutoCAD.Geometry;using Autodesk.AutoCAD.EditorInput;[assembly: CommandClass(typeof(MyFirstPlugin.Commands))]namespaceMyFirstPlugin{publicclassCommands    {        [CommandMethod("HelloCAD")]publicvoidHelloCAD()        {            Document doc = Application.DocumentManager.MdiActiveDocument;            Editor ed = doc.Editor;            ed.WriteMessage("\n你好,CAD插件开发!");        }    }}

编译生成DLL,然后在AutoCAD里用NETLOAD命令加载,输入HelloCAD,看到命令行输出——恭喜,你的第一个插件跑起来了。


三、实战:写一个真正有用的插件

光输出一句话没意思。来写个实际的:批量给选中的圆标注直径

这个需求在机械制图里太常见了,手动标一个还行,标一百个能让人抓狂。

[CommandMethod("DimAllCircles")]publicvoidDimAllCircles(){    Document doc = Application.DocumentManager.MdiActiveDocument;    Database db = doc.Database;    Editor ed = doc.Editor;// 让用户选择要标注的圆    PromptSelectionOptions opts = new PromptSelectionOptions();    opts.MessageForAdding = "\n选择要标注直径的圆:";    TypedValue[] filter = { new TypedValue((int)DxfCode.Start, "CIRCLE") };    SelectionFilter sf = new SelectionFilter(filter);    PromptSelectionResult psr = ed.GetSelection(opts, sf);if (psr.Status != PromptStatus.OK) return;using (Transaction tr = db.TransactionManager.StartTransaction())    {        BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead);        BlockTableRecord btr = (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);foreach (SelectedObject so in psr.Value)        {            Circle circle = (Circle)tr.GetObject(so.ObjectId, OpenMode.ForRead);// 创建直径标注            DimDiametric dim = new DimDiametric();            dim.Center = circle.Center;            dim.Radius = circle.Radius;            dim.DimensionStyle = db.Dimstyle;// 把标注加到模型空间            btr.AppendEntity(dim);            tr.AddNewlyCreatedDBObject(dim, true);        }        tr.Commit();        ed.WriteMessage($"\n完成!共标注了 {psr.Value.Count} 个圆的直径。");    }}

这段代码做的事情:

  1. 弹出选择提示,用过滤器只让用户选圆
  2. 遍历所有选中的圆,读取圆心和半径
  3. 创建直径标注对象,设置参数
  4. 添加到模型空间,提交事务

核心就一个概念:所有对DWG数据库的修改都必须在Transaction(事务)里完成。这是AutoCAD .NET API最重要的设计模式,记住这点能避开80%的坑。


四、插件开发的核心知识地图

单个插件不难,但要做出好用的产品级插件,你需要掌握这几块:

1. 数据库操作

AutoCAD的DWG文件本质上是一个对象数据库。每个实体(线、圆、文字)都是数据库中的一条记录。

关键操作模式:

打开数据库 → 开启事务 → 获取模型空间 → 增删改实体 → 提交事务

常见坑:忘记Commit(),所有修改都不会保存。新手最容易犯的错。

2. 交互式选择

CAD插件和普通程序最大的区别——用户需要在图纸里选东西

常用的选择方式:

  • ed.GetSelection() — 框选
  • ed.GetEntity() — 点选单个实体
  • ed.GetPoint() — 拾取点
  • ed.GetDistance() — 测量距离

每种方式都有PromptResult返回值,一定要检查Status,用户随时可能按ESC取消。

3. 图层与样式管理

专业插件必须做好图层管理。比如标注插件应该自动把标注放到「标注层」,而不是扔在当前图层。

// 查找或创建图层LayerTable layerTbl = (LayerTable)tr.GetObject(db.LayerTableId, OpenMode.ForRead);if (!layerTbl.Has("标注层")){    layerTbl.UpgradeOpen();    LayerTableRecord ltr = new LayerTableRecord();    ltr.Name = "标注层";    ltr.Color = Autodesk.AutoCAD.Colors.Color.FromColorIndex(ColorMethod.ByAci, 3);    layerTbl.Add(ltr);    tr.AddNewlyCreatedDBObject(ltr, true);}

4. 用户界面

三种方式,按复杂度递增:

  • 命令行交互:最简单,适合快速工具
  • PaletteSet面板:可停靠的WPF面板,适合复杂参数配置
  • 模态对话框:适合向导式操作流程

新手从命令行开始,够用了。别一上来就搞WPF界面,容易陷进去出不来。


五、调试技巧:少走弯路的关键

CAD插件调试有个大坑:AutoCAD加载DLL后会锁文件,你没法重新编译

解决办法有三个:

方法一:每次改完代码先关AutoCAD 笨但有效。适合开发初期。

方法二:用Demand Loading自动加载 在注册表里配置,AutoCAD启动时自动加载你的DLL。改代码时关掉AutoCAD,重新打开就行。

方法三:远程调试(推荐) 在Visual Studio里设置:调试 → 附加到进程 → 选择acad.exe。这样可以在AutoCAD运行时打断点调试,效率最高。

<!-- .csproj 文件里添加,启动时自动启动AutoCAD --><PropertyGroup><StartAction>Program</StartAction><StartProgram>C:\Program Files\Autodesk\AutoCAD 2024\acad.exe</StartProgram></PropertyGroup>

设置好后直接按F5,Visual Studio会启动AutoCAD并自动附加调试器。打断点、看变量、单步执行,和调试普通程序一模一样。


六、从插件到产品:发布与分发

插件写完了,怎么给别人用?

方案一:手动NETLOAD

最简单。把DLL发给别人,让对方在CAD里输入NETLOAD,选择你的DLL文件。

缺点:每次开CAD都要手动加载,不专业。

方案二:自动加载(推荐)

通过注册表或acad.lsp实现开机自动加载:

;; acad.lsp 中添加(command"NETLOAD""C:/MyPlugins/MyFirstPlugin.dll")

或者用Bundle机制创建插件包,放到CAD的ApplicationPlugins目录下,CAD启动时自动识别。

方案三:打包成安装程序

用Inno Setup或NSIS打包,自动处理DLL复制、注册表写入、依赖检查。适合商业化分发。


七、进阶方向:让插件更值钱

基础插件能省时间,但真正值钱的插件有几个特征:

1. 参数化设计 不是执行固定操作,而是让用户通过参数控制行为。比如批量标注时,可以设置标注样式、文字高度、箭头大小。

2. 智能识别 利用实体的属性(图层、颜色、块名)自动判断该做什么。比如自动识别所有螺钉孔并标注螺纹规格。

3. 与外部数据联动 读Excel参数表批量生成图纸、对接ERP系统自动出BOM表、连接数据库查询标准件参数——这些才是企业最愿意花钱买的功能。

4. 批处理能力 一次处理整本图纸,自动出统计报表。建筑院、设计院最需要这个。


八、学习资源与社区

官方文档

  • AutoCAD .NET Developer's Guide(最权威)
  • Autodesk Developer Center(SDK下载、API参考)

中文资源

  • 明经CAD社区(国内最大的AutoCAD二次开发论坛)
  • CAD论坛二次开发版块

开源参考

  • GitHub上搜「AutoCAD plugin」有很多开源项目
  • AutoCAD的AutoLISP和.NET示例代码

建议学习路径

  1. 先过一遍官方的Getting Started教程
  2. 跟着写3-5个小工具练手
  3. 找一个实际工作中的痛点,做一个完整插件
  4. 尝试加入界面、参数化、批处理
  5. 打包发布,收集反馈,持续迭代

写在最后

CAD插件开发不是什么高深技术,本质上就是用代码代替手工操作

门槛不在编程,而在你有没有发现工作中的重复模式。每天花2小时干的事,写个插件可能10秒搞定。

从一个小工具开始,别想着一步到位做出完美产品。先解决一个具体问题,再慢慢扩展。

最好的学习方式就是动手做。今天就打开Visual Studio,把上面的HelloCAD跑起来,然后改成你自己需要的功能。


你工作中最烦的CAD操作是什么?
往期回顾
AutoCAD标注面积新利器V3.2版本全面升级
AutoCAD批量标注坐标工具
AutoCAD编号批量修改插件升级 效率秒翻倍
365坐标转换系统最新首发(附下载链接)
公路工程测量数据处理系统5.0正式发布超实用 AutoCAD 插件|曲线文字动态对齐汉化版
CAD批量文字替换神器!跨图纸一键全局改字,效率翻倍
AutoCAD自动编号神器!Lee Mac增量编号套件批量标图号/桩号一键搞定
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-16 05:18:25 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/862018.html
  2. 运行时间 : 0.124823s [ 吞吐率:8.01req/s ] 内存消耗:4,568.12kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=101e707011b33401bedb370333ba2864
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000651s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000901s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000310s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000266s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000578s ]
  6. SELECT * FROM `set` [ RunTime:0.000228s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000609s ]
  8. SELECT * FROM `article` WHERE `id` = 862018 LIMIT 1 [ RunTime:0.000561s ]
  9. UPDATE `article` SET `lasttime` = 1784150305 WHERE `id` = 862018 [ RunTime:0.032829s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000702s ]
  11. SELECT * FROM `article` WHERE `id` < 862018 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000496s ]
  12. SELECT * FROM `article` WHERE `id` > 862018 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000464s ]
  13. SELECT * FROM `article` WHERE `id` < 862018 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000732s ]
  14. SELECT * FROM `article` WHERE `id` < 862018 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000817s ]
  15. SELECT * FROM `article` WHERE `id` < 862018 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000845s ]
0.126549s