magicheno 发表于 2020-6-17 23:05:08

如何可以做到框选内外两个矩形框,删除两个矩形框之间的内容

本帖最后由 magicheno 于 2020-6-18 00:17 编辑

请教下大侠们,如何可以做到框选内外两个矩形框,然后删除A里面的任何内容,保留B里面的内容呢,这样子的功能可以实现么

start4444 发表于 2020-6-17 23:55:49

(defun c:tt5 (/ en1 en2 ss1 ss2)
(vl-load-com)
(setq en1 (car (entsel "\n选外框:")) en2 (car (entsel "\n选内框:")))
(setq ss1 (ssdel en1 (ssget "w" (car (enbox en1)) (cadr (enbox en1)))) ss2 (ssget "w" (car (enbox en2)) (cadr (enbox en2))))
(command "select" ss1 "_r" ss2 "" "ERASE" "p" "")       
)
(defun enbox (ename / ll ur)
(vla-getboundingbox (vlax-ename->vla-object ename) 'll 'ur)
(mapcar 'vlax-safearray->list (list ll ur))
)

magicheno 发表于 2020-6-18 00:18:30

本帖最后由 magicheno 于 2020-6-18 00:19 编辑

start4444 发表于 2020-6-17 23:55
(defun c:tt5 (/ en1 en2 ss1 ss2)
(vl-load-com)
(setq en1 (car (entsel "\n选外框:")) en2 (car (ents ...
大侠,还是你来帮忙了,真的感激啊,貌似如1楼的第二张图这样子可以实现么,我试了下回稍微有点问题,和两个框都相交的情况下貌似会出点错误的

start4444 发表于 2020-6-18 00:30:32

magicheno 发表于 2020-6-18 00:18
大侠,还是你来帮忙了,真的感激啊,貌似如1楼的第二张图这样子可以实现么,我试了下回稍微有点问题,和 ...

第二个图你要变成怎样的,如果是齐边缘就要做块做隐藏,论坛搜一下有g版的局部提取的程序

magicheno 发表于 2020-6-18 00:37:34

start4444 发表于 2020-6-18 00:30
第二个图你要变成怎样的,如果是齐边缘就要做块做隐藏,论坛搜一下有g版的局部提取的程序

想要的功能就是和说的差不多,删除两个框之间的所有实体的,保留内部框内的实体的

mokson 发表于 2020-6-18 08:06:46

选中小框,选择“隔离”呀

magicheno 发表于 2020-6-18 12:19:00

mokson 发表于 2020-6-18 08:06
选中小框,选择“隔离”呀

隔离,但是操作要多很多,效果貌似不怎么达到的,想要的是裁剪的那种效果的

yangyangyixia 发表于 2024-12-27 09:51:39

start4444 发表于 2020-6-17 23:55
(defun c:tt5 (/ en1 en2 ss1 ss2)
(vl-load-com)
(setq en1 (car (entsel "\n选外框:")) en2 (car (ents ...

大佬牛逼,我一直在找这个功能

阿然 发表于 2025-1-13 11:49:02

选第一个大框,然后在提示选择对象的时候输入“r”,再选拉个小框就可以了。如下:
命令: e ERASE
选择对象: 指定对角点: 找到 6 个
选择对象: r
删除对象: 指定对角点: 找到 1 个,删除 1 个,总计 5 个
删除对象:

magicheno 发表于 2025-1-16 22:16:15

阿然 发表于 2025-1-13 11:49
选第一个大框,然后在提示选择对象的时候输入“r”,再选拉个小框就可以了。如下:
命令: e ERASE
选择对 ...

大佬高手,从来没这么用过
页: [1] 2
查看完整版本: 如何可以做到框选内外两个矩形框,删除两个矩形框之间的内容