乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: kasra

[编程交流] 删除边界外的对象

[复制链接]

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 07:14:29 | 显示全部楼层
这是我测试的一个示例。。。。。
实例图纸
回复

使用道具 举报

21

主题

80

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-6 07:17:08 | 显示全部楼层
我从你的dwg上看出来,你也想修剪一下。试着去theSwamp。组织并搜索CookieCutter2或使用Express Tools Extrim。
回复

使用道具 举报

4

主题

940

帖子

961

银币

初来乍到

Rank: 1

铜币
12
发表于 2022-7-6 07:23:46 | 显示全部楼层
我很担心。
是的,CookieCutter2可能是最好的选择。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 07:25:57 | 显示全部楼层
不,这是一个例子。
我需要一个操作,包括extrim和擦除闭合多段线中的所有对象。
回复

使用道具 举报

21

主题

80

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-6 07:29:28 | 显示全部楼层
所以只需执行extrim,然后使用提供的例程。
在同样的情况下,我只执行extrim,然后我编写了一个小例程,它将删除我没有选择的所有内容。我们只讨论了两个步骤。
 
这是:http://www.cadtutor.net/forum/showpost.php?p=305140&postcount=70
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 07:32:01 | 显示全部楼层
谢谢你的关注。
这是一个好主意:首先运行extrim命令,然后删除多段线内外的所有对象。
但主要问题是,当闭合多段线的形状不规则时,如何选择多段线内外的对象。
回复

使用道具 举报

21

主题

80

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-6 07:35:08 | 显示全部楼层
探索选择选项:
 
  1. (defun c:EIO (/ _p2ss o ent ssIn ssOut)
  2. ;; Erase Inside/Outside of selected LWPolyline (objects touching LWPolyline are deleted)
  3. ;; Alan J. Thompson, 04.02.10
  4. (or *EIO:Opt* (setq *EIO:Opt* "Inside"))
  5. (setq _p2ss (lambda (ename)
  6.                (ssget "_CP"
  7.                       ((lambda (e / l)
  8.                          (foreach x e (and (eq 10 (car x)) (setq l (cons (cdr x) l))))
  9.                          (reverse l)
  10.                        ) ;_ lambda
  11.                         (entget ename)
  12.                       )
  13.                ) ;_ ssget
  14.              ) ;_ lambda
  15. ) ;_ setq
  16. (and (setq o (car (entsel "\nSelect LWPolyline: ")))
  17.       (or (eq "LWPOLYLINE" (cdr (assoc 0 (setq ent (entget o)))))
  18.           (alert "Invalid object!")
  19.       ) ;_ or
  20.       (not (initget 0 "Inside Outside"))
  21.       (setq *EIO:Opt*
  22.              (cond
  23.                ((getkword (strcat "\nSpecify erase option [inside/Outside] <" *EIO:Opt* ">: ")))
  24.                (*EIO:Opt*)
  25.              ) ;_ cond
  26.       ) ;_ setq
  27.       (cond
  28.         ((and (eq *EIO:Opt* "Inside") (setq ssIn (_p2ss o)))
  29.          ((lambda (i)
  30.             (while (setq e (ssname ssIn (setq i (1+ i))))
  31.               (or (eq o e) (vl-catch-all-apply (function entdel) (list e)))
  32.             ) ;_ while
  33.           ) ;_ lambda
  34.            -1
  35.          )
  36.         )
  37.         ((eq *EIO:Opt* "Outside")
  38.          (setq ssIn  (_p2ss o)
  39.                ssOut (ssget "_X" (list (cons 410 (getvar 'ctab))))
  40.          ) ;_ setq
  41.          ((lambda (i)
  42.             (while (setq e (ssname ssOut (setq i (1+ i))))
  43.               (if ssIn
  44.                 (or (ssmemb e ssIn) (eq o e) (vl-catch-all-apply (function entdel) (list e)))
  45.                 (or (eq o e) (vl-catch-all-apply (function entdel) (list e)))
  46.               ) ;_ if
  47.             ) ;_ while
  48.           ) ;_ lambda
  49.            -1
  50.          )
  51.         )
  52.       ) ;_ cond
  53. ) ;_ and
  54. (princ)
  55. ) ;_ defun

 
见鬼,我们为你提供了三个独立的例程。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 07:40:10 | 显示全部楼层
谢谢大家对我的关心。
我试着以最好的方式利用你的日常生活。
我感谢所有人。
回复

使用道具 举报

21

主题

80

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-6 07:43:47 | 显示全部楼层
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 14:53 , Processed in 0.703842 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表