请尝试以下操作:
- ;; OE (Order Entities) - Lee Mac
- (defun c:oe ( / cnt ent enx new sbx sub )
- (setq cnt 1)
- (while
- (progn
- (setvar 'errno 0)
- (setq ent (car (entsel (strcat "\nSelect object " (itoa cnt) " <done>: "))))
- (cond
- ( (= 7 (getvar 'errno))
- (princ "\nMissed, try again.")
- )
- ( (null ent)
- nil
- )
- ( (= 4 (logand 4 (cdr (assoc 70 (tblsearch "layer" (cdr (assoc 8 (setq enx (entget ent)))))))))
- (princ "\nSelected object is on a locked layer.")
- )
- ( (and
- (setq new (entmakex enx))
- (or (/= 1 (cdr (assoc 66 enx)))
- (progn
- (setq sub (entnext ent)
- sbx (entget sub)
- )
- (while (/= "SEQEND" (cdr (assoc 0 sbx)))
- (entmake sbx)
- (setq sub (entnext sub)
- sbx (entget sub)
- )
- )
- (entmake sbx)
- )
- )
- )
- (entdel ent)
- (redraw new 3)
- (setq cnt (1+ cnt))
- )
- ( (princ "\nUnable to reorder selected object."))
- )
- )
- )
- (command "_.regen")
- (princ)
- )
|