本帖最后由 dabingrain 于 2016-6-1 12:35 编辑
 - ;线变箭头 明经 ZZXXQQ 2014.8.6
- (defun c:tt ()
- (setvar "CMDECHO" 0)
- (if (setq ss (ssget ":S" '((0 . "LINE,LWPOLYLINE"))))
- (progn
- (repeat (setq i (sslength ss))
- (setq i (1- i))
- (setq en (ssname ss i))
- (redraw en 3)
- (setq ent (entget en))
- (if (= (cdr(assoc 0 ent)) "LINE")
- (progn
- (setq
- p1 (cdr(assoc 10 ent))
- p2 (cdr(assoc 11 ent))
- )
- (if (setq fx (getpoint "\n端点: "))
- (if (< (distance fx p1) (distance fx p2))
- (command "_.LEADER" p1 p2 "" "" "N")
- (command "_.LEADER" p2 p1 "" "" "N")
- )
- )
- )
- (progn
- (setq plst (list))
- (foreach x ent
- (if (= (car x) 10)
- (setq plst (cons (cdr x) plst))
- )
- )
- (if (setq fx (getpoint "\n端点: "))
- (if (< (distance fx (last plst)) (distance fx (car plst)))
- (setq plst (reverse plst))
- )
- )
- (setq p1 (car plst))
- (command "_.LEADER" P1)
- (mapcar '(lambda (a) (command a)) (cdr plst))
- (command "" "" "N")
- )
-
- )
- (redraw en 4)
- )
- (command "_.ERASE" ss "")
- )
-
- )
- (setvar "CMDECHO" 1)
- (princ)
- )
|