caomo922 发表于 2010-11-9 09:15

求高手给编个程序

那位大侠能帮个忙给我编个小程序将下图中的双行文字中的下行文字删除 (图中的文字都为单行文字
)要是三行的也能任意编辑其中一行最好   感觉这个批量编辑的小程序做好了能解决很多问题

Camello 发表于 2010-11-9 10:56

请上传样本文件(dwg) 以利调试

caomo922 发表于 2010-11-9 12:31

往楼上的能解决此问题

感谢啊      :D :D

Camello 发表于 2010-11-9 15:05

(defun GtUpT (x)
   (setq pt (cdr (assoc 10 (entget x)))
         pt (mapcar '+ pt '(0 200))
   )
   (ssget "f" (list pt (mapcar '+ pt '(400 0))) TxtEq)   ; '(600 0)
)

;;; for Test only

(defun C:Test ()
;; 设定文字滤取条件
(setq TxtEq
         '(
         (0 . "TEXT")
         (8 . "451")
         (62 . 13)
         (50 . 0.0)
         (41 . 0.8)
         (51 . 0.0)
         (7 . "Standard")
         (71 . 0)
         (72 . 0)
         (73 . 0)
          )
)

(command "Zoom" "e")

(setq ss(ssget "x" TxtEq)
      ssa (ssadd)
      ;; ssb (ssadd)
      idx 0
)

(while (setq ee (ssname ss idx))
    (if (gtUpT ee)
      (ssadd ee ssa)
      ;; (ssadd ee ssb)
    )
    (setq idx (1+ idx))
)
(command "Erase" ssa "")
(princ)
)

caomo922 发表于 2010-11-9 17:42

原帖由 Camello 于 2010-11-9 15:05 发表 http://www.askcad.com/bbs/images/common/back.gif
(defun GtUpT (x)
   (setq pt (cdr (assoc 10 (entget x)))
         pt (mapcar '+ pt '(0 200))
   )
   (ssget "f" (list pt (mapcar '+ pt '(400 0))) TxtEq)   ; '(600 0)
)

;;; for Test only
...
时的发生的发生倒萨发放
页: [1]
查看完整版本: 求高手给编个程序