用户5696715479 发表于 2015-9-7 10:57:11

选取图形中比某个数小的全部数字,根据网上的弄了一个,只能选取纯数字,选取带文....

根据网上的教程,做了个过滤小于某个数字的程序,但是选取带英文和数字组合的时候,就出错,请大家给看看怎么回事啊。


(defun C:ZX71 ( / #k1 #s &k1 &kw1 i)

(setvar "cmdecho" 0)

(setvar "blipmode" 0)

(setvar "dimzin" 0)

(vl-load-com)
(setq #s (getdist "\n请输入要小于这个数值") i 0)

(if (/= #s nil)

(progn

   (princ "\n请选择文字")

   (setq &kw1 (ssget (list (cons 0 "TEXT,MTEXT") (cons 1 "**"))));选择带有数值的文字

   (setq &kw1 (ssget "p" (list (cons 0 "TEXT,MTEXT") (cons 1 "~*"))));取消有字母的文字
   (if (/= &kw1 nil)

    (progn

   (setq &k1 (ssname &kw1 0))

   (while &k1

      (setq &kw1 (ssdel &k1 &kw1)

            #k1 (atof (cdr (assoc 1 (entget &k1))));取得文字数值

      )

      (if (< #k1 #s) (princ (entdel &k1) (setq i (+ i 1)) ) );如果小于这个值,文字就删除

      (setq &k1 (ssname &kw1 0))

   )

    )

   )

)

)

(princ "\n共删除了") (princ i) (princ "个文字数值')

(princ)


http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 用户5696715479的微博
页: [1]
查看完整版本: 选取图形中比某个数小的全部数字,根据网上的弄了一个,只能选取纯数字,选取带文....