首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改API:“隐藏”方法?

修改API:“隐藏”方法?
EN

Stack Overflow用户
提问于 2017-05-30 15:06:18
回答 1查看 239关注 0票数 1

在使用Revit和浏览"RevitAPI.chm“文件(以及在互联网上浏览示例)时,我注意到有些方法是存在的,但既没有在"RevitAPI.chm”文件中列出,也没有在使用RevitPythonShell时建议使用。

我来解释。比方说,我有一个“空间”物体,是用

代码语言:javascript
复制
s = FilteredElementCollector(doc).OfClass(SpatialElement).ToElements()

如果我这样做了,假设s是一个有效的空间对象):

代码语言:javascript
复制
s[0].Geometry

我有一个“索引器对象”:

代码语言:javascript
复制
<indexer# object at 0x0000000000000049>

但是如果我这么做的话:

代码语言:javascript
复制
s[0].get_Geometry(Options())

然后我得到了我的GeometryElement对象。例如,同样的行为也适用于get_BoundingBox。

现在,这很好,但我了解这些get_something方法的唯一方法是查看示例(无论是在"RevitAPI.chm“上还是在论坛上等等)。所以这有点奇怪,不是吗?也就是说,这些方法实际上并没有列出。

所以我想我的问题是:

  • 这是正常行为吗?(或者我应该通过使用GeometryElement来获得一个s.Geometry对象吗?)
  • 如果是的话。为什么?:D
  • 这些“索引者”是什么?

谢谢!阿诺德。

PS:使用Revit2017,用RevitPythonShell和pyRevit进行的测试

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-31 10:06:37

以小写get_为前缀的方法是自动生成的getter方法。官方的Revit提供并记录了BoundingBox类上的Element属性。这种所谓的“属性”相当不得体地提出了一个论点。因此,C# .NET实现为它生成一个属性getter函数。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44265814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档