xskfq 发表于 2013-11-26 23:25:05

改了,不行

xskfq 发表于 2013-11-26 23:30:05

本帖最后由 xskfq 于 2013-11-26 23:31 编辑

命令: tt
选择对象: 指定对角点: 找到 7 个
选择对象:
10
10
10
10
10
10
10
10
10
10

flyfox1047 发表于 2013-11-26 23:44:26

cable2004 发表于 2013-11-26 23:19 static/image/common/back.gif
改成试试(= (sslength(ssget "C" p1 p1)) 1)

不行的,Z版应该不会犯这种错误吧

xyp1964 发表于 2013-11-26 23:48:43


xskfq 发表于 2013-11-26 23:52:00

本帖最后由 xskfq 于 2013-11-27 00:54 编辑

xyp1964 发表于 2013-11-26 23:48 static/image/common/back.gif

就是这种效果

xskfq 发表于 2013-11-27 12:48:28

ZZXXQQ 发表于 2013-11-26 22:42 static/image/common/back.gif


1.没解决排除圆的情况。
2.没解决,标记圆被选中情况

ljpnb 发表于 2013-11-27 16:36:29


(defun c:tt ()
(if (setq ss (ssget '((0 . "LINE"))))
    (progn
      (setq i -1)
      (repeat (sslength ss)
        (setq K1 T
              K2 T
        )
        (setq ent (entget (ssname ss (setq i (1+ i))))
              p1(cdr (assoc 10 ent))
              p2(cdr (assoc 11 ent))
        )
        (if (setq ss1 (ssget "F" (list p1 p2) '((0 . "CIRCLE"))))
          (progn
          (setq ent1 (entget (ssname ss1 0)))
          (setq p3 (cdr (assoc 10 ent1)))
          (setq l1 (distance p1 p3)
                  l2 (distance p2 p3)
          )
          (if        (< l1 l2)
              (setq K1 nil)
              (setq K2 nil)

          )
          )
        )
        (if (and (= (sslength (ssget "C" p1 p1)) 1) k1)
          (command "CIRCLE" p1 10)
        )
        (if (and (= (sslength (ssget "C" p2 p2)) 1) k2)
          (command "CIRCLE" p2 10)
        )
      )
    )
)
(princ)
)

llsheng_73 发表于 2013-11-27 20:52:02

(defun c:tt(/ ss i ob p a)
(if(setq ss(ssget '((0 . "*LINE"))))
    (progn (setq i -1 p nil)
      (repeat (sslength ss)
        (setq p(append p(list(vlax-ename->vla-object(ssname ss(setq i(1+ i))))))))
      (foreach o p
        (setq a(list(vlax-curve-getStartPoint o)(vlax-curve-getendPoint o)))
        (foreach b a
          (if(and(null(vl-remove'nil(mapcar'(lambda(e)(if(vlax-curve-getdistatpoint e b)b))(vl-remove o p))))
               (null(ssget"F"(list b'(-1e30 -1e30))'((0 . "circle")))))(command "CIRCLE" b 10))))
        ))
(princ))

xskfq 发表于 2013-11-27 21:16:08

cable2004 发表于 2013-11-26 21:52 static/image/common/back.gif
(defun c:tt ( / a c1 ent ent1 i p1 p2 r1 ss sslast x1)
(setq sslast (ssadd))
(if (setq ss...

没成功,加油,继续努力!

xskfq 发表于 2013-11-27 21:16:45

ljpnb 发表于 2013-11-27 16:36 static/image/common/back.gif


没成功,加油,继续努力!
页: 1 [2] 3 4
查看完整版本: 如何检查直线是否断开(寻找开口)