检查插入的图像名称
如何检查图纸中是否有图片名称。因为如果你尝试插入另一个同名的图像,是在寻找第一个。Costin 这将列出图形中加载的所有图像所在的路径-不考虑重复:
(if (setq ssetImages (ssget "_X" '((0 . "IMAGE"))))
(while (> (sslength ssetImages) 0)
(print (strcat "\n"
(cdr (assoc 1 (entget (cdr (assoc 340 (entget (setq imageItem (ssname ssetImages 0))))))))))
(setq ssetImages (ssdel imageItem ssetImages))
)
) 谢谢你的主意,我试试看。
我在1970年和1930年的赤平投影中做了一个计算命名计划的例行程序,如果图像已经插入,但发现没有插入路径存储的图像。
Costin 通过Visual LISP,还有另一种方法:
(defun _ListImages ( doc )
(vlax-for f (vla-get-filedependencies doc)
(if (= "acad:image" (strcase (vla-get-feature f) t))
(print (vla-get-fullfilename f))
)
)
(princ)
)
(_ListImages (vla-get-activedocument (vlax-get-acad-object))) 我们测试了两个建议。Dxf代码的经典版本工作良好。ActiveX版本不工作。我附上了一个例子。
将Tiff文件以dwg文件以外的其他方式存储以查看问题。尝试插入TIFF文件。这就是我想要解决的问题。
Tiff示例。图纸
示例图形中的图像未找到,因此未在“文件依赖项”集合中列出。
我的ActiveX代码与MSasu的代码不同;我的代码正在迭代文件依赖项集合,而MSasu的代码正在检查图形数据库中的图像实体。
页:
[1]