home *** CD-ROM | disk | FTP | other *** search
- ; Write Chinese
- (Defun *error* (s)
- (princ s)
- (princ)
- )
- (defun c:ctext( / pt1 pt2 str a pt hh ss ang)
- (setvar "CMDECHO" 0)
- (setvar "BLIPMODE" 1)
- (setq s 0 str "")
- (while (= s 0)
- (if (= str "")
- (princ "\nStart point or Align/Center/Fit/Middle/Right/Style: ")
- )
- (setq a (grread))
- (cond ((= 3 (car a))
- (setq s 1 pt (cadr a) s1 0)
- )
- ((= 2 (car a)) (setq s1 1)
- (if (= (cadr a) 13)
- (setq s 1)
- (progn (princ (chr (cadr a)))
- (if (= (cadr a) 8)
- (setq str (substr str 1 (1- (strlen str))))
- (setq str (strcat str (chr (cadr a))))
- )
- )
- )
- )
- )
- )
- (initget 1)
- (cond
- ((or (= str "r") (= str "R")) (setq pt (getpoint "\nEnd point:")))
- ((or (= str "c") (= str "C")) (setq pt (getpoint "\nCenter point:")))
- ((or (= str "m") (= str "M")) (setq pt (getpoint "\nMiddle point:")))
- ((or (= str "f") (= str "F")) (setq pt1(getpoint "\nFirst text line point:"))
- (princ "\nSecond text line point:")
- (command "line" pt1 pause "")
- (setq pt2 (cdr (assoc 11 (entget (entlast)))) pt pt1)
- (entdel (entlast))
- )
- )
- (setq hh (getdist pt (strcat "\nHeight<" (rtos (getvar "textsize") 2 4) ">: ")))
- (if (not pt1)
- (setq ang (getangle pt "\ntext angle<0>:")
- ang (if (not ang) 0 ang)
- ang (angtos ang 0 1)))
- (if (null hh) (setq hh (getvar "textsize")))
- (command "hz")
- (setq f (open "hztxt" "r"))
- (setq ss (read (read-line f)))
- (close f)
- (if (= s1 0)
- (command "text" pt hh ang ss)
- (if (and pt1 pt2)
- (command "text" str pt1 pt2 hh ss)
- (command "text" str pt hh ang ss))
- )
- (setvar "BLIPMODE" 0)
- (redraw)
- (princ)
- )