 - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;文字居中;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (defun c:wzjz ()
- (princ "\n******使用命令:wzjz(文字居中)******")
- (setq os(getvar "osmode")) (setvar "osmode" 0)
- (setq ss (ssget))
- (setq n (sslength ss))
- (setq k 0 )
- (setq kk 0 )
-
- (while (< k n)
- (setq name (ssname ss k))
-
- (setq a (entget name))
- (setq str (cdr (assoc 0 a)))
- (if (or (= str "TEXT") (= str "MTEXT"))
- (PROGN
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;获取文字中点
- (setq data (vlax-ename->vla-object name))
- (VLA-GETBOUNDINGBOX data 'minExt 'maxExt)
- (setq
- x (VLAX-SAFEARRAY-GET-ELEMENT minExt 0)
- y (VLAX-SAFEARRAY-GET-ELEMENT minExt 1)
- x1 (VLAX-SAFEARRAY-GET-ELEMENT maxExt 0)
- y1 (VLAX-SAFEARRAY-GET-ELEMENT maxExt 1)
- )
- (setq pt1 (list x y);;;;;;;;;图框块的四个交点
- pt2 (list x1 y1);;;;;;;
- pt3 (list x y1);;;;;;;;
- pt4 (list x1 y);;;;;;;;
- )
- (setq zmidx (+ x (/ (- x1 x) 2))
- zmidy (+ y (/ (- y1 y) 2))
- )
- (setq zmid (list zmidx zmidy))
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;创造文字外框边界
- (command "-boundary" zmid "")
- (setq bjie (entlast))
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 获取外框中点
- (setq data (vlax-ename->vla-object bjie))
- (VLA-GETBOUNDINGBOX data 'minExt 'maxExt)
- (setq
- x (VLAX-SAFEARRAY-GET-ELEMENT minExt 0)
- y (VLAX-SAFEARRAY-GET-ELEMENT minExt 1)
- x1 (VLAX-SAFEARRAY-GET-ELEMENT maxExt 0)
- y1 (VLAX-SAFEARRAY-GET-ELEMENT maxExt 1)
- )
- (setq pt1 (list x y);;;;;;;;;图框块的四个交点
- pt2 (list x1 y1);;;;;;;
- pt3 (list x y1);;;;;;;;
- pt4 (list x1 y);;;;;;;;
- )
- (setq kmidx (+ x (/ (- x1 x) 2))
- kmidy (+ y (/ (- y1 y) 2))
- )
- (setq kmid (list kmidx kmidy))
- ;;;(princ name)
- (command "erase" bjie "")
-
- (setq wzg (cdr (assoc 40 a)))
- (setq jiad (cdr (assoc 50 a)))
- (setq wznr (cdr (assoc 1 a)))
- (command "_MOVE" name "" zmid kmid)
-
- (setq k (+ k 1))
- (setq kk k)
- ;;;(princ k)
- )
- (progn
- (SETQ kk (+ k 1))
- (SETQ k kk)
- )
- )
- )
- (setq os(getvar "osmode")) (setvar "osmode" 173)
- (princ)
- )
|