CJ001035命令选中缩放到含某内容的第N个文字上窗口高0点2.lsp
要能够根据图元的外轮廓来决定窗口的高度就好了,请哪位高手完善一下(defun c:tt ( / ent qq *过滤用的字符* 输入 输入2 图元组码 *序号* 坐标点对) ;只炸开理正图元"CCOMPLEXTEXT,CPMTEXTCDBPMZK,CDBDMX,CGTEXT,GLZTEXT",
;当选择集中有两个以上图元时成立,如果只有一个图元,则运行错误
;;qaflags这个系统变量一般为0,但如果为零一次就只能炸开一个图元,为1则可以炸开所以选定的图元。但它还有其它作用,所以最好设回0
(setvar "qaflags" 1)
(IF (=( setq 输入2 (getstring "选择集中第几个,是以0开始的,即*序号*") ) "")
(PRINC *序号*)
(setq *序号* 输入2)
)
( IF (= *序号* nil)
(SETQ *序号* 0)
)
(SETQ *序号* (atoI *序号*))
(IF (=( setq 输入 (vl-princ-to-string (getstring "*过滤用的字符*")) ) "")
(PRINC *过滤用的字符*)
(setq *过滤用的字符* 输入)
)
( IF (= *过滤用的字符* NIL)
(SETQ *过滤用的字符* (getstring "必须输入*过滤用的字符*"))
)
(if (setq QQ (ssget "X" (list (cons 0"TEXT") (cons 1(strcat "*" *过滤用的字符* "*")))))
(progn
; (IF(= 1 (sslength QQ))
; (setq entQQ )
(setq ent (ssname QQ *序号*))
; );IF结束
(setq 图元组码 (entget ent))
; (setq 图元类型 (assoc '0 图元组码))
; (setq 图元类型 (cdr 图元类型))
; (if (= 图元类型 "TEXT")(progn
(setq 坐标点对(CDR (assoc '10 图元组码)))
(COMMAND "ZOOM" "C" 坐标点对 0.2 "")
)
)
(SETQ *序号* (+ *序号* 1))
(setvar "qaflags" 0)
(princ)
)
页:
[1]