明经CAD社区

 找回密码
 注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

楼主: sixth

[源码] 外部参照命令(全)加载、卸载、拆离、绑定[源码]

  [复制链接]
发表于 2017-9-9 23:26 | 显示全部楼层
参照的命令大集合哈,谢谢
发表于 2017-12-17 18:37 | 显示全部楼层
参照的命令大集合哈,谢谢,有了快捷键方便多了
发表于 2018-1-13 13:54 | 显示全部楼层
太好了,参照的命令大集合哈
发表于 2018-3-23 21:33 | 显示全部楼层
楼主的绑定有点小问题,我修改后发上去:
[code="lisp] Xref_V2.3.lsp

;Xref 命令:
;Reload/重载        Unload/卸载        Detach/拆离        Bind/绑定

;XFR        重载选定
;XFRA        重载所有
;XFX        卸载选定
;XFXA        卸载所有
;XFD        拆离选定
;XFDA        拆离所有
;XFB        绑定选定
;XFBA        绑定所有

; -------------------- Reload selected reference files ---------------------
; XFR  
; --------------------------------------------------------------------------
(Defun C:XFR ( )        ;定義“重载选定参照文件”命令

        (setvar "cmdecho" 0)        ;命令执行过程不回显提示和输入

          (princ "\n选定要重新载入的参照文件:")

          (if (setq SS (ssget))
                    (progn
                              (setq Rnames "")
                              (repeat
                                (setq I (sslength SS))
                                (setq E (ssname SS (setq I (1- I))))
                                (setq ELIST (entget E))
                                (setq Rname (cdr (assoc 2 ELIST))) ;_参照名
                                (command "-xref" "R" Rname)
                                (setq Rnames (strcat Rname ", " Rnames)) ;_strcat 连接成字符串
                              );end repeat
                              (prompt "\n已经重载的文件为:")
                              (princ Rnames)
                    );end progn
          );end if
        (princ)
)

(prompt "\n<重载选定参照文件> 命令:XFR  ------by sixth 2010-11-17")         ;提示如何执行程序



; ------------------- Reload all reference files ---------------------
; XFRA
; --------------------------------------------------------------------
(Defun C:XFRA ( )          ;定義“重新加载所有外部参照”命令
        (setvar "cmdecho" 0)                ;命令执行过程不回显提示和输入
        (command "-xref" "R" "*")
          (princ)
)

(prompt "\n<重新加载所有外部参照> 命令:XFRA  ------by sixth 2010-10-13")         ;提示如何执行程序



; -------------------- Unload selected reference files ---------------------
; XFX
; --------------------------------------------------------------------------
(Defun C:XFX ( )        ;定義“卸载选定参照文件”命令

        (setvar "cmdecho" 0)        ;命令执行过程不回显提示和输入

          (princ "\n选择要卸载的外部参照对象:")

          (if (setq SS (ssget))
                    (progn
                              (setq Rnames "")
                              (repeat
                                (setq I (sslength SS))
                                (setq E (ssname SS (setq I (1- I))))
                                (setq ELIST (entget E))
                                (setq Rname (cdr (assoc 2 ELIST))) ;_参照名
                                (command "-xref" "U" Rname)
                                (setq Rnames (strcat Rname ", " Rnames)) ;_strcat 连接成字符串
                              );end repeat
                              (prompt "\n已卸载的外部参照文件是:")
                              (princ Rnames)
                    );end progn
          );end if
        (princ)
)

(prompt "\n<卸载选定参照文件> 命令:XFX  ------by sixth 2010-11-17")         ;提示如何执行程序



; ------------------- Unload all reference files ---------------------
; XFXA
; --------------------------------------------------------------------
(Defun C:XFXA ( )          ;定義“卸载所有外部参照”命令
        (setvar "cmdecho" 0)                ;命令执行过程不回显提示和输入
        (command "-xref" "U" "*")
          (princ)
)

(prompt "\n<卸载所有外部参照> 命令:XFXA  ------by sixth 2010-10-13")         ;提示如何执行程序




; -------------------- Detach selected reference files ---------------------
; XFD
; --------------------------------------------------------------------------

(Defun C:XFD ( )        ;定義“拆离选定参照文件”命令

        (setvar "cmdecho" 0)        ;命令执行过程不回显提示和输入

          (princ "\n选择要拆离的外部参照对象:")

          (if (setq SS (ssget))
                    (progn
                              (setq Rnames "")
                              (repeat
                                (setq I (sslength SS))
                                (setq E (ssname SS (setq I (1- I))))
                                (setq ELIST (entget E))
                                (setq Rname (cdr (assoc 2 ELIST))) ;_参照名
                                (command "-xref" "Detach" Rname)
                                (setq Rnames (strcat Rname ", " Rnames)) ;_strcat 连接成字符串
                              );end repeat
                              (prompt "\n已拆离的外部参照文件为:")
                              (princ Rnames)
                    );end progn
          );end if
        (princ)
)

(prompt "\n<拆离选定参照文件> 命令:XFD  ------by sixth 2010-11-17")         ;提示如何执行程序




; ------------------- Detach all reference files ---------------------
; XFDA
; --------------------------------------------------------------------
(Defun C:XFDA ( )          ;定義“拆离所有外部参照”命令
        (setvar "cmdecho" 0)                ;命令执行过程不回显提示和输入
        (command "-xref" "Detach" "*")
          (princ)
)

(prompt "\n<拆离所有外部参照> 命令:XFDA  ------by sixth 2010-10-25")         ;提示如何执行程序




; -------------------- Bind selected reference files ---------------------
; XFB
; --------------------------------------------------------------------------

(Defun C:XFB ( )        ;定義“绑定选定参照文件”命令

        (setvar "cmdecho" 0)        ;命令执行过程不回显提示和输入

          (princ "\n选择要绑定的外部参照对象:")

          (if (setq SS (ssget))
                    (progn
                              (setq Rnames "")
                        (setq oldBT (getvar "BINDTYPE"))
                        (setq BT (if (null BT) BT oldBT))
                        (setq BT_tmp
                                (getstring
                                        (strcat "输入绑定类型[绑定(0)/插入(1)]<" (itoa BT) ">: ")
                                )
                        )
                        (if (null BT_tmp) (setq BT_tmp BT))
                        (setq BT (atoi BT_tmp))
                        (setvar "BINDTYPE" BT)
                              (repeat
                                (setq I (sslength SS))
                                (setq E (ssname SS (setq I (1- I))))
                                (setq ELIST (entget E))
                                (setq Rname (cdr (assoc 2 ELIST))) ;_参照名
                                (command "-xref" "Bind" Rname)
                                (setq Rnames (strcat Rname ", " Rnames)) ;_strcat 连接成字符串
                              );end repeat
                        (setvar "BINDTYPE" oldBT)
                              (prompt "\n已绑定的外部参照文件为:")
                              (princ Rnames)
                    );end progn
          );end if
        (princ)
)

(prompt "\n<绑定选定参照文件> 命令:XFB  ------by sixth 2013-09-29")         ;提示如何执行程序




; ------------------- Bind all reference files ---------------------
; XFBA
; --------------------------------------------------------------------
(Defun C:XFBA ( )          ;定義“绑定所有外部参照”命令
        (setvar "cmdecho" 0)                ;命令执行过程不回显提示和输入
        (setq oldBT (getvar "BINDTYPE"))
        (setq BT (if (null BT) BT oldBT))
        (setq BT_tmp
                (getstring
                        (strcat "输入绑定类型[绑定(0)/插入(1)]<" (itoa BT) ">: ")
                )
        )
        (if (null BT_tmp) (setq BT_tmp BT))
        (setq BT (atoi BT_tmp))
        (setvar "BINDTYPE" BT)
        (command "-xref" "Bind" "*")
        (setvar "BINDTYPE" oldBT)
          (princ)
)

(prompt "\n<绑定所有外部参照> 命令:XFBA  ------by sixth 2013-09-29")         ;提示如何执行程序[/code]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号  
©2000-2017 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2018-5-26 09:59 , Processed in 0.203875 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表