有办法判断块是否被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)
)网友答: 有 网友答:
感谢,这个最早也是这样用的,后来发现,动态块也有102的组码。单独判断102组码没办法区分,裁切块和动态块的区别。会把动态块也当裁切块。我这边已经找到解决办法了。稍后整理下发出来,大家参考下。网友答: G版 曾经写过这个代码 自己搜下网友答:
网友答: 少了,挨个点一下,看有没有裁剪框,多了就得代码了。网友答:
这个方法可以识别,提取扩展名,数据在扩展立面。网友答: (command-s "._XCLIP" blkref "" "_N" "Y" "_S" boundary_obj "")
网友答: 判断块是否存在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 "")