revit2018 二次开发 过滤已经载入的链接模型(不含未找到的链接模型)
时间: 2024-02-09 13:08:29 浏览: 75
要过滤已经载入的链接模型,你可以使用 Revit API 中的 FilteredElementCollector 类和相关的过滤器。
以下是一个简单的示例代码,可以过滤掉已经载入的链接模型:
```csharp
// 获取当前文档中所有的链接模型
FilteredElementCollector collector = new FilteredElementCollector(doc);
ICollection<ElementId> linkIds = collector.OfClass(typeof(RevitLinkType))
.WhereElementIsNotElementType()
.ToElementIds();
// 过滤已经载入的链接模型
ICollection<ElementId> loadedLinkIds = new List<ElementId>();
foreach (ElementId id in linkIds)
{
RevitLinkType linkType = doc.GetElement(id) as RevitLinkType;
if (linkType.IsLoaded)
{
loadedLinkIds.Add(id);
}
}
// 输出已经载入的链接模型的名称
foreach (ElementId id in loadedLinkIds)
{
RevitLinkType linkType = doc.GetElement(id) as RevitLinkType;
TaskDialog.Show("已经载入的链接模型", linkType.Name);
}
```
你可以将以上代码放在二次开发的命令中,通过 Revit 的 API 调用来实现过滤已经载入的链接模型。
阅读全文