找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2636|回复: 5

[求助] 自动合并相同标注,并修改标注文字

[复制链接]

已领礼包: 312个

财富等级: 日进斗金

发表于 2016-12-7 21:02:41 | 显示全部楼层 |阅读模式

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

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

×
用cad的快速标注时,会有多个标注。当间距一样时,绘图时要求合并。比如连续6个间距是100的,需要合并成一个标注,并修改为6x100。 能不能编程实现自动将相邻的相同标注合并并修改?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 19个

财富等级: 恭喜发财

发表于 2016-12-7 22:12:22 | 显示全部楼层
http://bbs.xdcad.net/thread-704309-1-1.html


                               
登录/注册后可看大图

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

使用道具 举报

已领礼包: 312个

财富等级: 日进斗金

 楼主| 发表于 2016-12-7 22:32:17 | 显示全部楼层
看演示动画,似乎是标注合并,不是标注值相同的标注自动合并。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-12-7 22:34:47 | 显示全部楼层

有很大的区别吗? 工具要是太细了就不好用了,你合并下,然后改下值不就OK了。如果要改,编程思路是一样的,就是最后加个6X100这样的值代码就行了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-12-7 23:46:32 | 显示全部楼层
简单写了个,可以批量全图处理相同连续的标注合并到一起。这东西不批量就不值得写了。
想要纯LISP改写朋友,参考下算法思路和里面的函数,用LISP模拟下里面的代码。核心是尺寸分组函数,开源函数库有代码

XD::DIM:GROUP http://bbs.xdcad.net/thread-704531-1-1.html

同尺寸合并.gif


(defun c:tt ()
  (defun _process (el)
    (while (cdr el)
      (setq e1 (car el)
            e2 (cadr el)
      )
      (if (not first)
        (setq first e1)
      )
      (setq Measurement1 (xdrx_getpropertyvalue e1 "Measurement")
            Measurement2 (xdrx_getpropertyvalue e2 "Measurement")
      )
      (if (equal Measurement1 Measurement2 1e-3)
        (progn
          (setq second (cons e2 second))
        )
        (progn
          (if second
            (progn
              (setq d1 (append
                         (mapcar
                           'car
                           (XD::Dim:xLine first)
                         )
                         (mapcar
                           'car
                           (XD::Dim:xLine (car second))
                         )
                       )
                    base (XD::Dim:BasePoints first)
                    d2 (xdrx_points_sortoncurve base d1)
                    d3 (mapcar
                         'cadr
                         d2
                       )
              )
              (xdrx_dimension_MakeRotate (car d3) (last d3) (car base)
                                         (apply
                                           'angle
                                           base
                                         )
              )
              (setq dtxt (xdrx_prompt (1+ (length second)) "X"
                                      (rtos Measurement1 2 1) "="
                                      (rtos (xdrx_getpropertyvalue
                                                                   (entlast) "Measurement"
                                            ) 2 1
                                      ) t
                         )
              )
              (xdrx_setpropertyvalue (entlast) "dimtext" dtxt)
              (xdrx_entity_setPropertiesFrom (entlast) first)
              (xdrx_object_swapid (entlast) first)
              (xdrx_entity_delete (cons (entlast) second))
            )
          )
          (setq second nil
                first nil
          )
        )
      )
      (setq el (cdr el))
    )
  )
  (xdrx_initssget "\n选取要合并的同长度尺寸<退出>:")
  (if (setq ss (xdrx_ssget '((0 . "dim*") (-4 . "&=")
                            (70 . 0)
                           )
               )
      )
    (progn
      (setq ents (xd::dim:group ss 0))
      (mapcar
        '(lambda (x)
           (_process x)
         )
        ents
      )
    )
  )
  (princ)
)


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

使用道具 举报

已领礼包: 312个

财富等级: 日进斗金

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 14:22 , Processed in 0.373641 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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