明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 16908|回复: 96

[源码] 组码比较=>((相同)(不同))

  [复制链接]
发表于 2014-3-12 13:43:49 | 显示全部楼层 |阅读模式
本帖最后由 自贡黄明儒 于 2014-3-13 10:45 编辑

  1. ;;组码比较=>((相同)(不同))
  2. ;;比较同一对象:1 先执行w1,  2 改变对象  3 再执行w1
  3. (defun C:W1 (/ ANSWER BT E1 E2 EN2 FLAG XT)
  4.   (initget "Yes No")
  5.   (cond        ((setq answer (GETKWORD "[不相同(N)/相同(Y)]<不相同N>")) nil)
  6.         (T
  7.          (setq *en1* nil)
  8.          (setq answer "No")
  9.         )
  10.   )
  11.   (setq Flag (and (not *en1*) (equal answer "Yes")))
  12.   (cond        ((or Flag (equal answer "No"))
  13.          (setq e1 (car (entsel)))
  14.          (setq *en1* (entget e1))
  15.         )
  16.   )
  17.   (if Flag
  18.     nil
  19.     (cond (*en1*
  20.            (setq e2 (car (entsel)))
  21.            (setq en2 (entget e2))
  22.           )
  23.     )
  24.   )
  25.   (cond
  26.     (Flag (princ "\n 再次执行此命令,选择相同对象"))
  27.     (T
  28.      (cond
  29.        ((and *en1* en2)
  30.         (foreach x *en1*
  31.           (if (member x en2)
  32.             (setq xt (cons x xt))
  33.             (setq bt (cons x bt))
  34.           )
  35.         )
  36.         (princ (list (reverse xt) (reverse bt)))
  37.        )
  38.      )
  39.      (setq *en1* nil)
  40.     )
  41.   )
  42.   (princ)
  43. )


;;组码比较=>((相同)(不同))
;;比较同一个对象:1 先执行w1  2 改变对象  3 再执行w1
(defun C:W1 (/ ANSWER BT E1 E2 EN2 FLAG XT)
  (initget "Yes No")
  (cond        ((setq answer (GETKWORD "[不相同(N)/相同(Y)]<不相同N>")) nil)
        (T
         (setq *en1* nil)
         (setq answer "No")
        )
  )
  (setq Flag (and (not *en1*) (equal answer "Yes")))
  (cond        ((or Flag (equal answer "No"))
         (setq e1 (car (entsel)))
         (setq *en1* (entget e1))
        )
  )
  (if Flag
    nil
    (cond (*en1*
           (setq e2 (car (entsel)))
           (setq en2 (entget e2))
          )
    )
  )
  (cond
    (Flag (princ "\n 再次执行此命令,选择相同对象"))
    (T
     (cond
       ((and *en1* en2)
        (foreach x *en1*
          (cond((member x en2) (setq xt (cons x xt))))
        )
        (foreach x en2
          (cond        ((member x *en1*) nil)
                (T (setq bt (cons x bt)))
          )
        )
        (princ (list (reverse xt) (reverse bt)))
       )
     )
     (setq *en1* nil)
    )
  )
  (princ)
)
"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2018-9-26 22:55:39 | 显示全部楼层
选择相似图形,可以完成批量修改
发表于 2018-9-26 22:57:06 | 显示全部楼层
相是修改图块功能一样
发表于 2018-9-27 09:25:35 | 显示全部楼层
受教了,谢谢
发表于 2014-3-12 13:57:18 | 显示全部楼层
路过捧场
发表于 2014-3-12 14:19:08 | 显示全部楼层
搬个板凳来支持...
发表于 2014-3-12 14:53:49 | 显示全部楼层
大力支持,振兴论坛
发表于 2014-3-12 15:37:54 | 显示全部楼层
凑热闹         
发表于 2014-3-12 17:11:16 | 显示全部楼层
搬个板凳来支持...
发表于 2014-3-12 17:43:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2014-3-12 23:12:40 | 显示全部楼层
路过捧场
发表于 2014-3-13 08:58:17 | 显示全部楼层
支持黄大侠,回复看贴
发表于 2014-3-13 09:07:06 | 显示全部楼层

搬个板凳来支持...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-26 23:01 , Processed in 0.231671 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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