乐筑天下

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

[编程交流] 从e中删除删除的对象

[复制链接]

2

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 15:53:44 | 显示全部楼层 |阅读模式
我有选择集,其中的一些对象被删除。如何从ss中删除它们?
我试着自己做,但我的代码不起作用。
我的代码:
 
  1. (setq n 0)
  2. (setq ssx ss)
  3. (setq x (sslength ssx))
  4. (repeat x
  5.    (if (entget(ssname ssx n))
  6.                         (princ n)
  7.                         (progn
  8.                         (setq en (ssname ssx n))
  9.                         (ssdel en ss)
  10.                         )
  11. )
  12. (setq n (1+ n)))
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 16:00:08 | 显示全部楼层
这样地:
  1. (repeat (setq i (sslength ssx))
  2. (or (entget (setq ent (ssname ssx (setq i (1- i)))))
  3.      (ssdel ent ssx)
  4.      )
  5. )
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 16:01:08 | 显示全部楼层
@塔尔瓦特:
使用vlax-erased-p检查实体是否被擦除速度更快。该函数还接受ENAME。
 
顺便说一句:
将包含已擦除实体的选择集传递给命令不会导致任何问题(至少在BricsCAD中是这样)。
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:04:18 | 显示全部楼层
速度不够快,无法在IMO中引入vlax函数。
约5000个selset已全部擦除
在拥有约22000件物品的selset上更快地进入长椅:
回复

使用道具 举报

2

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 16:08:37 | 显示全部楼层
 
效果很好!谢谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 16:11:10 | 显示全部楼层
我认为DXF比将对象转换为vla对象更快,尽管vlax-erased-p函数在我这方面比零抛出以下错误,这似乎很奇怪。
 
 
不客气。
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 16:14:29 | 显示全部楼层
@罗恩琼普:
您测试了一个独特的案例。请使用已删除10%实体的选择集重试。您会发现,为未擦除的实体构建实体列表相对较慢。
 
@塔尔瓦特:
如前所述:vlax-erased-p也接受ENAME。因此无需转换为vla对象。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 16:17:30 | 显示全部楼层
 
谢谢Roy,老实说,我不知道vlax-erased-p函数可以与实体名一起使用,所以我刚刚试用过,它也可以使用。
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 16:20:00 | 显示全部楼层
如果在遍历SS时删除一个实体,这不会弄乱它内部的ename索引吗?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 16:24:56 | 显示全部楼层
 
也就是说,如果您在选择一个选择集之后立即迭代一个选择集,但如果用户有两个或多个选择集,则可能是其中一个SS中涉及的删除,迫使用户从特定SS中扣除已擦除的对象。只是一个猜测。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 21:34 , Processed in 0.374761 second(s), 72 queries .

© 2020-2025 乐筑天下

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