乐筑天下

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

[编程交流] 打开时发出外部参照警报

[复制链接]

8

主题

24

帖子

16

银币

初来乍到

Rank: 1

铜币
41
发表于 2022-7-5 18:44:46 | 显示全部楼层 |阅读模式
大家好
 
我们使用阿卡多克。lsp在打开dwg文件时加载一些lsp例程。
我想在此文件中添加一个“警报”功能。
 
理想情况下,我希望打开dwg,然后如果发现任何未加载的外部参照,请将
打开警报框,通知用户图形包含卸载的外部参照。
 
我已获得以下代码。。
 
  1. ;;code by PBEJSE
  2. (defun c:SelXref  (/ Xr_lst)
  3. (vlax-for blk (vla-get-blocks
  4. (vla-get-activedocument (vlax-get-acad-object)))
  5. (if (eq (vla-get-isXref blk) :vlax-true)
  6. (setq Xr_lst
  7. (cons
  8. (cons
  9. (vla-get-name blk)
  10. (if (> (vla-get-count blk) 0)
  11. "Loaded" "Unloaded"))
  12. Xr_lst))))
  13. (foreach n Xr_lst (print n))
  14. (princ))

 
我想一个类似的代码来做什么,我喜欢,但挣扎。
有人能给我指路吗?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 19:14:38 | 显示全部楼层
试试这个:
 
  1. (defun c:XrefAlert (/ l)
  2. (vlax-for blk (vla-get-blocks
  3.                  (vla-get-activedocument (vlax-get-acad-object))
  4.                )
  5.    (if (and (eq (vla-get-isXref blk) :vlax-true)
  6.             (= 0 (setq a (vla-get-count blk)))
  7.             )
  8.      (setq l (vl-list* "," (vla-get-name blk) l))
  9.      )
  10. )
  11. (if l (alert (strcat "Name of Unloaded Xrefs drawings < " (apply 'strcat (cdr l)) " >")))
  12. (princ)
  13. )(vl-load-com)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:29:55 | 显示全部楼层
另一个:
  1. (   (lambda ( / s x )
  2.        (while (setq x (tblnext "block" (not x)))
  3.            (if (= 4 (logand 36 (cdr (assoc 70 x))))
  4.                (setq s (vl-list* "\n" (cdr (assoc 2 x)) s))
  5.            )
  6.        )
  7.        (if s (alert (strcat "This drawing contains the following unloaded xrefs:\n" (apply 'strcat s))))
  8.        (princ)
  9.    )
  10. )
回复

使用道具 举报

8

主题

24

帖子

16

银币

初来乍到

Rank: 1

铜币
41
发表于 2022-7-5 20:02:55 | 显示全部楼层
谢谢Tharwat和Lee Mac。
2个很棒的建议。也适用于嵌套附着的外部参照!
谢谢你的时间。
 
进一步说,这可以通过卸载图像和PDF参考底图来实现吗??
 
干杯
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 13:55 , Processed in 0.533411 second(s), 60 queries .

© 2020-2025 乐筑天下

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