有办法判断块是否被xclip裁切过吗?


网友答: 判断块是否存在102组码
(defun c:tt2 ()
  (setq ss (ssget '((0 . "INSERT"))))
    (progn
      (setq i -1
            ss1(ssadd)
      )
      (while (setq e (ssname ss (setq i (1+ i))))
        (if (assoc 102 (entget e))
          (setq ss1 (ssadd e ss1))
        )
      )
      (sssetfirst nil ss1)
    )
  (princ)
)

网友答: 有         

网友答:
chen3732088 发表于 2025-10-30 18:03
判断块是否存在102组码
(defun c:tt2 ()
  (setq ss (ssget '((0 . "INSERT"))))

感谢,这个最早也是这样用的,后来发现,动态块也有102的组码。单独判断102组码没办法区分,裁切块和动态块的区别。会把动态块也当裁切块。我这边已经找到解决办法了。稍后整理下发出来,大家参考下。

网友答: G版  曾经写过这个代码   自己搜下

网友答:
  1. ;;判断图元是否为剪裁块
  2. (defun IsXClip (en2 / xdict)
  3.   (if (setq xdict (cdr (assoc 360 (entget en2))))
  4.     (IsXClip xdict)
  5.     (if
  6.       (and (eq "SPATIAL_FILTER" (cdr (assoc 0 (setq en2 (entget en2)))))
  7.          (eq 1 (cdr (assoc 71 en2)))
  8.       )
  9.       en2
  10.     )
  11.   )
  12. )



网友答: 少了,挨个点一下,看有没有裁剪框,多了就得代码了。

网友答:
Bao_lai 发表于 2025-10-31 09:05

这个方法可以识别,提取扩展名,数据在扩展立面。

网友答: (command-s "._XCLIP" blkref "" "_N" "Y" "_S" boundary_obj "")
  • 上一篇:为何使用天正建筑t20v7就会出现按d键重复上一次
  • 下一篇:没有了