好的,局部变量:
- ; Lxplode by ASMI - modified slightly (and hopefully correctly) by Lee McDonnell
- (defun c:lxplode2 (/ ss ssl index eEnt cLay lEnt cDxf nDxf)
- (setq ss (ssget))
- (if (/= (setq ssl (sslength ss)) nil)
- (progn
- (setq index 0)
- (repeat ssl
- (setq eEnt (ssname ss index)
- cLay (cdr (assoc 8 (entget eEnt)))
- lEnt (entlast)
- ) ; end setq
- (if (and
- (vl-cmdf "_.explode" eEnt)
- (not (equal lEnt (entlast)))
- ) ; end and
- (progn
- (while (setq lEnt (entnext lEnt))
- (setq cDxf (entget lEnt)
- nDxf (subst (cons 8 cLay) (assoc 8 cDxf) cDxf)
- ) ;_ end setq
- (entmod nDxf)
- ) ; end while
- (princ (strcat "\nEntities exploded onto layer " cLay "."))
- ) ; end progn
- (princ "\n<!> Can't explode this entity <!> ")
- ) ; end if
- (setq index (1+ index))
- ) ;_ end repeat
- ) ;_ end progn
- (princ "\nNo Entities Selected!")
- ) ;_ end if
- (princ)
- ) ; end of c:lxplode2
|