乐筑天下

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

[VBA]关于图层删除的问题

[复制链接]

11

主题

29

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2006-8-4 09:57:00 | 显示全部楼层 |阅读模式
Private Sub CommandButton3_Click()
Dim s
s = MsgBox("你正在删除所写数字及所在层吗?", vbOKCancel, "提示")
If s = vbOK Then
   Dim L As AcadLayer
   Set L = ThisDrawing.Layers("wzl")
   ThisDrawing.ActiveLayer = ThisDrawing.Layers("0")
    Dim E As AcadEntity
  For Each E In ThisDrawing.ModelSpace
    If E.Layer = "wzl" Then
     E.Delete
    End If
  Next
L.Delete
ThisDrawing.Regen acActiveViewport
End If
End Sub
这个程序是先遍历整个图形空间,当碰到要删除图层中的对象时,删除该对象,然后删除图层。可是当图形空间中对象很多时(超过一百多万),要等很久才能删除图层。请问如何才能直接删除要删除图层中的对象,而不是遍历整个图形空间。谢谢各位高手的帮忙!
回复

使用道具 举报

13

主题

396

帖子

5

银币

后起之秀

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

铜币
448
发表于 2006-8-4 11:58:00 | 显示全部楼层
建立选择集,用选择集的delete属性
回复

使用道具 举报

11

主题

29

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2006-8-4 14:51:00 | 显示全部楼层
怎么建立要删除图层的选择集呢?
回复

使用道具 举报

13

主题

396

帖子

5

银币

后起之秀

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

铜币
448
发表于 2006-8-4 15:57:00 | 显示全部楼层

Sub test()
On Error Resume Next
Dim FilterType(0) As Integer
Dim FilterData(0) As Variant
Dim Myset As AcadSelectionSet
FilterType(0) = 8: FilterData(0) = LayerName
ThisDrawing.SelectionSets.Item("Myset").Delete
Set Myset = ThisDrawing.SelectionSets.Add("Myset")
Myset.Select acSelectionSetAll, , , FilterType, FilterData
Myset.Erase
End Sub
,LayerName不能为当前层
回复

使用道具 举报

11

主题

29

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2006-8-4 20:35:00 | 显示全部楼层
按照你的方法,我没法删除指定图层中的对象啊
回复

使用道具 举报

13

主题

396

帖子

5

银币

后起之秀

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

铜币
448
发表于 2006-8-4 23:32:00 | 显示全部楼层
应该是选择集的Erase属性,已该.
回复

使用道具 举报

11

主题

29

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2006-8-5 09:18:00 | 显示全部楼层
谢谢楼上的,按照你的指示,我已经实现了。万分感谢!那再请教一下,用Delete可以实现什么效果?
回复

使用道具 举报

11

主题

49

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
93
发表于 2006-8-8 08:51:00 | 显示全部楼层

我在使用选择集的Erase方法时[U]有时[/U]会出错,必须要改为循环一个一个删除才可以(foreach obj in ssel),这是为什么呢?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-6 04:27 , Processed in 1.350058 second(s), 68 queries .

© 2020-2025 乐筑天下

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