乐筑天下

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

如何让图形处于被选中状态(类似于鼠标框中后的效果)

[复制链接]

8

主题

34

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
66
发表于 2014-9-28 23:12:00 | 显示全部楼层 |阅读模式
最近做程序发现个小问题,通过选择集筛选的图形执行完程序后,在CAD图中无法处于被选中状态(类似于鼠标框中后的效果),因为我还有很多后续操作需要人工判断执行,不知道哪位达人能否相助。是否有代码可以实现此功能?
回复

使用道具 举报

8

主题

72

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
104
发表于 2014-9-29 07:43:00 | 显示全部楼层
highlight方法
回复

使用道具 举报

4

主题

104

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2014-9-29 08:24:00 | 显示全部楼层

highlight 系统变量改为1
回复

使用道具 举报

5

主题

129

帖子

13

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
144
发表于 2014-9-29 10:19:00 | 显示全部楼层
(sssetfirst nil (ssget))
回复

使用道具 举报

32

主题

140

帖子

5

银币

后起之秀

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

铜币
268
发表于 2014-9-29 18:21:00 | 显示全部楼层
ed.SetImpliedSelection(res2.Value.GetObjectIds());
回复

使用道具 举报

8

主题

34

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
66
发表于 2014-9-30 14:54:00 | 显示全部楼层
谢谢大家 问题解决了
回复

使用道具 举报

9

主题

25

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
61
发表于 2015-1-12 09:00:00 | 显示全部楼层
你是怎样做到的,共享一下,我搞了好多天,也没搞成
回复

使用道具 举报

8

主题

34

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
66
发表于 2015-1-14 11:07:00 | 显示全部楼层
一段测试代码
Public Shared Sub 筛选()
        Dim dm As DocumentCollection = Application.DocumentManager
        Dim ed As Editor = dm.MdiActiveDocument.Editor
        '获取当前数据库作为目标数据库
        Dim Db As Database = dm.MdiActiveDocument.Database
        dm.MdiActiveDocument.LockDocument()
        Dim ids() As ObjectId
        Dim N As Integer = 0
        Using trans As Transaction = Db.TransactionManager.StartTransaction()
            Dim bt As BlockTable = trans.GetObject(Db.BlockTableId, OpenMode.ForRead)
            Dim btr As BlockTableRecord = trans.GetObject(bt(BlockTableRecord.ModelSpace), OpenMode.ForRead)
            ' 遍历选择集.
            For Each EntId As ObjectId In btr
                Dim en As Entity = trans.GetObject(EntId, OpenMode.ForRead)
                If TypeOf en Is Line Then
                    ReDim Preserve ids(N)
                    ids(N) = EntId
                    en.Highlight()
                    N = N + 1
                End If
            Next
            ed.SetImpliedSelection(ids)
        End Using
    End Sub
回复

使用道具 举报

16

主题

26

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2015-9-3 15:12:00 | 显示全部楼层
感谢楼上的分享
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 10:36 , Processed in 0.462752 second(s), 81 queries .

© 2020-2025 乐筑天下

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