kozmosovia 发表于 2024-6-24 13:45:09

yimiyangguang55 发表于 2024-6-24 13:39
我想反过来,有没有一个命令,将形状相似的线断组成图形,直接用已经建好的块代替。求助,这样的相同图形有 ...

CAD2025有Blockify命令

yimiyangguang55 发表于 2024-6-24 13:46:23

我的cad是2020的, 有好的解决办法吗,一个一个删除,然后再插入,简直头炸了

aws 发表于 2024-6-24 14:23:04

实测:1万个块,炸开是:2秒。分组500再炸开是:3秒。
实测:4万个块,炸开是:8032 ms,分组500再炸开是:16875 ms
分组并不能提高炸开速度。

yimiyangguang55 发表于 2024-6-24 14:32:35

aws 发表于 2024-6-24 14:23
实测:1万个块,炸开是:2秒。分组500再炸开是:3秒。
实测:4万个块,炸开是:8032 ms,分组500再炸开是 ...

高人,能不能解答我的问题,将一批形状相同的图形,统一用某个块替代,我可以选择这个块。谢谢

aws 发表于 2024-6-24 15:15:36

yimiyangguang55 发表于 2024-6-24 14:32
高人,能不能解答我的问题,将一批形状相同的图形,统一用某个块替代,我可以选择这个块。谢谢

如果是我,我会这样处理:
1、分堆取出它们的中心点,建立点集,并删除原图
2、将做好的块,复制并移动到点集里面的每个点。

gzcsun 发表于 2024-6-24 16:22:04

本帖最后由 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:39

yimiyangguang55 发表于 2024-6-24 14:32
高人,能不能解答我的问题,将一批形状相同的图形,统一用某个块替代,我可以选择这个块。谢谢

http://bbs.mjtd.com/thread-189745-1-1.html
很多问题阿惊已经帮你们想完了,只是你们不看

jh3030912 发表于 2024-6-24 20:32:16

gzcsun 发表于 2024-6-24 16:22
命令: GG1
.explode
选择对象:


使用这个 提示 no function definition: BOX5需要怎么修改呢?

yimiyangguang55 发表于 2024-6-24 23:26:32

你有种再说一遍 发表于 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-24 23:48:23

yimiyangguang55 发表于 2024-6-24 23:26
acad高版本有选择相似命令SelectsLmilar,那么怎么在低版本制造一个相似选择...并组块全图替换.
按图元类 ...

学c#就知道了,如果不想烦恼,那就不要学了,反正学了也难受不是...
页: 1 [2]
查看完整版本: 分批次或者数量分解块