代码改变世界

AutoLISP修改文字高度

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

AutoLISP修改文字高度,代码如下。

(defun c:test()
  (setq old_hh (getvar "textsize"))
  (setq str_hh (strcat "\n输入新字高<" (rtos old_hh 2) ">:"))
  (setq hh (getdist str_hh))
  (if (null hh) (setq hh old_hh))
  (setq ss (ssget))
  (setq i 0)
  (setq  nn (sslength ss))
  (repeat nn
    (setq ssn (ssname ss i))
    (setq ssdata (entget ssn))
    (setq sstyp (cdr (assoc 0 ssdata)))
    (if (= sstyp "TEXT")
      (progn
    (setq old_hh (assoc 40 ssdata))
    (setq new_hh (cons 40 hh))
    (setq ssdata (subst new_hh old_hh ssdata))
    (entmod ssdata)
    )
      )
    (setq i (1+ i))
    )
  (prin1)
  )

代码完。

只对单行文字有效。