乐筑天下

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

如何删除指定名字图层上的所有对象?

[复制链接]

4

主题

15

帖子

3

银币

初来乍到

Rank: 1

铜币
32
发表于 2009-10-26 09:19:00 | 显示全部楼层 |阅读模式
RT
Public Sub delete()
Dim objLayer As AcadLayer
Set objLayer = ThisDrawing.Layers("testlayer")
'这里用什么方法?
End Sub
回复

使用道具 举报

4

主题

15

帖子

3

银币

初来乍到

Rank: 1

铜币
32
发表于 2009-10-26 10:08:00 | 显示全部楼层
'删除图层上所有对象
Function DelAllInLayer(ByVal LName As String)
    'On Error Resume Next
    Dim SSet As AcadSelectionSet
    Set SSet = CreateSelectionSet("XXX")
    Dim Ft(0) As Integer, Fd(0)
    Ft(0) = 8: Fd(0) = LName
    SSet.Select acSelectionSetAll, , , Ft, Fd
    Dim E As AcadEntity
    'MsgBox SSet.Count
    For Each E In SSet
        E.Delete
    Next
End Function
Function CreateSelectionSet(Optional SSetName As String = "mjtd") As AcadSelectionSet
    On Error Resume Next
    ThisDrawing.SelectionSets(SSetName).Delete
    Set CreateSelectionSet = ThisDrawing.SelectionSets.Add(SSetName)
End Function
大侠看看,测试通过了
      Ft(0) = 8 是何意?
回复

使用道具 举报

7

主题

63

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2009-10-26 19:38:00 | 显示全部楼层
表示以"图层"组码为条件的过滤器,必须与图层名组合起来用.如果会LISP的话,可以用
(setq obj (entset (ssname (ssget) 0)))看来所选择对象相应的组码值.
回复

使用道具 举报

110

主题

324

帖子

10

银币

中流砥柱

Rank: 25

铜币
764
发表于 2009-10-27 07:32:00 | 显示全部楼层
1按图层过滤实体
2删除
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-1 16:27 , Processed in 0.502087 second(s), 61 queries .

© 2020-2025 乐筑天下

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