马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
移动所有的XREFS到指定的层前缀的层,比如:"0-XREF_" ,并提示用户是否锁定该层。
 - (defun c:x2l(/ *AcadDoc* s x old new lst nom)
- (vl-load-com)
- (setq *AcadDoc* (vla-get-activedocument (vlax-get-acad-object))
- s ""
- )
- (vla-startundomark *AcadDoc*)
- (vlax-for x (vla-get-blocks *AcadDoc*)
- (and (eq (vla-get-isxref x) :vlax-true)
- (setq s (strcat s (vla-get-name x) ","))
- )
- )
- (or (= s "")
- (not (ssget "x" (list (cons 0 "insert") (cons 2 s))))
- (initget 0 "Yes No")
- (eq (getkword "\nXRefs To Layers\nLock XRef layers? [Yes/No] <Yes>: ") "No")
- (progn
- (vlax-for x (setq ss (vla-get-activeselectionset *AcadDoc*))
- (vla-put-lock (vla-item (vla-get-layers *AcadDoc*) (setq nom (vla-get-layer x))) :vlax-true)
- (if (setq old (assoc nom lst))
- (setq new (cons (car old) (1+ (cdr old)))
- lst (subst new old lst)
- )
- (setq lst (cons (cons nom 1) lst))
- )
- )
- (vla-delete ss)
- (alert (apply 'strcat
- (mapcar '(lambda (x) (strcat "\n"
- (itoa (cdr x))
- " XRef(s) on layer: \""
- (car x)
- "\""
- )
- )
- (vl-sort lst '(lambda(a b)(< (car a) (car b))))
- )
- )
- )
- )
- )
- (vla-endundomark *AcadDoc*)
- (princ)
- )
|