有办法判断块是否被xclip裁切过吗?
有办法判断块是否被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版曾经写过这个代码 自己搜下 ;;判断图元是否为剪裁块
(defun IsXClip (en2 / xdict)
(if (setq xdict (cdr (assoc 360 (entget en2))))
(IsXClip xdict)
(if
(and (eq "SPATIAL_FILTER" (cdr (assoc 0 (setq en2 (entget en2)))))
(eq 1 (cdr (assoc 71 en2)))
)
en2
)
)
)
少了,挨个点一下,看有没有裁剪框,多了就得代码了。 Bao_lai 发表于 2025-10-31 09:05
这个方法可以识别,提取扩展名,数据在扩展立面。 (command-s "._XCLIP" blkref "" "_N" "Y" "_S" boundary_obj "")
页:
[1]