明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 995|回复: 19

[讨论] lsp写的插件 ,标注1W个10毫米X10毫米的矩形 用时1分30秒 能不能在快点

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式
本帖最后由 amook147 于 2025-8-29 18:17 编辑

lsp写的插件 ,标注1W个10毫米X10毫米的矩形面积   用时1分30秒  能不能在快点  


有什么办法能实现在30秒以内完成?

回复

使用道具 举报

发表于 3 天前 | 显示全部楼层
(defun c:tt(/ L S SS)
(setq s  (ssget '((0 . "LWPOLYLINE")))
       ss (getvar "millisecs")
       l  (cdr(reverse(mapcar 'cadr (ssnamex s))))
)
(foreach m l
   (entmake (list '(0 . "TEXT")  (cons 1 "100mm\\U+00B2" )
                  (cons 10 (polar (vlax-curve-getstartpoint m) (* 0.25 pi) 7.0707))
                  (cons 40 0.6)) )
)
(princ(strcat"历时: "(itoa(- (getvar "millisecs") ss)) "毫秒") )
)
回复 支持 反对

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
pyj643921 发表于 2025-8-29 18:29
看你是用什么方法标注的,如果用command命令标注肯定慢,试试用entmake函数生成,还不快就换其它语言吧
AI给的建议  让AI修改了一下  测试结果减少了至少一半的时间。。。。



合并实体创建操作(减少函数调用)
原代码中create-area-label每次调用都会单独执行entmake,可改为批量收集所有标注数据,一次性创建(适用于 1 万个图形的场景)。
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
能用就行,在lisp追求速度是痛苦的,map和数组要绕去VBA函数,
要并行没并行,要simd没simd,就连分析瓶颈在哪里都不知道高精度计时器,缓存命中数这些在哪里查...
所以与其那么痛苦不如将就一下就算了.
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
看你是用什么方法标注的,如果用command命令标注肯定慢,试试用entmake函数生成,还不快就换其它语言吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
pyj643921 发表于 2025-8-29 18:29
看你是用什么方法标注的,如果用command命令标注肯定慢,试试用entmake函数生成,还不快就换其它语言吧

感谢 我试试
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层

选择对象: 指定对角点: 找到 100000 个
共有 100000 个矩形标注面积用时 2031 毫秒
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
试了下源泉的批量标注100*100 1W个也要1分半左右
回复 支持 反对

使用道具 举报

 楼主| 发表于 4 天前 | 显示全部楼层
yegucheng0129 发表于 2025-8-30 14:16
试了下源泉的批量标注100*100 1W个也要1分半左右

我用2012版CAD  40秒就完事了  2020版的就慢  
回复 支持 反对

使用道具 举报

发表于 4 天前 来自手机 | 显示全部楼层
lisp慢可以理解。不要那么挑剔
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
就当给自己的福利。休息一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-9-3 07:36 , Processed in 0.177878 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表