清风明月名字 发表于 2013-12-17 19:23:04

flyfox1047 发表于 2013-12-17 19:13 static/image/common/back.gif


我的看不到效果,我是CAD2005,可能与此有关

flyfox1047 发表于 2013-12-17 19:13:43

清风明月名字 发表于 2013-12-17 18:54 static/image/common/back.gif
试了你的代码,看不出产生了什么效果


清风明月名字 发表于 2013-12-17 18:54:50

太谢谢1楼楼主了,我正需要这个呢。

清风明月名字 发表于 2013-12-17 18:54:12

flyfox1047 发表于 2013-12-17 14:11 static/image/common/back.gif


试了你的代码,看不出产生了什么效果

flyfox1047 发表于 2013-12-17 14:11:59

bzhjl 发表于 2013-12-17 14:03 static/image/common/back.gif
给力!有些确实不能直接闭合,要拉到某个端点来闭合。用这个圈起来就可以人工操作了

(defun c:tt()
(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)
)

bzhjl 发表于 2013-12-17 14:03:36

给力!有些确实不能直接闭合,要拉到某个端点来闭合。用这个圈起来就可以人工操作了

twsyzx 发表于 2013-11-15 22:25:56

非常给力啊!!楼主,解决了经常遇到的大麻烦!

freeok 发表于 2013-10-31 23:15:47

这个很好,赞一个!

llsheng_73 发表于 2013-10-31 00:36:45

本帖最后由 llsheng_73 于 2013-10-31 00:42 编辑

       大概懂了楼主的意思,有些线是可以直接闭合,有的需要延长某条边,而有的,一般还有些什么,都考虑一下。。。。总之不能直接由电脑判断怎么处理,这样标出来倒确实便于人机交互处理,有一定实用性。
       最好再弄几种处理方式的函数在一起,用园标出来后,一个个局部放大,让人来决定怎么处理,想怎么处理就按个选项,调用相应函数进行处理,跳到下一个圆。。。这样一来就更受欢迎了也就是说一个简单程序就因此而不再简单,因为至少得有几种比较行合理处理的方式,处理起来更方便

spp_wall 发表于 2013-10-30 21:00:22

断点bucuo !!!!!!!!!!1
页: 15 16 17 18 19 20 21 22 23 24 [25]
查看完整版本: 查找悬挂线及其断开位置