乐筑天下

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

[编程交流] 检查图纸是否正确

[复制链接]

17

主题

193

帖子

179

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2022-7-5 22:35:07 | 显示全部楼层 |阅读模式
大家好。。。
 
我只是想知道是否有一种方法可以在不打开图形的情况下检查图形中是否存在外部参照。检查整个文件夹并列出哪个图形具有外部参照。
 
原因是什么?通常我们使用e-transmit绑定多个图形,并且知道e-transmit命令;如果有一个卸载/无差异的图形,它将跳过该文件并转到下一个文件。
 
日志报告也被删除,我们无法跟踪每个图形中是否有外部参照,只能逐个打开。
 
这能做到吗?
回复

使用道具 举报

5

主题

1074

帖子

1088

银币

初来乍到

Rank: 1

铜币
9
发表于 2022-7-5 22:47:04 | 显示全部楼层
我不使用设计中心,但我怀疑有一种简单的方法,
如果我想这样做,我会从这里开始。
回复

使用道具 举报

10

主题

895

帖子

887

银币

初来乍到

Rank: 1

铜币
49
发表于 2022-7-5 22:50:55 | 显示全部楼层
使用“设计中心”、“搜索”、“左上角”“拾取外部参照”进行查找,然后从那里继续。
回复

使用道具 举报

5

主题

1074

帖子

1088

银币

初来乍到

Rank: 1

铜币
9
发表于 2022-7-5 22:57:06 | 显示全部楼层
 
感谢rkent填补空白,我知道这是从你之前描述的帖子开始的,
我在读了你的帖子后试了一下,印象非常深刻,这确实是一个很好的资源。
回复

使用道具 举报

17

主题

193

帖子

179

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2022-7-5 23:03:37 | 显示全部楼层
这个过程可以翻译成lisp吗?
回复

使用道具 举报

7o7

0

主题

93

帖子

93

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 23:14:11 | 显示全部楼层
尝试此操作,确保所选目录中没有打开的文件。
  1. (defun c:xct()
  2. (vl-load-com)
  3. (setq dir (vl-directory-files (setq dirname (strcat (vl-filename-directory  (getfiled "Open file" (getvar "dwgprefix") "dwg" 4) ) "\")) ))
  4. (foreach file dir
  5.    (if (and (/= file ".") (/= file ".."))
  6.      (progn
  7. (setq odbx (vla-GetInterfaceObject (vlax-get-acad-object) (strcat "ObjectDBX.AxDbDocument." (itoa (atoi (getvar "AcadVer"))))))
  8.        (vla-open odbx (strcat dirname file))
  9.        (setq st "" n 0)
  10.        (vlax-for item (vla-get-Blocks odbx)
  11.          (if (= (vla-get-IsXRef item) :vlax-true)
  12.            (setq st (strcat st (vla-get-Name item) "; ")
  13.           n (1+ n))
  14.          )
  15.        )
  16.        (if (/= st "")
  17.          (princ (strcat "\nFile " (vla-get-Name odbx) " has " (itoa n) " Xref" (if (> n 1) "s" "") " : " st)))
  18.        (vlax-release-object odbx)
  19.      )
  20.    )
  21. )
  22. (textscr) (princ)
  23. )
回复

使用道具 举报

17

主题

193

帖子

179

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2022-7-5 23:21:09 | 显示全部楼层
很抱歉回复太晚。。。
我收到这个错误
 
  1. ; error: Automation Error. Description was not provided.
回复

使用道具 举报

7o7

0

主题

93

帖子

93

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 23:25:16 | 显示全部楼层
你能上传一些有外部参照并且出错的文件吗?
回复

使用道具 举报

23

主题

132

帖子

112

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
114
发表于 2022-7-5 23:31:10 | 显示全部楼层
作为lisp的替代方法。
使用参考管理器。转到windows start,查找autodesk文件夹,在这里可以找到名为reference manager的程序。找到要检查的图形,它将列出图形中引用的所有项目。如果按类型排序,您将看到哪些图形中有外部参照(如果有)。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:39:14 | 显示全部楼层
7o7小时
 
之所以出现这个错误,是因为OP在同一个文件夹中可能有其他Autocad格式的文件,所以为了解决这个错误,我会这样重写它。
 
  1. (setq dir (vl-directory-files (setq dirname (strcat (vl-filename-directory  (getfiled "Open file" (getvar "dwgprefix") "dwg" 4) ) "\")) [color=magenta]"*.dwg"[/color] [color=seagreen]1[/color]))
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-18 12:24 , Processed in 2.068864 second(s), 72 queries .

© 2020-2025 乐筑天下

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