指定起点终点连接PL线
求助:指定起点终点连接PL线用附件程序,自己再修改一下。 荒野孤行作品
;;;连点成线
(defun c:t1 (/ ptlist)
(setvar "blipmode" 0)
(setvar "pickfirst" 1)
(setvar "expert" 0)
(setvar "GRIPOBJLIMIT" 50)
(setvar "osmode" 15359)
(setvar "cmdecho" 0)
(princ "\n★功能:将邻近的点连接为一条曲线。\n")
(vl-load-com)
(princ "\n请选择要连接的点对象:\n")
(command "undo" "be")
(setq ss (ssget '((0 . "POINT"))))
(if (null ss)
(progn (princ "\n提示:未选取点对象!") (exit))
)
(initget "P S")
(if (not
(setq kw
(getkword
"曲线样式:[多段线(P)/样条曲线(S)]<S>"
)
)
)
(setq kw "S")
)
(setq i 0)
(setvar "osmode" 0)
(repeat (sslength ss)
(setq entnam (entget (ssname ss i))
pt (cdr (assoc 10 entnam))
ptlist (cons pt ptlist)
i (1+ i)
)
)
(setq ptlist (vl-sort ptlist
'(lambda (e1 e2)
(if (equal (car e1) (car e2) 1e-5)
(if (equal (cadr e1) (cadr e2) 1e-5)
(< (cadr e1) (cadr e2))
(< (car e1) (car e2))
)
)
)
)
)
(if (= kw "P")
(progn
(command "pline")
(foreach pt ptlist (command pt))
(command "")
)
(progn
(command "spline")
(foreach pt ptlist (command pt))
(command "" "" "")
)
)
(setvar "osmode" 15359)
(command "undo" "e")
(princ)
)
页:
[1]