(defun c:tt ()
(princ "\n请选择范围")
(if (setq ss (ssget '((0 . "text,insert"))))
(mapcar '(lambda (x)
(cond ((= (hlj-dxf 0 x) "TEXT")
(command "LINE" (hlj-dxf 10 x) '(0 0) "")
)
((= (hlj-dxf 0 x) "INSERT")
(setq p0 (hlj-dxf 10 x)
aa (vl-remove-if
'(lambda (y) (/= (hlj-dxf 0 y) "TEXT"))
(hlj-blkQ (hlj-dxf 2 x))
)
)
(foreach a aa
(setq p1 (hlj-dxf 10 a)
p1 (mapcar '(lambda (x y) (+ y x)) p1 p0)
)
(command "LINE" p1 '(0 0) "")
)
)
)
)
(ss2list ss)
)
)
(princ)
)
;; 次级函数
(defun hlj-dxf (n s1) (cdr (assoc n (entget s1))))
;; 枚举块中的图元 (hlj-blkQ (hlj-dxf 2 (entget blkname)))
;; (