我来看MM的 发表于 2014-6-10 11:10:36

【求助】使用边界生成命令"boundary"如何判断边界是否已经生成,避免重复?

RT:使用边界生成命令(command "boundary")如何判断边界是否已经生成,避免重复?求给个思路!当第一次生成边界后,第二次使用(command "boundary")在同一个边界内,能判断之前是否已经生成过边界并提示!

我来看MM的 发表于 2014-6-10 11:12:26

类似效果如图!求思路!

Gu_xl 发表于 2014-6-10 11:26:23

在同一个"boundary"命令里,他自己会判断是否重复!
(command "boundary" p1 p2 p3 ...)

我来看MM的 发表于 2014-6-10 12:22:34

Gu_xl 发表于 2014-6-10 11:26 static/image/common/back.gif
在同一个"boundary"命令里,他自己会判断是否重复!
(command "boundary" p1 p2 p3 ...)

可能我说得不够清楚,我的意思是,当生成一次边界后,我们再重新输入命令boundary去生成边界,然后判断以前是否生成过边界?也可以相当于判断是否有重叠图元

Gu_xl 发表于 2014-6-10 12:34:14

我来看MM的 发表于 2014-6-10 12:22
可能我说得不够清楚,我的意思是,当生成一次边界后,我们再重新输入命令boundary去生成边界,然后判断以 ...

为什么非要给自己找麻烦?

我来看MM的 发表于 2014-6-10 13:43:25

我想知道这个判断功能的实现思路是什么?

我来看MM的 发表于 2014-6-10 13:44:07

Gu_xl 发表于 2014-6-10 12:34 static/image/common/back.gif
为什么非要给自己找麻烦?

不是给自己找麻烦,麻烦G版帮忙看下楼下我附的gif

llsheng_73 发表于 2014-6-10 14:14:04

用最后BUNNDARY得到的多线段顶点坐标进行SSGET"f"可以把和它一样的多线段找出来

edata 发表于 2014-6-10 14:53:34

(defun sk_vertex(ent / x)(mapcar 'cdr (vl-remove-if-not '(lambda(x)(= 10 (car x)))(entget ent))))
(defun sk_equal_handent(ent1 ent2)(/=(cdr(assoc 5 (entget ent1)))(cdr(assoc 5 (entget ent2)))))
(defun c:tt(/ p1 en lst)
(if(setq p1(getpoint))
    (progn
      (setq en1(entlast))
      (command "-BOUNDARY" p1 "")
      (setq en(entlast))
      (if(sk_equal_handent en1 en)
        (progn
          (setq lst (sk_vertex en))
          (entdel en)
          (if (setq ss(ssget "wp" lst '((0 . "text")(8 . "text"))))
          (alert "存在此类型")
          (entmake (list '(0 . "TEXT")(cons 72 1)(cons 73 2) (cons 1 "客厅")(cons 8 "text")(cons 7 "标注100") (cons 10 p1)(cons 11 p1) (cons 40 80)))
          )
          )
        )
      )
    )
)

我来看MM的 发表于 2014-6-11 13:28:33

llsheng_73 发表于 2014-6-10 14:14 static/image/common/back.gif
用最后BUNNDARY得到的多线段顶点坐标进行SSGET"f"可以把和它一样的多线段找出来

多谢,思路很正确,解决问题了!
页: [1] 2
查看完整版本: 【求助】使用边界生成命令"boundary"如何判断边界是否已经生成,避免重复?