乐筑天下

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

[编程交流] 问题ActiveSelectionset

[复制链接]

14

主题

42

帖子

28

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 22:42:33 | 显示全部楼层 |阅读模式
嗨,伙计们
 
我一直在对我的程序进行一些调整,但现在我的活动选择集似乎有问题。我可以清空它吗?因为它是一个只读对象,问题是我在程序中使用了活动的selectionset。它第一次运行正常,但第二次,它将最后一次运行的最后一个实体作为活动选择集。
 
代码如下:
  1. Sub DErase()
  2.    Dim aEnt As AcadEntity
  3.    Dim aLayer1, aLayer2 As AcadLayer
  4.    Dim aSSet As AcadSelectionSet
  5.    Dim strLayerName  As String
  6.    
  7.    On Error GoTo Delete
  8.     Set aSSet = ThisDrawing.SelectionSets.Add("sset")
  9.    
  10.    On Error GoTo Continue
  11.    If ThisDrawing.ActiveSelectionSet.Count = 0 Then
  12.    
  13.        aSSet.SelectOnScreen
  14.    
  15.    Else
  16.        Set aSSet = ThisDrawing.ActiveSelectionSet
  17.    
  18.    End If
  19.    
  20.    For Each aEnt In aSSet
  21.            aLayer1 = aEnt.Layer
  22.            strLayerName = "D_" & aLayer1
  23.            Set aLayer2 = ThisDrawing.Layers.Add(strLayerName)
  24.            aEnt.Layer = "D_" & aLayer1
  25.            aEnt.Update
  26.    Next
  27.   
  28.    ThisDrawing.SelectionSets.Item("sset").Delete
  29.    
  30.    
  31.    Exit Sub
  32.       
  33. Delete:
  34.    ThisDrawing.SelectionSets.Item("sset").Delete
  35.    Exit Sub
  36. Continue:
  37.    Resume Next
  38. End Sub

 
谢谢你的建议!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-5-25 07:47 , Processed in 0.313178 second(s), 54 queries .

© 2020-2025 乐筑天下

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