UNTIAO中英文等高调整恢复.LSP
上传用户:sd555111
上传日期:2014-05-17
资源大小:31k
文件大小:1k
源码类别:

CAD

开发平台:

MathCAD

  1. ; ================================================
  2. ;                 文字等高调整恢复
  3. ;              Ver: 1.0  作者:迟俊岭
  4. ; ================================================
  5. (defun *error*(st)
  6.   (princ (strcat "Error: " st))
  7.   (princ)
  8. )
  9. (defun unt (s$ old$ new$ / osl nsl si st)
  10.   (setq osl (strlen old$)
  11.         nsl (strlen new$)
  12.         si 1)
  13.   (while (= osl (strlen (setq st (substr s$ si osl))))
  14.     (if (= st old$)
  15.       (setq s$ (strcat (substr s$ 1 (1- si)) new$ (substr s$ (+ si osl)))
  16.             si (+ si nsl)
  17.       )
  18.       (setq si (1+ si))
  19.     )
  20.   )
  21.   (setq txt s$)
  22. )
  23. (defun C:untiao( / test ss len n s en1 a ent nn)
  24.   (setvar "CMDECHO" 0)
  25.   (setq test T nn 0)
  26.   (while test
  27.     (setq ss (ssadd))
  28.     (setq ss (ssget))
  29.     (if (= nil ss)
  30.       (setq test nil)
  31.       (progn
  32. (setq len (sslength ss))
  33. (setq n 1 s 1)
  34. (while (<= n len)
  35.   (setq en1 (ssname ss (1- n)))
  36.   (setq a (entget en1))
  37.           (if (= "TEXT" (cdr (assoc 0 a)))
  38.             (progn  
  39.               (setq txt (cdr (assoc 1 a)))
  40.               (unt txt "%%165" "")
  41.               (unt txt "%%166" "")
  42.               (setq ent (subst (cons 1 txt) (assoc 1 a) a))
  43.       (entmod ent)
  44.               (setq nn (1+ nn))
  45.     )
  46.   )
  47.   (setq n (1+ n))
  48. )
  49.       )
  50.     )
  51.   )
  52.   (princ (strcat (itoa nn) " 变化数 !"))
  53.   (princ)
  54. )