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燕秀的我用过,基本差不多,之前你发贴时,我也推荐你用燕秀,你要源码,现在满足你提的条件了,你又要跟燕秀一模一样,无语了!只有赖心秀来回答你的问题了!