mokson 发表于 2018-5-17 10:49:10

使用SUBTRACT相减实体后,如何保留被删除的实体?

使用SUBTRACT命令对实体进行差集后,往往是会将被选的实体也删除了,这样对很不方便。目前只能是复制一个出来 ,再用差集的方法。请问有直接保留被删除的实体的方法吗?

USER2128 发表于 2018-5-18 08:03:09

很简单,先COPY一个,然后再SUBTRACT

mokson 发表于 2018-5-18 08:16:42

USER2128 发表于 2018-5-18 08:03
很简单,先COPY一个,然后再SUBTRACT

这个我也知道呀,我说的是一次性到位的。使用完命令后,被减的对象仍然存在。

USER2128 发表于 2018-5-18 08:38:26

本帖最后由 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)
)
;;;=================================================================*

mokson 发表于 2018-5-18 09:46:53

USER2128 发表于 2018-5-18 08:38


亲测完美,表示完全满足我想要的功能。
严重感谢 USER2128 大侠的帮忙。
页: [1]
查看完整版本: 使用SUBTRACT相减实体后,如何保留被删除的实体?