锻造设计自动化api中链接文件的问题



我们在项目中使用锻造设计自动化api。我们有一个要求,我们需要传递带有主revit文件的链接文件,如下所示。我们正在使用revit 2020作为引擎。

|-- LinkA.rvt
|   |-- LinkA1.rvt
|   |-- LinkA2.rvt
|
|-- LinkB.rvt

但是当我们使用c#revit addin中的以下代码获取链接文件时。然后它返回一个空数组。

List<Element> linkCollector = new FilteredElementCollector(_doc).OfCategory(BuiltInCategory.OST_RvtLinks).WhereElementIsNotElementType().ToList();

有谁能帮我找出这个问题的解决办法吗?

您正在尝试查找RevitLinkInstance还是RevitLinkType。您的代码似乎试图收集RevitLinkInstance,如果您得到一个空列表,很可能是因为宿主文档中没有为链接文件放置实例。

如果在过滤器中丢弃WhereElementIsNotElementType(),会得到一个空数组吗?

List<Element> linkCollector = new FilteredElementCollector(_doc).OfCategory(BuiltInCategory.OST_RvtLinks).ToList();

要显式收集RevitLinkType,您还可以执行以下操作:

List<Element> linkCollector = new FilteredElementCollector(_doc).OfClass(typeof(RevitLinkType)).ToList();

要显式收集RevitLinkInstance,您还可以执行以下操作:

List<Element> linkCollector = new FilteredElementCollector(_doc).OfClass(typeof(RevitLinkInstance)).ToList();

最新更新