乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 86|回复: 5

找出文件被xreffed到哪些图纸

[复制链接]

37

主题

195

帖子

16

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
333
发表于 2008-8-12 10:22:31 | 显示全部楼层 |阅读模式
如果我有一个用作基本外部参照的图形。有什么方法可以找出哪些图形使用此基础图形作为外部参照?
当我更改此“基础平面图”时,我正在尝试跟踪哪些图纸将会更改(我认为如果我们使用Projectwise,我可以做到这一点,但我正在尝试确定没有该软件是否可以做到这一点)
非常感谢

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

37

主题

195

帖子

16

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
333
发表于 2008-8-12 10:30:19 | 显示全部楼层
我一直在设计中心使用搜索功能。 将“查找”框更改为外部参照。 对我来说似乎工作正常。
我也看到其他人在VBA中这样做。
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
7
发表于 2008-8-12 11:10:13 | 显示全部楼层
Andy,
感谢您的回复,我非常希望这对我有用,但我一定是做错了什么,因为如果我在下拉框中选择xrefs,我无法让它找到任何xrefs...
回复

使用道具 举报

37

主题

195

帖子

16

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
333
发表于 2008-8-12 11:43:52 | 显示全部楼层
它还没有让我失望,你在按图示搜索吗?
回复

使用道具 举报

28

主题

249

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
361
发表于 2008-8-12 11:47:59 | 显示全部楼层
这是我在@CADTutor;当时我得到了LCE的很多帮助。他说它仍在开发中,因为他正在尝试添加对图像/OLE/等的支持 " msg))
        )
    )
    ;----------------------------------------------------------
    (defun FindXrefs (doc str / tempName tempList)
        
        (vlax-for i (vla-get-Blocks doc)
            (if
                (and
                    (= (vla-get-IsXref i) :vlax-true)
                    (or
                        (wcmatch (strcase (setq tempName (vla-get-Name i))) (strcase str))
                        (= str "")
                    )
                )
                (setq tempList (cons tempName tempList))
            )
        )
        tempList
    )
    ;-------------------------------------------------
    (defun Directory-Dia ( Message / sh folder folderobject result)
    ;; By Tony Tanzillo
    ;; Modified by Tim Willey
    ;; 16 Will let you type in the path
    ;; 64 Will let you create a new folder
            (vl-load-com)
            (setq sh
                    (vla-getInterfaceObject
                            (vlax-get-acad-object)
                            "Shell.Application"
                    )
            )
            (setq folder
                    (vlax-invoke-method
                            sh
                            'BrowseForFolder
                            (vla-get-HWND (vlax-get-Acad-Object))
                            Message
                            0 ; This is the bit number to change.
                    )
            )
            (vlax-release-object sh)
            (if folder
                    (progn
                            (setq folderobject
                                    (vlax-get-property folder 'Self)
                            )
                            (setq result
                                    (vlax-get-property FolderObject 'Path)
                            )
                            (vlax-release-object folder)
                            (vlax-release-object FolderObject)
                            (if (/= (substr result (strlen result)) "\\")
                                    (setq result (strcat result "\\"))
                                    result
                            )
                    )
            )
    )
    ;----------------------------------------------------------------
    (defun MultiSelect (Listof Message Toggle / DiaLoad tmpStr tmpTog tmpList)
            (setq DiaLoad (load_dialog "MyDialogs.dcl"))
            (if (new_dialog "MultiSelect" DiaLOad)
                    (progn
                            (start_list "listbox" 3)
                            (mapcar 'add_list Listof)
                            (end_list)
                            (if Message
                            (set_tile "text1" Message)
                            )
                            (if (not Toggle)
                                    (mode_tile "toggle1" 1)
                            )
                            (mode_tile "listbox" 2)
                            (action_tile "accept"
                                    "(progn
                                            (setq tmpStr (get_tile \"listbox\"))
                                            (if Toggle
                                                    (setq tmpTog (get_tile \"toggle1\"))
                                            )
                                            (done_dialog 1)
                                    )"
                            )
                            (action_tile "cancel" "(done_dialog 0)")
                            (if (= (start_dialog) 1)
                                    (progn
                                            (if tmpStr
                                                    (setq tmpList (read (strcat "(" tmpStr ")")))
                                            )
                                            (if (= tmpTog "1")
                                                    (cons T tmpList)
                                                    tmpList
                                            )
                                    )
                            )
                    )
            )
    )
    ;----------------------------------------------------------------
    (if
        (and
            (setq CkStr (getstring "\n Enter name to check for
  • : "))
                (setq DirPath (Directory-Dia "Select directory to search for xrefs."))
                (setq DwgList (vl-directory-files DirPath "*.dwg" 1))
                (setq DwgList (vl-sort DwgList '(lambda (a b) ( " msg))
            )
        )
        ;----------------------------------------------------------
        (defun FindXrefs (doc str / tempName tempList)
            
            (vlax-for i (vla-get-Blocks doc)
                (if
                    (and
                        (= (vla-get-IsXref i) :vlax-true)
                        (or
                            (wcmatch (strcase (setq tempName (vla-get-Name i))) (strcase str))
                            (= str "")
                        )
                    )
                    (setq tempList (cons tempName tempList))
                )
            )
            tempList
        )
        ;-------------------------------------------------
        (defun Directory-Dia ( Message / sh folder folderobject result)
        ;; By Tony Tanzillo
        ;; Modified by Tim Willey
        ;; 16 Will let you type in the path
        ;; 64 Will let you create a new folder
                (vl-load-com)
                (setq sh
                        (vla-getInterfaceObject
                                (vlax-get-acad-object)
                                "Shell.Application"
                        )
                )
                (setq folder
                        (vlax-invoke-method
                                sh
                                'BrowseForFolder
                                (vla-get-HWND (vlax-get-Acad-Object))
                                Message
                                0 ; This is the bit number to change.
                        )
                )
                (vlax-release-object sh)
                (if folder
                        (progn
                                (setq folderobject
                                        (vlax-get-property folder 'Self)
                                )
                                (setq result
                                        (vlax-get-property FolderObject 'Path)
                                )
                                (vlax-release-object folder)
                                (vlax-release-object FolderObject)
                                (if (/= (substr result (strlen result)) "\\")
                                        (setq result (strcat result "\\"))
                                        result
                                )
                        )
                )
        )
        ;----------------------------------------------------------------
        (defun GetAllFiles (dir ext / FileList)
            (if (/= (substr dir (strlen dir)) "\\")
                (setq dir (strcat dir "\\"))
            )
            (if (setq tempList (vl-directory-files dir ext 1))
                (setq FileList (append FileList (mapcar '(lambda (x) (strcat dir x)) tempList)))
            )
            (if (setq tempList (cddr (vl-directory-files dir "*" -1)))
                (foreach i tempList
                    (setq FileList (append FileList (GetAllFiles (strcat dir i) ext)))
                )
            )
            FileList
        )
        ;----------------------------------------------------------------
        (if
            (and
                (setq CkStr (getstring "\n Enter name to check for
  • : "))
                (setq DirPath (Directory-Dia "Select directory to search for xrefs."))
                (setq DwgList (GetAllFiles DirPath "*.dwg"))
                (setq Opened (open (setq tempFile (strcat Dirpath "XrefFindReport.txt")) "w"))
                (setq dbxApp
                    (if (< (atoi (setq oVer (substr (getvar "acadver") 1 2))) 16)
                        (vla-GetInterfaceObject (vlax-get-acad-object) "ObjectDBX.AxDbDocument")
                        (vla-GetInterfaceObject (vlax-get-acad-object) (strcat "ObjectDBX.AxDbDocument." oVer))
                    )
                )
            )
            (foreach i DwgList
                (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-Open (list dbxApp i)))
                    (write-line (strcat "++ Error opening file: " i "\n") Opened)
                    (if (setq XrFound (FindXrefs dbxApp CkStr))
                        (progn
                            (write-line (strcat "- " i) Opened)
                            (foreach j XrFound
                                (write-line (strcat "    " j) Opened)
                            )
                            (write-line "\n" Opened)
                        )
                    )
                )
            )
        )
        (prompt (strcat "\n Log file: " tempFile))
        (*error* nil)
        (princ)
    )
    [/code]
  • 回复

    使用道具 举报

    37

    主题

    195

    帖子

    16

    银币

    后起之秀

    Rank: 20Rank: 20Rank: 20Rank: 20

    铜币
    333
    发表于 2008-8-12 11:54:36 | 显示全部楼层
    这很光滑的蒂姆
    回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 微信公众平台

    • 扫描访问手机版

    • 点击图片下载手机App

    QQ|关于我们|小黑屋|乐筑天下 繁体中文

    GMT+8, 2025-8-19 19:07 , Processed in 3.410636 second(s), 65 queries .

    © 2020-2025 乐筑天下

    联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表