设为首页收藏本站

晓东CAD家园-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 210|回复: 12

[求助] 全图纸中同组相同图元识别组块

[复制链接]

签到天数: 9 天

连续签到: 1 天

[LV.3]偶尔看看II

已领礼包: 1个

财富等级: 恭喜发财

发表于 2018-1-13 14:12:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
本帖最后由 newer 于 2018-1-13 16:07 编辑

图纸中存在多组相同的图元,每组相同的图元识别后组块,是否有这类的插件?

同组图元组块

同组图元组块




论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

签到天数: 1136 天

连续签到: 30 天

[LV.10]以坛为家III

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-1-13 16:13:58 | 显示全部楼层
上传个DWG来论坛。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

签到天数: 524 天

连续签到: 2 天

[LV.9]以坛为家II

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-1-13 19:12:56 | 显示全部楼层
你说的是什么意思呢?  
1、是相同的 都已经编到GROUP里面了,图中其他地方都拷贝的是这个组,
2、还是这些实体都是散的,只是你认为的他们都应该是个“组团”,然后去找图中分散的这些“组团” ?

如果是第一个,论坛有 组变图块的插件。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

签到天数: 9 天

连续签到: 1 天

[LV.3]偶尔看看II

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2018-1-13 20:40:52 | 显示全部楼层
现在上传试验图纸,真心感谢各位的帮助!

问题描述.rar

86.01 KB, 下载次数: 4, 下载积分: D豆 -1 , 活跃度 1

问题描述

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

签到天数: 217 天

连续签到: 2 天

[LV.7]常住居民III

已领礼包: 23个

财富等级: 恭喜发财

发表于 2018-1-14 00:11:29 来自手机 | 显示全部楼层
来看看问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

签到天数: 936 天

连续签到: 12 天

[LV.10]以坛为家III

点击这里给我发消息

已领礼包: 1222个

财富等级: 财源广进

发表于 2018-1-14 09:05:53 | 显示全部楼层
楼主想恢复炸开的块?已有此类插件
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

签到天数: 9 天

连续签到: 1 天

[LV.3]偶尔看看II

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2018-1-14 16:55:09 | 显示全部楼层
识别写块后的大致效果如附件:

识别写块大致效果.rar

75.15 KB, 下载次数: 2, 下载积分: D豆 -1 , 活跃度 1

识别写块效果

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

签到天数: 1136 天

连续签到: 30 天

[LV.10]以坛为家III

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-1-14 17:22:59 | 显示全部楼层
本帖最后由 newer 于 2018-1-14 17:45 编辑

试试,加载XDRX API,不同于以往的按照实体生成顺序去找,那样有可能遗漏。这个是靠位置查找的。

组团转块.gif

  1. (defun c:tt ()
  2.   (defun _getfilter (ss dxfcodelst)
  3.     (if        (= (type ss) 'PICKSET)
  4.       (setq ss (xdrx_pickset->ents ss))
  5.     )
  6.     (setq lst nil)
  7.     (foreach n ss
  8.       (setq ed (entget n))
  9.       (mapcar
  10.         '(lambda (x)
  11.            (if (and (setq item (assoc x ed)) (not (member item lst)))
  12.              (setq lst (cons item lst))
  13.            )
  14.          )
  15.         dxfcodelst
  16.       )
  17.     )
  18.     (if        lst
  19.       (append (cons '(-4 . "<or") lst) (list '(-4 . "or>")))
  20.     )
  21.   )
  22.   (defun _relative- (box pt)
  23.     (if        (/= (type pt) 'LIST)
  24.       (setq pt (car box))
  25.     )
  26.     (mapcar '(lambda (x) (mapcar '- x pt)) box)
  27.   )
  28.   (defun _relative+ (box base)
  29.     (mapcar '(lambda (x) (mapcar '+ x base)) box)
  30.   )
  31.   (defun _getents (ss / lst)
  32.     (setq lst nil)
  33.     (foreach n (xdrx_pickset->ents ss)
  34.       (setq temp (xdrx_entity_box n)
  35.             temp (_relative- temp t)
  36.       )
  37.       (if (vl-some '(lambda (y) (equal y temp 1e-3)) boxs)
  38.         (setq lst (cons n lst))
  39.       )
  40.     )
  41.     lst
  42.   )
  43.   (defun _process (e)
  44.     (setq box1 (xdrx_entity_box e)
  45.           box2 (_relative- box1 t)
  46.           box3 (xdrx_points_offset
  47.                  pickbox
  48.                  (xd::pnts:close (_relative+ box (car box1)))
  49.                )
  50.     )
  51.     (if        (and (setq ss2 (ssget "wp" box3 filter))
  52.              (>= (sslength ss2) numsent)
  53.              (setq ss2 (_getents ss2))
  54.              (setq box2 (xdrx_entity_box ss2))
  55.              (equal (_relative- box2 t) box_ss 1e-3)
  56.         )
  57.       (progn(setq blks        (cons (xdrx_insert_make
  58.                                 blkname
  59.                                 (trans (xd::geom:get9pt box2 5) 1 0)
  60.                               )
  61.                               blks
  62.                         )
  63.              )
  64.              (xdrx_entity_delete ss2)        ;  (xdrx_prompt "\nfound..")
  65.       )
  66.     )
  67.   )
  68.   (if (and (xdrx_initssget "选择一个组团<退出>:")
  69.            (setq ss (xdrx_ssget))
  70.       )
  71.     (progn
  72.       (xdrx_begin)
  73.       (setq numsEnt (sslength ss)
  74.             boxs    (mapcar '(lambda (x) (_relative- (xdrx_entity_box x) t))
  75.                             (xdrx_pickset->ents ss)
  76.                     )
  77.             e            (ssname ss 0)
  78.             filter  (_getfilter ss '(0))
  79.             filter1 (list (assoc 0 (entget e)))
  80.             box            (xdrx_entity_box ss)
  81.             pickbox (/ (min (distance (car box) (cadr box))
  82.                             (distance (car box) (last box))
  83.                        )
  84.                        20.0
  85.                     )
  86.             pickbox (/ (xd::doc:getpickboxheight) 2.0)
  87.             box1    (xdrx_entity_box e)
  88.             box_ss  (_relative- box t)
  89.             box            (_relative- box (car box1))
  90.             blkname (strcat "xd_blockgroup_" (xdrx_string_rand 6))
  91.             cen            (xd::geom:get9pt ss 5)
  92.             blks    nil
  93.       )
  94.       (xdrx_block_make blkname ss (trans cen 1 0) t)
  95.       (setq blks (cons (entlast) blks))
  96.       (if (setq ss1 (ssget "x" filter1))
  97.         (progn (setq ss1 (xdrx_pickset_subtract ss1 ss))
  98.                (xd::doc:safezoom ss1)
  99.                (xdrx_setsstodb ss1 0)
  100.                (while (setq e1 (xdrx_getentdata 0)) (_process e1))
  101.                (foreach        n blks
  102.                  (setq box (xdrx_entity_box n))
  103.                  (setq box2 (xd::pnts:close (xd::pnts:ucs2wcs box)))
  104.                  (xdrx_grdraw 2 1 box2)
  105.                )
  106.                (xdrx_prompt "\n" (length blks) " 个组团生成了同一个块.")
  107.         )
  108.       )
  109.       (xdrx_end)
  110.       (xd::pickset:gripdisplay blks)
  111.     )
  112.   )
  113.   (princ)
  114. )

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

签到天数: 9 天

连续签到: 1 天

[LV.3]偶尔看看II

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2018-1-14 17:54:36 | 显示全部楼层

谢谢,这个给我很大启发,非常有用.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

签到天数: 47 天

连续签到: 2 天

[LV.5]常住居民I

已领礼包: 1个

财富等级: 恭喜发财

发表于 2018-3-9 20:44:18 | 显示全部楼层
大神就是大神。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

签到天数: 1984 天

连续签到: 82 天

[LV.Master]伴坛终老I

已领礼包: 5893个

财富等级: 富甲天下

发表于 2018-3-11 03:10:22 | 显示全部楼层
学习一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

签到天数: 7 天

连续签到: 1 天

[LV.3]偶尔看看II

已领礼包: 5个

财富等级: 恭喜发财

发表于 2018-7-15 13:55:55 | 显示全部楼层
有用的东西还多哦
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

签到天数: 1872 天

连续签到: 135 天

[LV.Master]伴坛终老I

已领礼包: 5500个

财富等级: 富甲天下

发表于 2018-7-16 01:03:31 | 显示全部楼层
功能不错!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

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

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )  

GMT+8, 2018-10-16 10:38 , Processed in 0.112416 second(s), 58 queries , Gzip On, WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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