在使用Revit API并浏览“RevitAPI.chm”文件(以及在互联网上浏览示例)时,我注意到某些方法存在但未在“RevitAPI.chm”文件中列出,也未在使用RevitPythonShell时建议
我解释一下。比方说,我有一个“空间”对象,用
获得s = FilteredElementCollector(doc).OfClass(SpatialElement).ToElements()
如果我这样做,假设(假设s [0]是一个有效的Space对象):
s[0].Geometry
我有一个'索引器对象':
<indexer# object at 0x0000000000000049>
但如果我这样做:
s[0].get_Geometry(Options())
然后我得到了我的GeometryElement对象。例如,与get_BoundingBox相同的行为。
现在,这很好,但我能了解这些get_something方法的唯一方法是查看示例(在“RevitAPI.chm”或论坛等)。那有点奇怪,不是吗?从某种意义上说,这些方法实际上并未列出。
所以我想我的问题是:
谢谢! 阿诺。
PS:使用Revit 2017,使用RevitPythonShell和pyRevit进行测试
答案 0 :(得分:3)
以小写BoundingBox
为前缀的方法是自动生成的getter方法。官方Revit API提供并记录Element
类的 NSString *expiration = [responseObject valueForKey:@".expires"];
NSDateFormatter *dateFormatter = [NSDateFormatter new];
dateFormatter.dateFormat = @"MM/dd/yyyy hh:mm:ss a +zz";
dateFormatter.timeZone = [NSTimeZone localTimeZone];
NSDate *expiryDate = [dateFormatter dateFromString:expiration];
EKLog(@"expiry date %@", expiryDate);
属性。相当不优雅的是,这种所谓的财产需要争论。因此,C#.NET实现为它生成了一个属性getter函数。