乐筑天下

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

[编程交流] PromptSelectionResult不起作用

[复制链接]

2

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 21:49:37 | 显示全部楼层 |阅读模式
嗨,伙计们
我的应用程序代码如下。我想在两点之间找到blockreference。当我缩放范围时,工作正常。bu i更改autocad中的缩放结果不正确。我添加了截图。我使用SelectCrossingWindow或SelectWindow。
 
 
  1.      Public Sub FindBlockInFrame(frame As Extents3d)
  2.            Dim tvs As TypedValue() = New TypedValue() _
  3.            {
  4.                New TypedValue(DxfCode.Start, "INSERT"),
  5.                New TypedValue(DxfCode.BlockName, "myblock")
  6.            }
  7.            Dim filter As New SelectionFilter(tvs)
  8.            Dim selection As PromptSelectionResult = ed.SelectCrossingWindow(frame.MinPoint, frame.MaxPoint, filter)
  9.            'Dim selection As PromptSelectionResult = ed.SelectWindow(frame.MinPoint, frame.MaxPoint, filter)
  10.            If selection.Status <> PromptStatus.OK Then
  11.                Return
  12.            End If
  13.            Using tr As Transaction = db.TransactionManager.StartTransaction()
  14.                Dim list As New List(Of BlockReference)
  15.                For Each id As ObjectId In selection.Value.GetObjectIds()
  16.                    Dim block As BlockReference = DirectCast(tr.GetObject(id, OpenMode.ForRead), BlockReference)
  17.                    list.Add(block)
  18.                Next
  19.                ed.WriteMessage(vbLf & "block count in frmae  {0})", list.Count)
  20.                tr.Commit()
  21.            End Using
  22.        End Sub

 
 
缩放范围:
224942ezkig3dw2qbz2e3d.jpg
 
缩小:
224945eiin2bktbab0ktn8.jpg
 
缩小,缩小,缩小:
224947neoeqzrewogv8vxq.jpg
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 13:53 , Processed in 0.823862 second(s), 57 queries .

© 2020-2025 乐筑天下

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