本帖最后由 Andyhon 于 2013-10-18 09:31 编辑
For test only
- (defun x+y- (Lst3)
- (vl-sort
- (vl-sort
- Lst3
- (function (lambda (x y) (< (caaddr x) (caaddr y))))
- )
- (function (lambda (x y) (< (caadr x) (caadr y))))
- )
- )
- (defun c:AA (/ ssLst)
- (setq xza1 (ssget (list (cons 0 "TEXT,MTEXT"))))
- (setq pt (getpoint "\n输出基点:"))
- (setq len1 (sslength xza1)
- i1 (1- (sslength xza1))
- )
- (repeat len1
- (setq en1 (ssname xza1 i1)
- dat (entget en1)
- ssLst (cons (list (dxf 1 dat) (dxf 10 dat)) ssLst)
- i1 (1- i1)
- )
- )
-
- (foreach txt (mapcar 'car (x+y- ssLst))
- (entmake
- (list
- '(0 . "TEXT")
- (cons 1 txt)
- (cons 10 pt)
- '(7 . "HZ")
- '(62 . 110)
- '(8 . "AA")
- '(40 . 400.000)
- )
- )
- (setq pt (list (car pt) (- (cadr pt) 500) (caddr pt)))
- )
- )
|