这样可以连续选择了
 - (defun c:tt5 (/ ang ang1 d ddd en p1 p2 p3 p4 p5 p6 pt_per px)
- (defun Dptlst (enn / ent lst)
- (setq ent (entget enn))
- (setq lst (list))
- (foreach x ent (IF (= (car x) 10) (setq lst (cons (cdr x) lst))))
- lst
- )
- (if (not DD)
- (setq DD 12)) (setq DD (if (setq D (getdist (strcat "\n输入延迟长<" (rtos DD 2 2) ">:"))) D DD))
- (if (not DDdd)
- (setq DDdd 10)) (setq DDdd (if (setq Ddd (getdist (strcat "\n输入垂直长<" (rtos DDdd 2 2) ">:"))) Ddd Dddd))
- (WHILE (setq en (car (entsel "\n选择线:")) p3 (getpoint "\n垂直线方向:"))
- (IF (equal (cdr (assoc 0 (entget en))) "LWPOLYLINE")(setq p1 (car (Dptlst en)) p2 (cadr (Dptlst en))) (setq p1 (cdr (assoc 10 (entget en))) p2 (cdr (assoc 11 (entget en)))))
- (setq ang (angle p1 p2) p4 (polar p3 (+ ang (* 0.5 pi)) 1) pt_per (inters p1 p2 p3 p4 nil) ang1 (angle pt_per p3))
- (setq p3 (polar p1 (+ pi ang) dd) p4 (polar p2 ang dd) p5 (polar p3 ang1 dddd) p6 (polar p4 ang1 dddd))
- (command "pline" "non" p5 "non" p3 "non" p4 "non" p6 "")
- (entdel en)
- (princ)
- )
- )
|