乐筑天下

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

又一个关于选择集的问题

[复制链接]

6

主题

20

帖子

2

银币

初来乍到

Rank: 1

铜币
44
发表于 2005-12-24 18:50:00 | 显示全部楼层 |阅读模式
上次发了关于选择集中删除元素的问题,得到了各位高手的指点,收益颇多。但是我在实际编制过程中发现一个问题,就是从选择集中删除的元素数组,似乎元素的个数不能太大我试验的结果似乎只能达到20000左右,再大了不是死机就是计算错误。看看下面的例子
Public Sub test()
ThisDrawing.Application.ZoomExtents
    On Error Resume Next
Dim SSet As AcadSelectionSet
    If Not IsNull(ThisDrawing.SelectionSets.Item("ttt")) Then
        Set SSet = ThisDrawing.SelectionSets.Item("ttt")
        SSet.Delete   
    End If
    Set SSet = ThisDrawing.SelectionSets.Add("Example")
Dim FilterType(0 To 3) As Integer
Dim FilterData(0 To 3) As Variant
    FilterType(0) = -4
    FilterData(0) = ""   
    SSet.Select acSelectionSetAll, , , FilterType, FilterData
    msgbox "筛选前的元素数量:"& SSet.Count
Dim element As AcadEntity
Dim i As Integer
Dim pn1() As AcadEntity
i = 0
   For Each element In SSet
    If (element.Length > 200) Or (element.Length  200) Or (element.Length
这个程序试从图形中选择出所有直线和多线,然后从中删除长度大于200和小于100的元素。这样当 需要删除的对象删除的元素个数多到一定程度就会出问题。我初步设想可能是数组元素的限制问题。
请各位帮我看看能不能够在建立选择集的时候就直接只选择长度100~200之间的线???在此先行感谢了。。。
回复

使用道具 举报

6

主题

17

帖子

2

银币

初来乍到

Rank: 1

铜币
41
发表于 2005-12-26 14:59:00 | 显示全部楼层
弱弱地问一下,不能一个个的删除么?
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2005-12-27 08:00:00 | 显示全部楼层
建立选择集后你直接把长度100~200之间的线放在数组里
回复

使用道具 举报

6

主题

20

帖子

2

银币

初来乍到

Rank: 1

铜币
44
发表于 2005-12-27 15:15:00 | 显示全部楼层
2楼的方法显然不适合。
我将 变量i改成了  long类型就可以满足要求。。。
3楼的方法也不错。具体我要实现的功能(不光是上面程序)来说3楼的方法最后,因为符合我的条件的元素数量比不符合我田间的元素数量少了好几个数量级。。所以我使用3楼的方法。
再次感谢2位兄弟
回复

使用道具 举报

23

主题

76

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
168
发表于 2005-12-27 16:32:00 | 显示全部楼层
楼主遇到的情况我也遇到过。
有一次遇到个很大的选择集,又无法用filter。结果removeitems的时候就发现选择集过大的时候会有错误。
最后我只好新建一个选择集,把自己想保存的item都拷贝过去,然后把原来的选择集删掉了事。

感觉这个错误最多地发生在:选择集很大,且removeitems的数组里元素也很多地情况。

回复

使用道具 举报

6

主题

20

帖子

2

银币

初来乍到

Rank: 1

铜币
44
发表于 2005-12-29 21:35:00 | 显示全部楼层
感谢楼上给我的回复。我还以为只有我才会这么背呢。。。  同时谢谢你的方法
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
6
发表于 2011-2-16 13:21:00 | 显示全部楼层
楼主的 有些句子给了我很大启发谢谢
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-1 03:54 , Processed in 0.572411 second(s), 67 queries .

© 2020-2025 乐筑天下

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