公平地说,艾伦,正如我所说,这很危险。
我不知道这些评论,但就完整性而言,这些可能比切换更好:
- (defun c:AllVis ( / tmp )
- ;; Lee Mac ~ 27.04.10
-
- (if (setq tmp (ssget "_X"))
-
- ( (lambda ( i / e )
- (while (setq e (ssname tmp (setq i (1+ i))))
- (Update
- (PutDXF 60 0 (entget e))
- )
- )
- )
- -1
- )
- )
- (princ)
- )
- (defun c:Invis ( / tmp )
- ;; Lee Mac ~ 27.04.10
- (if (setq tmp (ssget "_:L"))
- ( (lambda ( i / e )
- (while (setq e (ssname tmp (setq i (1+ i))))
- (Update
- (PutDXF 60 1 (entget e))
- )
- )
- )
- -1
- )
- )
- (princ)
- )
- (defun PutDXF ( code value elist )
- (entmod
- (if (assoc code elist)
- (subst (cons code value) (assoc code elist) elist)
- (append elist (list (cons code value)))
- )
- )
- )
- (defun Update ( elist )
- (entupd (cdr (assoc -1 elist)))
- )
但我更喜欢你的解决方案。 |