分批次或者数量分解块
一张图纸有上万个块,如果一次性全选分解完成的话可能需要好几个小时有没有办法,设置成每次先分解500个块,分20次分解完,这样可能就几分钟就完成了
(最好能够自定义)
yimiyangguang55 发表于 2024-6-24 14:32
高人,能不能解答我的问题,将一批形状相同的图形,统一用某个块替代,我可以选择这个块。谢谢
http://bbs.mjtd.com/thread-189745-1-1.html
很多问题阿惊已经帮你们想完了,只是你们不看 本帖最后由 gzcsun 于 2024-6-24 16:28 编辑
命令: GG1
.explode
选择对象:
命令:
处理完毕!耗时:3547 ms
命令: GG2
找到 40000 个
处理完毕!耗时:656 ms
处理完毕!耗时:3656 ms
GG2分了4份,耗时:656 ms
4份炸,耗时:3656 ms
总4312ms
实际分多少份explode,耗时差不多,多耗时是分多少份的时候
(defun c:gg2(/ etime ss stime)
(setq ss(ssget '((0 . "insert"))))
(setvar "CMDECHO" 0)
(setq stime(getvar "MILLISECS"))
(setq box (box5 ss))
(setq pt1 (car box)
pt2 (cadr box)
pt3 (caddr box)
pt4 (cadddr box)
pt5 (last box))(setvar "QAFLAGS" 1)
(setq etime(getvar "MILLISECS"))
(princ(strcat "\n处理完毕!耗时:"(rtos(- etime stime)2 0)" ms"))
(vl-cmdf ".explode" (ssget "w" pt5 pt1 '((0 . "insert"))) "")
(vl-cmdf ".explode" (ssget "w" pt2 pt5 '((0 . "insert"))) "")
(vl-cmdf ".explode" (ssget "w" pt5 pt4 '((0 . "insert"))) "")
(vl-cmdf ".explode" (ssget "w" pt3 pt5 '((0 . "insert"))) "")
(setvar "QAFLAGS" 0)
(setq etime1(getvar "MILLISECS"))
(setvar "CMDECHO" 1)
(princ(strcat "\n处理完毕!耗时:"(rtos(- etime1 etime)2 0)" ms"))
(princ))
你有种再说一遍 发表于 2024-6-24 17:20
http://bbs.mjtd.com/thread-189745-1-1.html
很多问题阿惊已经帮你们想完了,只是你们不看
acad高版本有选择相似命令SelectsLmilar,那么怎么在低版本制造一个相似选择...并组块全图替换.
按图元类型名称索引:
1,初始化,通过并行化乱序读入cad句柄,然后类型名作为key存入ConcurentDictionary.
2,通过Database图元添加事件/删除事件/撤回事件,在主线程来维护索引.
3,索引value需要排序树(不按照包围盒排序,因为四叉树单独做)
这时就体现出高手大牛与小白菜的差距就现实出来了,原谅我只能看懂文字,不懂怎么操作 本帖最后由 你有种再说一遍 于 2024-6-23 16:08 编辑
好蛋疼,不是3秒内我都觉得这个命令坏掉了 先建立选择集s1,把s1里面的对象,拿出500个,建立s2选择集,并炸开。
依次循环处理。 aws 发表于 2024-6-23 18:38
先建立选择集s1,把s1里面的对象,拿出500个,建立s2选择集,并炸开。
依次循环处理。
炸开慢应该send command的问题 好用的块,就不知道为什么有部分人就非要炸开?
谁说的分批分解就块了? 万个块分解完成几个小时
分20次分解
几分钟就完成了
真的想问:你的数字是体育老师教的吗? 你有种再说一遍 发表于 2024-6-23 20:00
炸开慢应该send command的问题
send是什么方法,也能实现炸开的效果吗? 整体一勺一勺吃,和先分N批,再一勺一勺吃。大包装变N个小包装就能更省成本,价格更低也是醉了。 我想反过来,有没有一个命令,将形状相似的线断组成图形,直接用已经建好的块代替。求助,这样的相同图形有几百个头都大了
页:
[1]
2