打开时发出外部参照警报
大家好我们使用阿卡多克。lsp在打开dwg文件时加载一些lsp例程。
我想在此文件中添加一个“警报”功能。
理想情况下,我希望打开dwg,然后如果发现任何未加载的外部参照,请将
打开警报框,通知用户图形包含卸载的外部参照。
我已获得以下代码。。
;;code by PBEJSE
(defun c:SelXref(/ Xr_lst)
(vlax-for blk (vla-get-blocks
(vla-get-activedocument (vlax-get-acad-object)))
(if (eq (vla-get-isXref blk) :vlax-true)
(setq Xr_lst
(cons
(cons
(vla-get-name blk)
(if (> (vla-get-count blk) 0)
"Loaded" "Unloaded"))
Xr_lst))))
(foreach n Xr_lst (print n))
(princ))
我想一个类似的代码来做什么,我喜欢,但挣扎。
有人能给我指路吗? 试试这个:
(defun c:XrefAlert (/ l)
(vlax-for blk (vla-get-blocks
(vla-get-activedocument (vlax-get-acad-object))
)
(if (and (eq (vla-get-isXref blk) :vlax-true)
(= 0 (setq a (vla-get-count blk)))
)
(setq l (vl-list* "," (vla-get-name blk) l))
)
)
(if l (alert (strcat "Name of Unloaded Xrefs drawings < " (apply 'strcat (cdr l)) " >")))
(princ)
)(vl-load-com)
另一个:
( (lambda ( / s x )
(while (setq x (tblnext "block" (not x)))
(if (= 4 (logand 36 (cdr (assoc 70 x))))
(setq s (vl-list* "\n" (cdr (assoc 2 x)) s))
)
)
(if s (alert (strcat "This drawing contains the following unloaded xrefs:\n" (apply 'strcat s))))
(princ)
)
) 谢谢Tharwat和Lee Mac。
2个很棒的建议。也适用于嵌套附着的外部参照!
谢谢你的时间。
进一步说,这可以通过卸载图像和PDF参考底图来实现吗??
干杯
页:
[1]