微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#.NET Autocad 2021 API:访问给定 BlockTable 中的特定 BlockTableRecords?

如何解决C#.NET Autocad 2021 API:访问给定 BlockTable 中的特定 BlockTableRecords?

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

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

感谢任何帮助! 泰勒

解决方法

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

注意:不能保证这是“有效的”,并且可能只是在幕后枚举数组。您需要进行一些计时赛,看看什么更有效。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。