flyfox1047 发表于 2013-12-5 21:15:59

本帖最后由 flyfox1047 于 2013-12-5 21:19 编辑

(defun c:checkdx()
(if (setq ssa (ssget '((0 . "LINE")))) (progn
(setq ptb nil i -1)
(repeat (sslength ssa)
   (setq dxf (entget (ssname ssa (setq i (1+ i))))
         ptb (cons (cdr (assoc 11 dxf)) (cons (cdr (assoc 10 dxf)) ptb)))
)
(setq jgb nil fhz nil)
(while (setq pt (car ptb) ptb (cdr ptb))
   (if (member pt ptb)
    (setq ptb (vl-remove pt ptb)
          fhz (cons pt fhz))
    (setq jgb (cons pt jgb))
   )
)
(setq oldcol (getvar "CECOLOR"))
(command "COLOR" 1)
(mapcar '(lambda(x) (command "_circle" x 50)) jgb)
(command "COLOR" oldcol)
(setq tymlb nil)
(foreach pt fhz
   (setq ssa (ssget "c" pt pt '((0 . "LINE")))
         i   -1)
   (repeat (sslength ssa)
    (if (not (member (setq ent (ssname ssa (setq i (1+ i)))) tymlb))
   (setq tymlb (cons ent tymlb))
    )
   )
)
))
(princ)
)



xskfq 发表于 2013-12-6 00:00:21

flyfox1047 发表于 2013-12-5 21:15 static/image/common/back.gif
(defun c:checkdx()
(if (setq ssa (ssget '((0 . "LINE")))) (progn
(setq ptb nil i -1)


你用燕秀试试,结果和你不一样。。

flyfox1047 发表于 2013-12-6 00:05:58

本帖最后由 flyfox1047 于 2013-12-6 00:26 编辑

xskfq 发表于 2013-12-6 00:00 static/image/common/back.gif
你用燕秀试试,结果和你不一样。。

检查线段是否断开-------------------yx_chl燕秀的我用过,基本差不多,之前你发贴时,我也推荐你用燕秀,你要源码,现在满足你提的条件了,你又要跟燕秀一模一样,无语了!只有赖心秀来回答你的问题了!
页: 1 2 3 [4]
查看完整版本: 如何检查直线是否断开(寻找开口)