;;;查找相交线(短路)
(defun c:xj (/ objlis)
(princ "选取直线、多段线、圆、圆弧、样条曲线:")
(vl-load-com)
(setq
ss (ssget '((0 . "LWPOLYLINE,POLYLINE,ARC,CIRCLE,SPLINE,LINE"))
)
)
(if (not ss)
(progn (princ "\n提示:未选取对象.") (exit))
)
(setvar "osmode" 0)
(setq i 0
num (sslength ss)
)
(command "LAYER" "M" "层-短路" "C" "251" "层-短路" "")
(repeat num
(setq ent (ssname ss i)
obj (vlax-ename->vla-object ent)
)
(setq objlis (cons obj objlis))
(setq i (1+ i))
)
(setq i 0)
(while (< i (- (length objlis) 1))
(setq obj1 (nth i objlis))
(setq j (+ 1 i))
(while (< j (length objlis))
(setq obj2 (nth j objlis))
(if (vlax-invoke obj1 'intersectwith obj2 0)
(progn
(vla-put-Layer obj1 "层-短路")
(vla-put-Layer obj2 "层-短路")
)
)
(setq j (1+ j))
)
(setq i (1+ i))
)
(alert
"★提示:如果存在短路的对象,会把它们置于“层-短路”图层!"
)
(alert "若需了解更多功能的程序,欢迎下载WDY工具箱。")
(command "BROWSER" "http://bbs.mjtd.com/thread-108389-1-1.html")
(princ)
)
页:
1
[2]