;; 简单优化了一下
 - (defun c:JC ()
- (defun dxf (code e) (cdr (assoc code (entget e))))
- (setq tk (car (entsel "\n点选图框: ")))
- (setq sc (DXF 41 tk))
- (vla-GetBoundingBox (vlax-ename->vla-object tk) 'p1 'p2)
- (setq p1 (vlax-safearray->list p1)
- p2 (vlax-safearray->list p2)
- ss (ssget "w" p1 p2 '((0 . "TEXT,DIMENSION")))
- i -1
- wz 0
- bz 0
- )
- (while (setq s1 (ssname ss (setq i (1+ i))))
- (setq ob (vlax-ename->vla-object s1))
- (if (equal (DXF 0 s1) "TEXT")
- (if (> (abs (- (DXF 40 s1) (* 3 sc))) 0.02)
- (progn
- (entmod (subst (cons 40 (* 3 sc))(assoc 40 (entget s1))(entget s1)))
- (setq wz (+ 1 wz))
- )
- )
- (if (/= (vla-get-ScaleFactor ob) sc)
- (progn
- (vla-put-TextColor ob acgreen)
- (setq bz (+ 1 bz))
- )
- )
- )
- )
- (princ (strcat "发现并修改" (itoa wz)"个异常文字," (itoa bz)"个异常标注"))
- (princ)
- )
|