我正在开发一个revit项目,我们希望克隆文档以实现多线程目的。但是,默认情况下似乎没有任何方法可以克隆文档。似乎没有Document.clone()函数。
最终我正在寻找能让我创建克隆的东西,至少复制所有元素,房间,关卡和相关数据的位置,但不必复制对象的3D模型(尽管这不是问题如果确实如此)。
扩展文档和调用成员克隆会创建一个浅层克隆。 Document类也将包含循环关系(host vs hostee)
答案 0 :(得分:1)
听起来您可能想要查看FilteredElementCollector类。无论如何,在我看来,这是从当前现有的Document文件中获取所需内容的默认方式。我建议您使用以下内容开始搜索,看看它是否适合您
FilteredElementCollector coll =
new FilteredElementCollector(doc).WhereElementIsNotElementType();
这是一个包含FilteredElementCollector文档的网站,以及整个Revit API - http://www.revitapidocs.com/2015/263cf06b-98be-6f91-c4da-fb47d01688f3.htm