move_com 发表于 2011-11-17 12:32 
大哥给我个代码吧!我在网上找了很久都是关于单行文字的递增复制。现在想找个多行文字也能实现递增的。因 ...  - (defun c:dz (/ oce1 n1 zn h1 sxh1 p1 key)
- (vl-load-com)
- (setq oce1 (getvar "cmdecho"))
- (setvar "cmdecho" 0)
- (setq ms (vla-get-modelspace
- (vla-get-activedocument (vlax-get-acad-object))
- )
- )
- (if qz
- ()
- (setq qz "")
- )
- (if hz
- ()
- (setq hz "")
- )
- (initget "c")
- (setq nqz (getstring (strcat "\n请输入前缀<" qz ">/c(为空): ")))
- (cond
- ((= nqz "c") (setq qz ""))
- (T
- (if (/= nqz "")
- (setq qz nqz)
- )
- )
- )
- (setq nhz (getstring (strcat "\n请输入后缀<" hz ">/c(为空): ")))
- (cond
- ((= nhz "c") (setq hz ""))
- (T
- (if (/= nhz "")
- (setq hz nhz)
- )
- )
- )
- (if (not (setq n1 (getint "\n请输入起始顺序号 <1>: ")))
- (setq n1 1)
- )
- (if (not (setq zn (getint "\n请输入增加或减少的序数 <+1>: ")))
- (setq zn 1)
- )
- (if (not (setq h1 (getreal "\n请指定文字高度 <2.5>: ")))
- (setq h1 2.5)
- )
- (initget "1 2")
- (setq key (getkword "\n单行文字(1)/多行文字(2)<单行>"))
- (setq sxh1 (strcat qz (itoa n1) hz))
- (setq p1 (getpoint "\n请指定插入点: "))
- (while (/= p1 nil)
- (setq p1 (vlax-3d-point p1))
- (if (= key "2")
- ;;_使用双行文字 对齐点左上角
- (setq txt (vla-addmtext
- ms
- p1
- h1
- sxh1
- )
- )
- ;;_使用单行文字 对齐点左下角
- (setq txt (vla-addtext
- ms
- sxh1
- p1
- h1
- )
- )
- )
- (setq
- n1 (+ n1 zn)
- sxh1 (strcat qz (itoa n1) hz)
- p1 (getpoint "\n请指定下一插入点: ")
- )
- )
- (setvar "cmdecho" oce1)
- (vlax-release-object ms)
- (princ)
- )
|