代码改变世界

AutoLISP文字外加圆形框

2011-03-29 10:25  精诚所至 金石为开  阅读(1180)  评论(0编辑  收藏  举报

AutoLISP文字外加圆形框,代码如下。

(defun c:test()
  (setvar "cmdecho" 0)
  (setq dd (getdist "\n输入文字与圆周距离:"))
  (if (null dd) (setq dd 2))
  (setq ss (ssget))
  (setq i 0)
  (repeat (sslength ss)
    (setq ssn (ssname ss i))
    (setq ssdata (entget ssn))
    (setq sstye (cdr (assoc 0 ssdata)))
    (if (= sstyp "TEXT")
      (progn
    (command "ucs" "e" ssn)
    (setq box (textbox ssdata))
    (setq p1 (car box))
    (setq p3 (cadr box))
    (setq p2 (list (car p3) (cadr p1)))
    (setq p4 (list (car p1) (cadr p3)))
    (setq dda (+ (/ (distance p1 p2) 2) dd))
    (setq cen (inters p1 p3 p2 p4))
    (command "circle" cen dda)
    )
      )
    (setq i (1+ i))
    )
  (command "ucs" "")
  (prin1)
  )

代码完。

只对单行文字有效。