CopyPasteFailures
枚举类型是 Autodesk.Revit.DB.FailureMessage 枚举类型的子集,表示 Revit 中针对复制和粘贴操作可能出现的失败情况。
CopyPasteFailures
枚举类型包含以下成员:
枚举成员 | 描述 |
---|---|
CantCopyScheduleInView |
复制视图中的时间表无法完成。 |
CantCopyViewTemplate |
视图模板无法复制。 |
CantCopyViewsInPhase |
无法复制阶段视图。 |
CantCutActiveView |
活动视图无法被剪切。 |
CantCutTemporaryView |
Revit 无法删除临时视图。 |
CantPasteRVTLinks |
无法粘贴 Revit 链接到当前项目中。 |
CantPasteSchedules |
无法粘贴时间表到当前视图中。 |
CantPasteViewTemplate |
无法将视图模板粘贴到当前视图中。 |
CantPlaceFamilyInDetailView |
不能在详细视图中放置族。 |
CopyPasteFailures
枚举类型一般用于处理复制和粘贴操作失败的情况。例如,可以使用 FailureHandlingOptions.SetFailuresPreprocessor 方法将自定义的 IFailuresPreprocessor
实现绑定到复制和粘贴操作的异常处理选项中,并在 ProcessFailures
回调方法中检查出现的 CopyPasteFailures
枚举类型成员。
public class CopyPastePreprocessor : IFailuresPreprocessor
{
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor)
{
if (failuresAccessor.GetSeverity() == FailureSeverity.Warning
&& failuresAccessor.HasFailureOfType(CopyPasteFailures.CantCutActiveView))
{
// 将错误降级为提示
failuresAccessor.CurrentFailures.ForEach(f => f.SetSeverity(FailureSeverity.Warning));
return FailureProcessingResult.ProceedWithCommit;
}
return FailureProcessingResult.Continue;
}
}
在上述示例中,CopyPastePreprocessor
类实现了 IFailuresPreprocessor
接口,并在 PreprocessFailures
方法中检查是否出现了 CopyPasteFailures.CantCutActiveView
枚举成员,如果检测到该错误,则将所有当前错误的严重性都降级为警告级别,并返回 FailureProcessingResult.ProceedWithCommit
告知 Revit 继续处理。在此处进行 CopyPasteFailures
枚举成员的检测和处理,可以有效地修复复制和粘贴操作失败的问题。