当前位置:首页>java>【vlisp】代码详解:多段线转样条曲线

【vlisp】代码详解:多段线转样条曲线

  • 2026-02-06 12:07:31
【vlisp】代码详解:多段线转样条曲线

vlisp代码详解

;;;功能:多段线(包括轻量多段线和旧式多段线),转换为样条曲线。(defun c:PL2SPL    (/ *error* acadApp acadDoc modelSpace ss i ent obj pts pt       param endparam ptlist splinepts successCount totalCount     )    (vl-load-com);; 错误处理函数     (defun *error*         (msg)        (if            (not                (member msg '                     ("Function cancelled""quit / exit abort")                )            )            (princ (strcat"\n错误: " msg))        )        (princ)    );; 获取当前文档和模型空间     (setq acadApp (vlax-get-acad-object))    (setq acadDoc         (vla-get-activedocument acadApp)    )    (setq modelSpace         (vla-get-modelspace acadDoc)    );; 提示用户选择多段线(允许多选)     (princ"\n选择一条或多条多段线: ")    (setq ss (ssget '((0 . "*POLYLINE"))))    (if ss         (progn            (setq totalCount (sslength ss))            (setq successCount 0);; 遍历选择集中的每个对象             (setq i 0)            (while                (< i totalCount)                (setq ent (ssname ss i))                (setq obj (vlax-ename->vla-object ent));; 获取多段线顶点坐标                 (setq pts nil)                (setq param 0)                (setq endparam                     (vlax-curve-getendparam obj)                );; 遍历所有顶点                 (while                    (<= param endparam)                    (setq pt                         (vlax-curve-getpointatparam obj param)                    );; 去除 Z 坐标值(强制设为 0,转换为二维点)                     (setq pt (list (car pt)(cadr pt) 0.0))                    (setq pts (cons pt pts))                    (setq param (1+ param))                );; 反转点列表(因为我们是反向收集的)                 (setq pts (reverse pts));; 检查是否有足够多的点创建样条曲线(至少需要 2 个点)                 (if                    (>= (length pts) 2)                    (progn;; 创建样条曲线                         (setq splinepts                             (vlax-make-safearray vlax-vbDouble                                 (cons0 (- (*3 (length pts)) 1))                            )                        );; 填充点数组                         (setq ptlist (apply 'append pts))                        (vlax-safearray-fill splinepts ptlist)                          (vla-addspline modelSpace splinepts                             (vlax-3d-point '(000)) ; 起点切线方向                             (vlax-3d-point '(000)) ; 终点切线方向                         )                        (setq successCount (1+ successCount))                    )                    (princ                        (strcat"\n警告: 第 "                            (itoa (1+ i)) " 条多段线顶点数量不足,已跳过。"                        )                    )                )                (setq i (1+ i))            );; 输出结果统计             (princ                (strcat"\n转换完成!成功转换 "                    (itoa successCount) "/"                    (itoa totalCount) " 条多段线。"                )            )        )        (princ"\n未选择多段线或选择对象无效。")    )    (princ));;;加载后,提示(princ"\nPL2SPL 命令已加载,输入 PL2SPL 使用。")(princ)

1. 命令定义和变量声明

(defun c:PL2SPL (/ *error* acadApp acadDoc modelSpace ss i ent obj pts pt param endparam ptlist splinepts successCount totalCount)
  • defun c:PL2SPL: 定义一个名为 PL2SPL 的 AutoCAD 命令,前缀 c: 表示这是可执行的 CAD 命令
  • (/ *error* acadApp ...): 声明函数的所有局部变量,包括:
    • *error*: 错误处理函数
    • acadApp: AutoCAD 应用程序对象
    • acadDoc: 当前活动文档对象
    • modelSpace: 模型空间对象
    • ss: 选择集对象
    • i: 循环计数器
    • ent: 实体(图元)对象
    • obj: VLA(Visual Lisp ActiveX)对象
    • pts: 存储多段线顶点的列表
    • pt: 临时点变量
    • param: 多段线参数值(顶点索引)
    • endparam: 多段线结束参数值
    • ptlist: 展平的点列表
    • splinepts: 安全数组,用于存储样条曲线点
    • successCount: 成功转换计数
    • totalCount: 总选择对象计数

2. 加载 ActiveX 支持

(vl-load-com)
  • 加载 Visual LISP 的 ActiveX 支持,这是使用 VLA 对象方法的前提条件

3. 错误处理函数定义

(defun *error* (msg)    (if (not (member msg '("Function cancelled""quit / exit abort")))        (princ (strcat"\n错误: " msg))    )    (princ))
  • 定义错误处理函数 *error*
  • msg: 错误消息参数
  • (if (not (member msg ...)): 检查错误消息是否为以下特定类型(这些通常是用户主动取消的情况):
    • "Function cancelled": 函数被取消
    • "quit / exit abort": 退出或中止
  • 如果不是上述特定错误,则打印错误消息
  • (princ): 静默退出,不显示多余的 nil 值

4. 获取 AutoCAD 应用程序和文档对象

(setq acadApp (vlax-get-acad-object))(setq acadDoc (vla-get-activedocument acadApp))(setq modelSpace (vla-get-modelspace acadDoc))
  • (vlax-get-acad-object): 获取当前 AutoCAD 应用程序对象
  • (vla-get-activedocument acadApp): 获取当前活动文档对象
  • (vla-get-modelspace acadDoc): 获取模型空间对象,用于在其中创建新实体

5. 提示用户选择多段线

(princ"\n选择一条或多条多段线: ")(setq ss (ssget '((0 . "*POLYLINE"))))
  • (princ ...): 在命令行显示提示信息
  • (ssget ...): 显示选择提示,让用户选择对象
  • '((0 . "*POLYLINE")): 选择过滤器,只允许选择多段线类型对象(包括轻量多段线和旧式多段线)

6. 检查选择集是否有效

(if ss    (progn        ...    )    (princ"\n未选择多段线或选择对象无效。"))
  • (if ss ...): 检查选择集是否不为空
  • (progn ...): 如果选择集有效,则顺序执行多个表达式
  • 否则,显示错误消息

7. 初始化计数器

(setq totalCount (sslength ss))(setq successCount 0)
  • (sslength ss): 获取选择集中对象的数量
  • 初始化成功转换计数器为 0

8. 开始遍历选择集

(setq i 0)(while (< i totalCount)
  • 初始化循环计数器 i
  • (while (< i totalCount) ...): 当 i 小于总对象数时,继续循环

9. 获取当前对象信息

(setq ent (ssname ss i))(setq obj (vlax-ename->vla-object ent))
  • (ssname ss i): 通过索引获取选择集中的图元名
  • (vlax-ename->vla-object ent): 将图元名转换为 VLA 对象,以便使用 ActiveX 方法

10. 初始化变量准备提取顶点

(setq pts nil)(setq param 0)(setq endparam (vlax-curve-getendparam obj))
  • 初始化顶点列表为空
  • 设置起始参数为 0
  • (vlax-curve-getendparam obj): 获取曲线的结束参数值(对于多段线,这通常是顶点数减1)

11. 遍历多段线所有顶点

(while (<= param endparam)    (setq pt (vlax-curve-getpointatparam obj param));; 去除 Z 坐标值(强制设为 0,转换为二维点)    (setq pt (list (car pt) (cadr pt) 0.0))    (setq pts (cons pt pts))    (setq param (1+ param)))
  • (while (<= param endparam) ...): 遍历所有参数点
  • (vlax-curve-getpointatparam obj param): 根据参数值获取曲线上的点
  • (setq pt (list (car pt) (cadr pt) 0.0)): 将三维点转换为二维点(Z坐标设为0)
  • (setq pts (cons pt pts)): 将点添加到列表头部(注意:这会创建逆序列表)
  • (setq param (1+ param)): 参数值加1,移动到下一个点

12. 反转点列表

(setq pts (reverse pts))
  • 由于之前使用 cons 添加点到列表头部,点列表是逆序的,需要反转以得到正确的顺序

13. 检查顶点数量是否足够

(if (>= (length pts) 2)    (progn        ...    )    (princ (strcat"\n警告: 第 "                  (itoa (1+ i)) " 条多段线顶点数量不足,已跳过。"           )    ))
  • 检查顶点列表长度是否大于等于2(样条曲线至少需要2个点)
  • 如果顶点数不足,显示警告信息并跳过该多段线
  • (itoa (1+ i)): 将整数转换为字符串,显示当前处理的第几条多段线

14. 创建样条曲线点数组

(setq splinepts (vlax-make-safearray vlax-vbDouble                                      (cons0 (- (*3 (length pts)) 1))                ))
  • (vlax-make-safearray vlax-vbDouble ...): 创建双精度类型的安全数组
  • (cons 0 (- (* 3 (length pts)) 1)): 定义数组索引范围
    • 起点索引: 0
    • 终点索引: (* 3 (length pts)) - 1(每个点有X、Y、Z三个坐标)

15. 准备点数据并填充数组

(setq ptlist (apply 'append pts))(vlax-safearray-fill splinepts ptlist)
  • (apply 'append pts): 将嵌套的点列表展平为一维列表(例如:((x1 y1 z1) (x2 y2 z2)) 变成 (x1 y1 z1 x2 y2 z2))
  • (vlax-safearray-fill splinepts ptlist): 用点数据填充安全数组

16. 创建样条曲线

(vla-addspline modelSpace              splinepts              (vlax-3d-point '(000))  ; 起点切线方向              (vlax-3d-point '(000))   ; 终点切线方向)
  • (vla-addspline ...): 在模型空间创建样条曲线
  • 参数:
    1. 模型空间对象
    2. 控制点数组(样条曲线通过这些点)
    3. 起点切线方向(设为(0,0,0)表示AutoCAD自动计算)
    4. 终点切线方向(设为(0,0,0)表示AutoCAD自动计算)

17. 更新成功计数器

(setq successCount (1+ successCount))
  • 成功创建样条曲线后,计数器加1

18. 循环计数器递增

(setq i (1+ i))
  • 处理下一个多段线对象

19. 循环结束,输出统计信息

(princ (strcat"\n转换完成!成功转换 "              (itoa successCount) "/"              (itoa totalCount) " 条多段线。"       ))
  • 显示转换完成的统计信息,包括成功转换的数量和总数

20. 如果没有选择集,显示提示

(princ"\n未选择多段线或选择对象无效。")
  • 当用户没有选择任何多段线时显示的提示信息

21. 静默退出

(princ)
  • 静默退出函数,不在命令行显示返回值

22. 加载提示信息

(princ"\nPL2SPL 命令已加载,输入 PL2SPL 使用。")(princ)
  • 当LISP文件加载时显示的提示信息,告诉用户如何使用这个命令

总结

这个LISP程序是一个实用的CAD工具,可以将一条或多条多段线(包括轻量多段线和旧式多段线)转换为样条曲线。程序的主要流程如下:

  1. 「加载ActiveX支持」:启用Visual LISP的ActiveX功能
  2. 「设置错误处理」:捕获和处理程序执行过程中的错误
  3. 「获取AutoCAD对象」:获取应用程序、文档和模型空间对象
  4. 「选择对象」:提示用户选择要转换的多段线
  5. 「遍历处理」:对每条选中的多段线:
    • 提取所有顶点坐标
    • 转换为二维点(Z坐标设为0)
    • 创建样条曲线
  6. 「统计输出」:显示转换成功的数量

程序的特点包括:

  • 支持批量处理多条多段线
  • 自动处理二维点转换
  • 提供详细的进度反馈和错误提示
  • 有完善的错误处理机制

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-07 12:17:09 HTTP/2.0 GET : https://f.mffb.com.cn/a/471074.html
  2. 运行时间 : 0.301874s [ 吞吐率:3.31req/s ] 内存消耗:4,555.99kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=b3499f87f5ebad331ae78c4a88a4abe5
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001049s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001597s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000748s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.001449s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001361s ]
  6. SELECT * FROM `set` [ RunTime:0.002017s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001616s ]
  8. SELECT * FROM `article` WHERE `id` = 471074 LIMIT 1 [ RunTime:0.007946s ]
  9. UPDATE `article` SET `lasttime` = 1770437829 WHERE `id` = 471074 [ RunTime:0.025324s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.008830s ]
  11. SELECT * FROM `article` WHERE `id` < 471074 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001598s ]
  12. SELECT * FROM `article` WHERE `id` > 471074 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.005103s ]
  13. SELECT * FROM `article` WHERE `id` < 471074 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.011256s ]
  14. SELECT * FROM `article` WHERE `id` < 471074 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.004090s ]
  15. SELECT * FROM `article` WHERE `id` < 471074 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.022790s ]
0.305691s