本帖最后由 ljpnb 于 2011-7-26 05:33 编辑

- (defun c:test ()
- (setq en0 (entlast))
- (if (setq p0 (getpoint "\n请输入点:"))
- (progn
- (command "leader"
- p0
- (polar p0 (/ pi 4) 0.1)
- ""
- "asdfasdf"
- ""
- )
- (setq en2 (entlast))
- (if en0
- (setq en1 (entnext en0))
- (progn
- (setq ss (ssget "x"))
- (setq ss (ssdel en2 ss))
- (setq en1 (ssname ss 0))
- )
- )
- (setq ent1 (entget en1)
- ent2 (entget en2)
- )
- (setq lst (vl-remove-if '(lambda (x) (/= 10 (car x))) ent1))
- (setq p1 (cdr (nth 1 lst))
- p2 (cdr (nth 2 lst))
- )
- (setq cen (cdr (assoc 10 ent2)))
- (setq ang (angle p1 cen)
- dis1 (distance p1 p2)
- dis2 (distance p1 cen)
- )
- (setq k 1)
- (while (/= k 3)
- (setq p (grread T))
- (setq k (car p)
- p11 (cadr p)
- )
- (setq p22 (polar p11 0 dis1)
- cen1 (polar p11 ang dis2)
- )
- (setq ent1 (subst (cons 10 p22) (nth 20 ent1) ent1))
- (entmod ent1)
- (setq ent2 (subst (cons 10 cen1) (assoc 10 ent2) ent2))
- (entmod ent2)
- )
- )
- )
- (princ)
- )
|