明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1191|回复: 4

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

[复制链接]
发表于 2018-5-17 10:49:10 | 显示全部楼层 |阅读模式
使用SUBTRACT命令对实体进行差集后,往往是会将被选的实体也删除了,这样对很不方便。目前只能是复制一个出来 ,再用差集的方法。请问有直接保留被删除的实体的方法吗?

发表于 2018-5-18 08:03:09 | 显示全部楼层
很简单,先COPY一个,然后再SUBTRACT
 楼主| 发表于 2018-5-18 08:16:42 | 显示全部楼层
USER2128 发表于 2018-5-18 08:03
很简单,先COPY一个,然后再SUBTRACT

这个我也知道呀,我说的是一次性到位的。使用完命令后,被减的对象仍然存在。
发表于 2018-5-18 08:38:26 | 显示全部楼层
本帖最后由 USER2128 于 2018-5-18 08:40 编辑

  1. ;;;=================================================================*
  2. ;;;差值程序,减去、而不删除所要减去的实体
  3. ;;; BY USER2128(HLCAD)
  4. (defun c:SU1 (/ ss1 ss2)
  5.   (and (princ "\n选择要从中减去的实体、曲面和面域...")
  6.        (setq ss1 (ssget ))
  7.        (princ "\n选择要减去的实体、曲面和面域...")
  8.        (setq ss2 (ssget ))
  9.        )
  10.   (setq ss2 (vl-remove-if 'Listp (mapcar 'cadr (ssnamex SS2))))
  11.   (foreach en ss2
  12.     (command "_.copy" en "" "0,0,0" "@")
  13.     (command "_.subtract" ss1 "" (entlast) "")
  14.     )
  15.   (princ)
  16.   )
  17. ;;;=================================================================*

 楼主| 发表于 2018-5-18 09:46:53 | 显示全部楼层

亲测完美,表示完全满足我想要的功能。
严重感谢 USER2128 大侠的帮忙。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 10:04 , Processed in 0.160168 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表