2013年9月10日 星期二

AUTOLISP程式-更改數字字高


因為常常有更改文字大小的困擾,所以寫了一個簡便的程式供自己快速修改字高
有相同困擾的朋友可以拿去使用


;;;更改數字字高
(defun c:chtext(/ a ts n index b1 b c d b2)
  (setq a (ssget ))
  (setq ts (getreal "輸入新的字元高度"))
  (setq n(sslength a))
  (setq index 0)
  (repeat n
      (setq b1(entget (ssname a index)))
      (setq index (1+ index))
      (setq b(assoc 0 b1))
     (if (= "TEXT" (cdr b))
        (progn
            (setq c (assoc 40 b1))
            (setq d (cons (car c) ts))
            (setq b2 (subst d c b1))
            (entmod b2)
         )
      )
    )
  )



;;;更改數字字高
(defun c:chtext1 (/ a ts n index b1 b c d b2)
  (setq a (ssget))
  (setq ts (getreal "輸入新的字元高度"))
  (setq n(sslength a))
  (setq index 0)
  (repeat n
      (setq b1(entget (ssname a index)))
      (setq index (1+ index))
      (setq b(assoc 0 b1))
     (if (= "TEXT" (cdr b))
        (progn
            (setq c (assoc 40 b1))
            (setq d (cons (car c) ts))
            (setq b2 (subst d c b1))
            (entmod b2)
         )
      )
    )
  )

沒有留言:

張貼留言