ElpanovEvgeniy 发表于 2013-5-14 09:58:38

新版本:
(defun eea-test-3 (/ f l)
(defun f (l a b c)
    (cond ((not l)
         (cons (if b
                   (cons a (f (cdr (reverse b)) (last b) nil nil))
                   (list a)
               )
               (if c
                   (f (cdr (reverse c)) (last c) nil nil)
               )
         )
          )
          ((equal (acet-geom-extents a) (ACET-GEOM-SS-EXTENTS-ACCURATE (ssadd (car l) (ssadd a (ssadd)))))
         (f (cdr l) a (cons (car l) b) c)
          )
          ((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 (acet-ss-to-list l)
                            (function (lambda (a b) (>= (vlax-curve-getarea a) (vlax-curve-getarea b))))
                   )
         )
         (f (cdr l) (car l) nil nil)
    )
)
)
运行缓慢...
页: 1 [2]
查看完整版本: =>[挑战]<=嵌套矩形