明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: xskfq

[已解答] 如何检查直线是否断开(寻找开口)

[复制链接]
发表于 2013-12-5 21:15 | 显示全部楼层
本帖最后由 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)
)



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

 楼主| 发表于 2013-12-6 00:00 | 显示全部楼层
flyfox1047 发表于 2013-12-5 21:15
(defun c:checkdx()
(if (setq ssa (ssget '((0 . "LINE")))) (progn
  (setq ptb nil i -1)

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

使用道具 举报

发表于 2013-12-6 00:05 | 显示全部楼层
本帖最后由 flyfox1047 于 2013-12-6 00:26 编辑
xskfq 发表于 2013-12-6 00:00
你用燕秀试试,结果和你不一样。。


检查线段是否断开-------------------yx_chl  燕秀的我用过,基本差不多,之前你发贴时,我也推荐你用燕秀,你要源码,现在满足你提的条件了,你又要跟燕秀一模一样,无语了!只有赖心秀来回答你的问题了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-17 20:24 , Processed in 0.126657 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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