明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: aws

[提问] 如何把选择集分批处理呢?

[复制链接]
 楼主| 发表于 2024-4-15 09:35 | 显示全部楼层
kozmosovia 发表于 2024-4-15 09:13
画什么图需要用到天天合并8W的线条?就为了偶尔省一下30s,意义不大。

这个是真实的工作案例,2700条线,测试两次,一次8秒,一次17秒。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2024-4-15 09:36 | 显示全部楼层
kozmosovia 发表于 2024-4-15 09:13
画什么图需要用到天天合并8W的线条?就为了偶尔省一下30s,意义不大。

倒也不是为了省30秒,而是为了防止卡死崩溃。
发表于 2024-4-17 20:39 | 显示全部楼层
aws 发表于 2024-4-15 09:36
倒也不是为了省30秒,而是为了防止卡死崩溃。

卡死就卡死吧,ssget还容易漏,还是不要考虑什么分区了吧...
如果要分区用ssget你又会陷入:怎么漏了?
说白了就是语言缺陷,还有esc中断选择问题,弃疗
发表于 2024-4-17 21:13 | 显示全部楼层
aws 发表于 2024-4-15 09:35
这个是真实的工作案例,2700条线,测试两次,一次8秒,一次17秒。

建议采用lee-mac的合并多段线吧,测了2700的图,速度很快只要1秒不到。
 楼主| 发表于 2024-4-18 09:45 | 显示全部楼层
cchessbd 发表于 2024-4-17 21:13
建议采用lee-mac的合并多段线吧,测了2700的图,速度很快只要1秒不到。

这么厉害啊,给个链接?或者搜索关键词?
 楼主| 发表于 2024-4-18 10:31 | 显示全部楼层
cchessbd 发表于 2024-4-17 21:13
建议采用lee-mac的合并多段线吧,测了2700的图,速度很快只要1秒不到。

找到了,很牛,2700那个,只需要0.14秒。我梳理一下
 楼主| 发表于 2024-4-18 10:47 | 显示全部楼层
cchessbd 发表于 2024-4-17 21:13
建议采用lee-mac的合并多段线吧,测了2700的图,速度很快只要1秒不到。

原来如此,找到原因了,他那个把模糊距离给省略了,所以才那么快的。
(command "_.pedit" "_m" sel "" "_j" "" "")
(command "_.pedit" "_m" sel "" "_j" "0.05" "")
这两个差距非常巨大
 楼主| 发表于 2024-4-18 11:01 | 显示全部楼层
本帖最后由 aws 于 2024-4-18 11:29 编辑

最终的处理方式:

  • (defun c:jj(/ etime ss stime)
  •   (setq ss(ssget '((0 . "*line,arc"))))
  •   (if(>(sslength ss)20000)
  •     (progn(alert(strcat "注意:\n选取了"(rtos(sslength ss))"个对象\n已超过设置范围,自动退出!"))(quit))
  •   )
  •   (setvar "CMDECHO" 0)
  •   (setvar "PEDITACCEPT" 1)
  •   (setq stime(getvar "MILLISECS"))
  •   (vl-cmdf "_.pedit" "m" ss "" "j" "" "")
  •   (setq etime(getvar "MILLISECS"))
  •   (sssetfirst nil(ssget "p" '((0 . "*line,arc"))))
  •   (setvar "CMDECHO" 1)
  •   (princ(strcat "\n处理完毕!耗时:"(rtos(- etime stime))" ms"))
  •   (princ)
  • )



pedit这个命令如果输入模糊距离,对运行速度影响很大,
然后就是人工设置阈值上限,数量特别多的时候,就多合并几次吧
虽然我拿8万条线做测试,但也仅仅是测试,现实场景恐怕也控制在2万条以内。
没了模糊距离,2万条合并,耗时:3281 ms,基本上也不可能会崩溃卡死了。


回复 支持 1 反对 0

使用道具 举报

发表于 2024-4-18 12:23 | 显示全部楼层
本帖最后由 cchessbd 于 2024-4-18 12:25 编辑
aws 发表于 2024-4-18 10:47
原来如此,找到原因了,他那个把模糊距离给省略了,所以才那么快的。
(command "_.pedit" "_m" sel "" " ...

你很厉害,原因都让你找出了!确实还有一种支持模糊距离的连接,但是我没时间测试了。平时也不觉得卡。
发表于 2024-4-27 13:30 | 显示全部楼层
厉害了,车库配筋计算时,经常有几十万个数值,每次过滤配筋值时卡的都怀疑人生了,和这个比较类似哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-16 23:26 , Processed in 0.145166 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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