如何计算所有元素类似于FilteredElementCollector符号特殊设备的家族?
当我使用 DesignAutomation (Autodesk Forge) 通过获取 FilteredElementCollector lstEleCollector = new FilteredElementCollector (doc, doc.ActiveView.Id); 来计算 Revit 文件中可见的 BuiltInCategory.OST_SpecialityEquiosystem
元素的数量时
但我意识到设计自动化中没有Active View概念。那么有没有办法统计rvt文件中出现的所有元素呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
要计算文档中给定类别的所有元素,您应该使用:
但是,这将为您提供文档中的所有元素。要在给定视图中找到元素,您需要知道视图ID。如果您不知道视图ID,则可以迭代文档中的所有视图并找到所需的视图。
然后,您可以使用此
viewID
而不是doc.activeview.id
来调用您已经知道的API。还请参考我们的非常基本的 forge-countdeleteblewalls-revit- revit 代码代码执行类似的示例您正在尝试的事情。它在给定文档中计算墙壁,门,地板和窗户。
To count all elements of a given category in a document you should use FilteredElementCollector.OfCategory():
This will however give you all elements in the document. To find elements in a given view, you will need to know the view id. If you do not know the view id, you can iterate through all views in a document and find the view you are looking for.
Then you can call the API you already know with this
viewId
instead ofdoc.ActiveView.Id
.Also refer our very basic forge-countdeletewalls-revit code sample which does something similar to what you are attempting. It counts walls, doors, floors and windows in a given document.