下面的程序完全满足你的要求
- ;;;线型 810 和810a互为反向线型
- (defun c:tt(/ en enl enlist n el)
- (setvar "celtype" "810")
- (command "pline")
- (while (= 1 (getvar "cmdactive"))
- (command pause)
- )
- (setq en (entlast))
- (setq enl (entget en))
- (setq enl (vl-remove-if '(lambda (x) (/= 42 (car x))) enl))
- (command "explode" en)
- (while (setq en (entnext en))
- (setq enlist (cons en enlist))
- )
- (setq enlist (reverse enlist)
- n 0)
- (repeat (length enl)
- (if (/= 0 (cdr (nth n enl)))
- (if (< (cdr (nth n enl)) 0)
- (progn
- (setq el (entget (nth n enlist)))
- (setq el (subst (cons 6 "810a") (assoc 6 el) el))
- (entmod el)
- )
- )
- )
- (setq n (1+ n))
- )
- (princ)
- )
|