乐筑天下

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

[编程交流] 如何删除所有实体

[复制链接]

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 16:59:57 | 显示全部楼层
 
有很多种方法,其中一种方法是在循环时使用函数ssdel从选择集中删除enity名称:
 
  1. (repeat (sslength ss)
  2.    (setq obj (ssname ss 0))
  3.    (entdel obj)
  4.    (ssdel obj ss)
  5.    )
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 17:02:45 | 显示全部楼层
 
谢谢李
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 17:06:57 | 显示全部楼层
你好
 
我使用这段代码删除所有基于类型的实体。
 
  1. (defun removeByType(typ)
  2. (setq ss (ssget "X" (list(cons 0 typ))))
  3. (if ss (command "_.Erase" ss ""))
  4. )

 
现在我想让用户设置选择范围,
 
  1. if nothing is selected
  2.    remove all typ from database
  3.    filter typ and delete

 
我如何设置这种条件?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 17:11:36 | 显示全部楼层
也许是这样?
 
  1. (defun c:test ( / ent )
  2.    (if (setq ent (car (entsel "\nSelect type of object to delete <all>: ")))
  3.        (eraseselection  (list "_X" (list (assoc 0 (entget ent)))))
  4.        (eraseselection '("_X"))
  5.    )
  6.    (princ)
  7. )
  8. (defun eraseselection ( arg / idx sel )
  9.    (if (setq sel (apply 'ssget arg))
  10.        (repeat (setq idx (sslength sel)) (entdel (ssname sel (setq idx (1- idx)))))
  11.    )
  12. )

 
也可以这样写:
  1. (defun c:test ( / ent )
  2.    (eraseselection
  3.        (cons "_X"
  4.            (if (setq ent (car (entsel "\nSelect type of object to delete <all>: ")))
  5.                (list (list (assoc 0 (entget ent))))
  6.            )
  7.        )
  8.    )
  9.    (princ)
  10. )
  11. (defun eraseselection ( arg / idx sel )
  12.    (if (setq sel (apply 'ssget arg))
  13.        (repeat (setq idx (sslength sel)) (entdel (ssname sel (setq idx (1- idx)))))
  14.    )
  15. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 20:22 , Processed in 0.573530 second(s), 58 queries .

© 2020-2025 乐筑天下

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