【问题标题】:C#.NET Autocad 2021 API: Accessing specific BlockTableRecords within a given BlockTable?C#.NET Autocad 2021 API:访问给定 BlockTable 中的特定 BlockTableRecords?
【发布时间】:2021-06-11 04:23:04
【问题描述】:

我正在寻找有关 BlockTable 类细节的建议。我知道,尽管您可以获得块表包含的所有块表记录的枚举器,但我似乎找不到更有效的方法来访问特定 BlockTableRecord 的 ObjectID。我知道计算机可以访问这些信息......无论如何,我无法想象 BlockTable.Has() 函数没有它也能正常工作。我也检查了文档,但它实际上并没有在任何地方列出 BlockTable 类的函数或属性:/

我当前的代码依赖于用户输入的字符串来检索块,当插入 BlockTable.Has() 时,它成功返回正确的布尔结果。

感谢任何帮助! 泰勒

【问题讨论】:

    标签: c# .net autocad autocad-plugin


    【解决方案1】:

    BlockTable 包装器实现了一个索引器,它可以与stringObjectId 一起使用。即myBlkTable["theBlockName"]

    注意:不能保证这是“有效的”,可能只是在底层枚举数组。您需要进行一些时间试验,看看哪种方法更有效。

    问问自己,您正在寻找的微优化是否值得您花时间在上面,这总是很好的。听起来您只是在处理用户命令,即使有一个有效的查找,这对用户体验有什么影响吗?答案可能是否定的。这种事情只有在循环重复查询的大量集合中才变得重要。

    【讨论】:

      猜你喜欢
      • 2014-08-31
      • 2014-03-27
      • 2022-11-14
      • 1970-01-01
      • 2011-12-13
      • 2014-07-14
      • 1970-01-01
      • 2013-07-25
      • 2018-03-23
      相关资源
      最近更新 更多