乐筑天下

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

请教:过滤语法好像没错,为什么选择集里没对象呢?

[复制链接]

5

主题

16

帖子

2

银币

初来乍到

Rank: 1

铜币
36
发表于 2008-3-18 15:41:00 | 显示全部楼层 |阅读模式
Dim Pt1 As Variant
Dim Pt2 As Variant
EntObj(0).GetBoundingBox Pt1, Pt2
'创建选择集
Dim ssetObj As AcadSelectionSet
Set ssetObj = ThisDrawing.SelectionSets("SSET")
If Err Then Set ssetObj = ThisDrawing.SelectionSets.Add("SSET")
ssetObj.Clear
'设置图层过滤
    Dim gpCode(0) As Integer
    Dim dataValue(0) As Variant
    gpCode(0) = 8
    dataValue(0) = "dgx"
'选择与该直线相交或者包含在外框中的所有实体
ssetObj.Select acSelectionSetCrossing, Pt1, Pt2, gpCode, dataValue
回复

使用道具 举报

11

主题

49

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
93
发表于 2008-3-18 16:31:00 | 显示全部楼层

1.你这一段是完整代码吗?没见到EntObj(0)的值,没见到错误处理
2.确认层dgx中与该直线有相交的物体。
  1. Public Sub mx()
  2.     Dim Pt1 As Variant
  3.     Dim Pt2 As Variant
  4.     Dim ssEnt As AcadSelectionSet
  5.     Dim EntObj(0) As AcadEntity
  6.     On Error Resume Next
  7.     Set ssEnt = ThisDrawing.SelectionSets.Add("ssEnt")
  8.     ssEnt.SelectOnScreen
  9.     Set EntObj(0) = ssEnt.Item(0)
  10.     ssEnt.Clear: ssEnt.Delete
  11.     EntObj(0).GetBoundingBox Pt1, Pt2
  12.    
  13.     Dim ssetObj As AcadSelectionSet
  14.     Set ssetObj = ThisDrawing.SelectionSets.Add("SSET")
  15.     ssetObj.Clear    Dim gpCode(0) As Integer
  16.     Dim dataValue(0) As Variant
  17.     gpCode(0) = 8
  18.     dataValue(0) = "1"ssetObj.Select acSelectionSetCrossing, Pt1, Pt2, gpCode, dataValue
  19. ssetObj.Clear
  20. ssetObj.Delete
  21. End Sub
回复

使用道具 举报

5

主题

16

帖子

2

银币

初来乍到

Rank: 1

铜币
36
发表于 2008-3-18 18:08:00 | 显示全部楼层
谢谢了,搞定!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-5 03:28 , Processed in 0.516671 second(s), 58 queries .

© 2020-2025 乐筑天下

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