Autodesk.Revit.DB.ExternalFileUtils 是 Revit API 中的一个类,用于处理外部文件的操作。外部文件包括文本文件,图片文件,PDF 等其他文件格式,可以通过该类实现 Revit 与其他软件之间的数据交互。
IsValidExternalReference(Documen document, ElementId idExternalReference)检查指定的 Revit 文档中是否包含有效的外部引用元素。
Document document:指定的 Revit 文档。ElementId idExternalReference:外部引用元素的 ID。return: 若存在有效的外部引用,则返回 true;否则返回 false。GetExternalFileReference(Document document, ElementId idExternalReference)获取指定 Revit 文档中的外部文件引用元素的文件路径。
Document document:指定的 Revit 文档。ElementId idExternalReference:外部引用元素的 ID。return: 返回指定外部引用元素的文件路径。SetExternalFileReference(Document document, ElementId idExternalReference, string filePath)设置指定的 Revit 文档中的外部文件引用元素的文件路径。
Document document:指定的 Revit 文档。ElementId idExternalReference:外部引用元素的 ID。string filePath:指定的文件路径。return: 若设置成功,则返回 true;否则返回 false。// 获取当前工作文档
Document doc = uidoc.Document;
// 获取文档中所有的外部引用元素
FilteredElementCollector collector = new FilteredElementCollector(doc);
ICollection<Element> elements = collector.OfClass(typeof(ImportInstance)).ToElements();
foreach (Element elem in elements)
{
if (ExternalFileUtils.IsValidExternalReference(doc, elem.Id))
{
// 获取外部文件引用元素的文件路径
string filePath = ExternalFileUtils.GetExternalFileReference(doc, elem.Id);
// 处理文件路径
// 设置外部文件引用元素的文件路径
ExternalFileUtils.SetExternalFileReference(doc, elem.Id, newFilePath);
}
}
Autodesk.Revit.Exceptions.ArgumentNullException:
当指定的参数为 null 时抛出该异常。