我给你改好了,包括一些小问题,还是希望你自己明白后在看看我的程序

- (defun wlayer (llay)
- (if (/= (tblobjname "layer" llay) nil)
- (setvar "clayer" llay)
- )
- )
- (defun c:ty (/ oce ofe fh p0 m nn i)
- (setq oce (getvar "cmdecho"))
- (setvar "cmdecho" 0)
- (setq ofe (getvar "clayer"))
- (command ".undo" "be")
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (if (not *fuhao*)
- (progn
- (initget 0)
- (setq *fuhao* (getstring "\nplease input fuhao:"))
- )
- (progn
- (setq fh (getstring (strcat "\nplease input fuhao<" *fuhao* ">:")))
- (if (/= fh "")
- (setq *fuhao* fh)
- )
- )
- )
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;注意此范围内的内容;;;;;;;;;;;;;;;;;;
- (if (not *i*)
- (progn
- (initget 3)
- (setq *i* (getint "\nplease input number:"))
- )
- (progn
- (setq i (getint (strcat "\nplease input number<" (itoa *i*) ">:")))
- (if i
- (setq *i* fh)
- )
- )
- )
-
- (setq i *i*)
- (setq *fuhao* (strcase *fuhao* 0))
- (cond
- ((= *fuhao* "w") (wlayer "0-w"))
- ((= *fuhao* "y") (wlayer "0-y"))
- ((= *fuhao* "j") (wlayer "0-j"))
- ((= *fuhao* "dl") (wlayer "2-电力"))
- ((= *fuhao* "ld") (wlayer "2-路灯"))
- ((= *fuhao* "dx") (wlayer "2-电信"))
- )
-
- (while (setq p0 (getpoint "\npick point:"))
- (setq m (rtos i))
- (setq nn (strcat *fuhao* m))
- (command ".text" "m" p0 (getvar "textsize") "0" nn)
- (setq i (+ 1 i))
- )
- (setvar "cmdecho" oce)
- (command ".undo" "e")
- (setvar "clayer" ofe)
- (prin1)
- )
|