Autodesk.Revit.UI.IExternalResourceUIServer是Revit API中的一个接口,可以用于扩展 Revit 中外部资源的UI交互。
void ShowUploadUI(Document doc, string name, ExternalResoourceType type, ICollection<ExternalResource> resources)
显示上传UI界面,供用户上传外部资源。
void ShowDownloadUI(Document doc, string name, ExternalResoourceType type, ICollection<ExternalResource> resources)
显示下载UI界面,供用户下载外部资源。
Task<bool> ShowReplaceUI(Document doc, string name, ExternalResoourceType type, ExternalResource resource)
显示替换UI界面,供用户替换外部资源。
Document doc
当前操作的文档对象。
string name
外部资源的名称。
ExternalResoourceType type
外部资源的类型,包括图像、材料等。
ICollection<ExternalResource> resources
外部资源集合,表示当前操作的资源列表。
ExternalResource resource
外部资源对象,表示当前操作的单个资源。
public class ExternalResourceUI : IExternalResourceUIServer
{
public void ShowUploadUI(Document doc, string name, ExternalResoourceType type, ICollection<ExternalResource> resources)
{
// 自定义上传UI界面代码
}
public void ShowDownloadUI(Document doc, string name, ExternalResoourceType type, ICollection<ExternalResource> resources)
{
// 自定义下载UI界面代码
}
public Task<bool> ShowReplaceUI(Document doc, string name, ExternalResoourceType type, ExternalResource resource)
{
// 自定义替换UI界面代码
}
}
将自定义的ExternalResourceUI对象注册到Revit API的外部资源管理类中。
ExternalResourceUIServer.RegisterExternalResourceUIServer(new ExternalResourceUI());
ShowReplaceUI方法返回一个Task对象,表示异步执行。在方法体中需要手动编写异步代码。
显示的UI界面需要根据具体的需求进行自定义。