使用SUBTRACT相减实体后,如何保留被删除的实体?
使用SUBTRACT命令对实体进行差集后,往往是会将被选的实体也删除了,这样对很不方便。目前只能是复制一个出来 ,再用差集的方法。请问有直接保留被删除的实体的方法吗?很简单,先COPY一个,然后再SUBTRACT USER2128 发表于 2018-5-18 08:03
很简单,先COPY一个,然后再SUBTRACT
这个我也知道呀,我说的是一次性到位的。使用完命令后,被减的对象仍然存在。 本帖最后由 USER2128 于 2018-5-18 08:40 编辑
;;;=================================================================*
;;;差值程序,减去、而不删除所要减去的实体
;;; BY USER2128(HLCAD)
(defun c:SU1 (/ ss1 ss2)
(and (princ "\n选择要从中减去的实体、曲面和面域...")
(setq ss1 (ssget ))
(princ "\n选择要减去的实体、曲面和面域...")
(setq ss2 (ssget ))
)
(setq ss2 (vl-remove-if 'Listp (mapcar 'cadr (ssnamex SS2))))
(foreach en ss2
(command "_.copy" en "" "0,0,0" "@")
(command "_.subtract" ss1 "" (entlast) "")
)
(princ)
)
;;;=================================================================*
USER2128 发表于 2018-5-18 08:38
亲测完美,表示完全满足我想要的功能。
严重感谢 USER2128 大侠的帮忙。
页:
[1]