优化了我的版本:
- (defun eea-test-1 (/ f l)
- (defun f (l a b c)
- (cond ((not l)
- (cons (if b
- (cons (last a) (f (cdr (reverse b)) (last b) nil nil))
- (cddr a)
- )
- (if c
- (f (cdr (reverse c)) (last c) nil nil)
- )
- )
- )
- ((vl-every (function
- ((f (cdr l) a b (cons (car l) c)))
- )
- )
- (if (setq l (ssget '((0 . "LWPOLYLINE") (90 . 4) (-4 . "&=") (70 . 1))))
- (progn (setq l (vl-sort (mapcar (function (lambda (a) (reverse (cons a (acet-geom-extents a)))))
- (vl-remove-if (function listp) (mapcar (function cadr) (ssnamex l)))
- )
- (function (lambda (a b) (
- )
- )
- (f (cdr l) (car l) nil nil)
- )
- )
- )
ps。为什么这个主题在“CAD常规”一节中,而不是在“AutoLISP (Vanilla / Visual)”一节中? |