lijinsong
07.12.2014, 09:18
(defun c:la ( ) (vl-load-com) (setq stn (ssget) stnl (sslength stn) pntlst nil n 0 ) (repeat stnl (setq stnn (ssname stn n) stnt (cdr(assoc 0 (entget stnn))) ) (if (= stnt "TEXT") (progn (setq stnh (cdr(assoc 40 (entget stnn)))) (setq stno (vlax-ename->vla-object stnn)) (vla-getboundingbox stno 'minpnt 'maxpnt) (setq minpnt (vlax-safearray->list minpnt) maxpnt (vlax-safearray->list maxpnt) ) )) (setq n(1+ n) ) ) (setq n 0) (repeat stnl (setq stnn (ssname stn n) stnt (cdr(assoc 0 (entget stnn))) ) (if (= stnt "LINE") (progn (setq ;stnc (cdr(assoc 62 (entget stnn))) stny (cdr(assoc 8 (entget stnn))) ) (setq stno (vlax-ename->vla-object stnn)) (vla-getboundingbox stno 'minp 'maxp) (setq minp (vlax-safearray->list minp) maxp (vlax-safearray->list maxp) minp(list(car minpnt)(cadr minp)) maxp(list(car maxpnt)(cadr minp)) ) (setq pntlst(cons (list minp maxp stnn) pntlst)) )) (setq n(1+ n)) ) (foreach pnt pntlst (entmake (list (cons 0 "LINE") (cons 10 (car pnt)) (cons 11 (cadr pnt)) (cons 62 7) (cons 8 stny) ) ) (entdel (caddr pnt)) ))