flyfox1047 发表于 2013-12-5 15:08:29

改选择范围内的文字高度

本帖最后由 flyfox1047 于 2013-12-5 15:09 编辑

改选择范围内的文字高度 包括单行文字与多行文字
(defun C:GZG ()
(setvar "CMDECHO" 0)
(prompt "\nSelection window")
(setq p1 (getpoint "\n第一角点: "))
(setq p2 (getcorner p1 "\n反向的角点: "))
(setq XTX (ssget "W" p1 p2))
(setq i -1)
(setq TSZ (getreal "\n输入字高 :"))
(repeat (sslength XTX)
(setq i (1+ i))
;;;Changing textsize:
(setq SZ (cons 40 TSZ))
(setq ed (entget (ssname XTX i)))
(setq ed (subst SZ (assoc 40 ed) ed ))
(entmod ed)
);repeat
(princ)
);eof





pengfei2010 发表于 2013-12-7 12:12:29

太简单了吧,跟你发布的其他程序无法对比啊呵呵

香田里浪人 发表于 2013-12-8 20:56:30

这个比较直观,扩展也快点……
      (defun c:gzg ()
         (setq ss (ssget '((0 . "text"))))         
            (setq i 0)
      
      (if (not (setq tt (getreal "\n请输入文字高度 <1.5>: ")))
       (setq tt 1.5)
      )      
            (repeat (sslength ss)
               (setq ssn (ssname ss i)
                   endata (entget ssn)
                  endata (subst (cons 40 tt) (assoc 40 endata) endata)
                        i      (1+ i)
                      )
            (entmod endata)         
            )                                                         
      )      ;end defun


;;;更改文字宽度gzk
   (defun c:gzk ()
   (setq ss (ssget '((0 . "text"))))
   (if (not (setq tt (getreal "\n请输入字宽 <0.8>: ")))
    (setq tt 0.8)
    )                        
       (setq i 0)
    (repeat (sslength ss)
         (setq ssn (ssname ss i)
          endata (entget ssn)
          endata (subst (cons 41 tt) (assoc 41 endata) endata)
            i      (1+ i)
         )
      (entmod endata)
   )
) ;end defun

flyfox1047 发表于 2013-12-8 21:17:52

香田里浪人 发表于 2013-12-8 20:56 static/image/common/back.gif
这个比较直观,扩展也快点……
      (defun c:gzg ()
         (setq ss (ssget '((0 . "text"))))    ...
这个只能改单行文字
页: [1]
查看完整版本: 改选择范围内的文字高度