明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 789|回复: 13

[提问] 很奇怪IMAGE实体,IMAGE指令看不到有IMAGE实体对象(用deepseek折腾几次已经解决,谢)

[复制链接]
发表于 2025-6-16 19:37:17 | 显示全部楼层 |阅读模式
本帖最后由 flowerson 于 2025-6-18 17:29 编辑

奇怪,附件中的图纸, IMAGE指令看不到有IMAGE实体对象,(setq ss (ssget "X" '((0 . "IMAGE")))) 返回有对象,请问有高手知道怎么回事吗?(最后用deepseek折腾几次搞好了,谢谢!)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
回复

使用道具 举报

 楼主| 发表于 2025-6-18 12:38:28 | 显示全部楼层
多次deepseek后正确了,代码如下:
(defun c:DelEmptyImage (/ ss i ent obj imgPath imgWidth imgHeight result)
  (vl-load-com)
  (if (setq ss (ssget "_X" '((0 . "IMAGE")))) ; 正确获取光栅图像选择集
    (progn
      (setq i 0)
      (repeat (sslength ss)
        (setq ent (ssname ss i)
              i (1+ i)
              imgPath ""
              imgWidth 0
              imgHeight 0
        )
        (setq obj (vlax-ename->vla-object ent))        ;; 安全获取图像属性
        (setq result (vl-catch-all-apply 'vla-get-ImageFile (list obj)))
        (if (not (vl-catch-all-error-p result))
          (setq imgPath result)
        )
        (setq result (vl-catch-all-apply 'vlax-get-property (list obj 'ImageWidth)))
        (if (not (vl-catch-all-error-p result))
          (setq imgWidth result)
        )
        (setq result (vl-catch-all-apply 'vlax-get-property (list obj 'ImageHeight)))
        (if (not (vl-catch-all-error-p result))
          (setq imgHeight result)
        )        ;; 判空条件:路径无效或尺寸≤0
        (if (or
              (not (findfile imgPath)) ; 路径不可访问
              (= imgPath "")           ; 路径为空
              (<= imgWidth 0)          ; 宽度无效
              (<= imgHeight 0)         ; 高度无效
            )
          (progn
            (vla-delete obj)
            (princ (strcat "\n删除无效图像: " imgPath))
          )
        )
      )
      (princ (strcat "\n共处理 " (itoa (sslength ss)) " 个图像"))
    )
    (princ "\n未找到光栅图像")
  )
  (princ)
)
回复 支持 反对

使用道具 举报

发表于 2025-6-18 08:15:56 | 显示全部楼层
**图像句柄 37C 无名称**    **图像句柄 37C 无路径**
**图像句柄 37D 无名称**    **图像句柄 37D 无路径**
**图像句柄 37E 无名称**    **图像句柄 37E 无路径**
**图像句柄 37F 无名称**    **图像句柄 37F 无路径**
**图像句柄 380 无名称**    **图像句柄 380 无路径**
**图像句柄 381 无名称**    **图像句柄 381 无路径**
**图像句柄 382 无名称**    **图像句柄 382 无路径**
**图像句柄 383 无名称**    **图像句柄 383 无路径**
**图像句柄 384 无名称**    **图像句柄 384 无路径**
**图像句柄 385 无名称**    **图像句柄 385 无路径**
**图像句柄 386 无名称**    **图像句柄 386 无路径**
**图像句柄 387 无名称**    **图像句柄 387 无路径**
**图像句柄 388 无名称**    **图像句柄 388 无路径**
**图像句柄 389 无名称**    **图像句柄 389 无路径**
**图像句柄 38A 无名称**    **图像句柄 38A 无路径**
**图像句柄 38B 无名称**    **图像句柄 38B 无路径**
**图像句柄 38C 无名称**    **图像句柄 38C 无路径**
**图像句柄 38D 无名称**    **图像句柄 38D 无路径**
**图像句柄 38E 无名称**    **图像句柄 38E 无路径**
**图像句柄 38F 无名称**    **图像句柄 38F 无路径**
**图像句柄 390 无名称**    **图像句柄 390 无路径**
**图像句柄 391 无名称**    **图像句柄 391 无路径**
**图像句柄 392 无名称**    **图像句柄 392 无路径**
**图像句柄 393 无名称**    **图像句柄 393 无路径**
回复 支持 反对

使用道具 举报

发表于 2025-6-19 10:56:35 | 显示全部楼层
不能直接过滤,需要遍历是判断
(foreach obj sset
(and (= (entget (cdr (assoc 340 (entget obj))))
           (entget (cdr (assoc 360 (entget obj))))
           nil
       )
       (entdel obj)
)
)
回复 支持 反对

使用道具 举报

发表于 2025-6-16 19:54:00 来自手机 | 显示全部楼层
会不会层隐藏?
回复 支持 反对

使用道具 举报

发表于 2025-6-16 20:14:03 | 显示全部楼层
没有删除图内的image就直接在image界面上把image给detach掉了。所以图里面的image对象就没有了340和360对应的图元,变成不可见的垃圾残留图元。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-17 10:40:01 | 显示全部楼层
kozmosovia 发表于 2025-6-16 20:14
没有删除图内的image就直接在image界面上把image给detach掉了。所以图里面的image对象就没有了340和360对应 ...

如何清除掉呢?如果图上还有真实其它图混一起的时候?谢谢。
回复 支持 反对

使用道具 举报

发表于 2025-6-17 11:30:24 | 显示全部楼层
(setq ss (ssget "X" '((0 . "IMAGE")))) 之后遍历,如果340和360不合法就删除
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-18 10:14:22 | 显示全部楼层
kozmosovia 发表于 2025-6-17 11:30
(setq ss (ssget "X" '((0 . "IMAGE")))) 之后遍历,如果340和360不合法就删除

有办法选出来先删除吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-18 10:16:01 | 显示全部楼层
crtrccrt 发表于 2025-6-18 08:15
**图像句柄 37C 无名称**    **图像句柄 37C 无路径**
**图像句柄 37D 无名称**    **图像句柄 37D 无路径 ...

是怎样看到的?有办法选出来先删除吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-18 17:34:57 | 显示全部楼层
deepseek解决的过程还挺曲折的,其中一点它[backcolor=rgba(245, 246, 249, 0.5)](setq ss (ssget "_X" '((0 . "RASTERIMAGE"))))这个来获取图像实体就是错的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-8-12 09:34 , Processed in 0.199278 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表