/// <summary> /// Constructor. /// </summary> /// <param name="addInId">Add-in id of the /// add-in associated with this updater.</param> public DeletionUpdater(AddInId addInId) { _appId = addInId; _updaterId = new UpdaterId(_appId, new Guid( "6f453eba-4b9a-40df-b637-eb72a9ebf008")); _failureId = new FailureDefinitionId( new Guid("33ba8315-e031-493f-af92-4f417b6ccf70")); FailureDefinition failureDefinition = FailureDefinition.CreateFailureDefinition( _failureId, FailureSeverity.Error, "PreventDeletion: Sorry, this element cannot be deleted. Please contact your BIM Manager to find out why."); }
public FailureProcessingResult PreprocessFailures( FailuresAccessor a) { // inside event handler, get all warnings IList <FailureMessageAccessor> failures = a.GetFailureMessages(); foreach (FailureMessageAccessor f in failures) { // check failure definition ids // against ones to dismiss: FailureDefinitionId id = f.GetFailureDefinitionId(); if (BuiltInFailures.RoomFailures.RoomNotEnclosed == id) { a.DeleteWarning(f); } } return(FailureProcessingResult.Continue); }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { IList <FailureMessageAccessor> failureMessageAccessorList = (IList <FailureMessageAccessor>) new List <FailureMessageAccessor>(); using (IEnumerator <FailureMessageAccessor> enumerator = ((IEnumerable <FailureMessageAccessor>)failuresAccessor.GetFailureMessages()).GetEnumerator()) { while (((IEnumerator)enumerator).MoveNext()) { FailureMessageAccessor current = enumerator.Current; FailureDefinitionId failureDefinitionId = current.GetFailureDefinitionId(); if (FailureDefinitionId.op_Equality(failureDefinitionId, BuiltInFailures.RoomFailures.get_RoomTagNotInRoom()) || FailureDefinitionId.op_Equality(failureDefinitionId, BuiltInFailures.RoomFailures.get_RoomTagNotInRoomToArea()) || FailureDefinitionId.op_Equality(failureDefinitionId, BuiltInFailures.RoomFailures.get_RoomTagNotInRoomToRoom()) || FailureDefinitionId.op_Equality(failureDefinitionId, BuiltInFailures.RoomFailures.get_RoomTagNotInRoomToSpace())) { failuresAccessor.DeleteWarning(current); } } } return((FailureProcessingResult)0); }
/// <summary> /// Add an error or warning that will be posted to a document in a future link transaction. /// </summary> /// <param name="failureDefinitionEnum">The error type.</param> public static void AddDelayedLinkError(FailureDefinitionId failureDefinitionId) { if (m_ImportPostedErrors == null) m_ImportPostedErrors = new HashSet<FailureDefinitionId>(); m_ImportPostedErrors.Add(failureDefinitionId); }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { IList <FailureMessageAccessor> failureMessages = failuresAccessor.GetFailureMessages(); foreach (FailureMessageAccessor failureMessageAccessor in failureMessages) { // We're just deleting all of the warning level // failures and rolling back any others FailureDefinitionId id = failureMessageAccessor.GetFailureDefinitionId(); try { ErrorMessage = failureMessageAccessor.GetDescriptionText(); } catch { ErrorMessage = "Unknown Error"; } try { FailureSeverity failureSeverity = failureMessageAccessor.GetSeverity(); ErrorSeverity = failureSeverity.ToString(); if (failureSeverity == FailureSeverity.Warning) { // 如果是警告,则禁止消息框 failuresAccessor.DeleteWarning(failureMessageAccessor); } else { // 如果是错误:则取消导致错误的操作,但是仍然继续整个事务 return(FailureProcessingResult.ProceedWithRollBack); } } catch { } } return(FailureProcessingResult.Continue); }
public WarningSwallower(FailureDefinitionId id) { _failureIdList.Add(id); }
public static void PostFailure(Document document, FailureDefinitionId failureId) { var msg = new FailureMessage(failureId); document.PostFailure(msg); }
public static void RegisterFailures() { GeneralFailure = new FailureDefinitionId(new Guid("14281B4C-0AD0-4654-88DD-68E2021F4131")); FailureDefinition.CreateFailureDefinition(GeneralFailure, FailureSeverity.Error, "Jejda, někde se stala chyba. Snad se to již nebude opakovat. Podívejte se prosím do souboru " + Paths.ErrorFile); }
/// <summary> /// Implements the OnStartup event /// </summary> /// <param name="application"></param> /// <returns></returns> public Result OnStartup(UIControlledApplication application) { try { // Create failure definition Ids Guid guid1 = new Guid("0C3F66B5-3E26-4d24-A228-7A8358C76D39"); Guid guid2 = new Guid("93382A45-89A9-4cfe-8B94-E0B0D9542D34"); Guid guid3 = new Guid("A16D08E2-7D06-4bca-96B0-C4E4CC0512F8"); m_idWarning = new FailureDefinitionId(guid1); m_idError = new FailureDefinitionId(guid2); // Create failure definitions and add resolutions m_fdWarning = FailureDefinition.CreateFailureDefinition(m_idWarning, FailureSeverity.Warning, "I am the warning."); m_fdError = FailureDefinition.CreateFailureDefinition(m_idError, FailureSeverity.Error, "I am the error"); m_fdWarning.AddResolutionType(FailureResolutionType.MoveElements, "MoveElements", typeof(DeleteElements)); m_fdWarning.AddResolutionType(FailureResolutionType.DeleteElements, "DeleteElements", typeof(DeleteElements)); m_fdWarning.SetDefaultResolutionType(FailureResolutionType.DeleteElements); m_fdError.AddResolutionType(FailureResolutionType.DetachElements, "DetachElements", typeof(DeleteElements)); m_fdError.AddResolutionType(FailureResolutionType.DeleteElements, "DeleteElements", typeof(DeleteElements)); m_fdError.SetDefaultResolutionType(FailureResolutionType.DeleteElements); } catch (System.Exception) { return Result.Failed; } return Result.Succeeded; }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { // Inside Event Handler Get all warnings IList <FailureMessageAccessor> failList = failuresAccessor.GetFailureMessages(); foreach (FailureMessageAccessor failure in failList) { // check FailureDefinitionIds against ones that you want to dismiss, FailureDefinitionId failID = failure.GetFailureDefinitionId(); // prevent Revit from showing Unenclosed room warnings if (failID == BuiltInFailures.JoinElementsFailures.CannotKeepJoined) { TaskDialog.Show("Failure", "8"); failuresAccessor.DeleteWarning(failure); } if (failID == BuiltInFailures.JoinElementsFailures.JoiningDisjointWarn) { TaskDialog.Show("Failure", "Highlighted elements are joined but do not intersect error. "); failuresAccessor.DeleteWarning(failure); } if (failID == BuiltInFailures.JoinElementsFailures.CannotJoinElements) { TaskDialog.Show("Failure", "Can't Keep Elements joined error"); failuresAccessor.DeleteWarning(failure); } if (failID == BuiltInFailures.JoinElementsFailures.CannotJoinElementsError) { failuresAccessor.DeleteWarning(failure); TaskDialog.Show("q", "1"); } if (failID == BuiltInFailures.JoinElementsFailures.CannotJoinElementsMultiPlaneError) { failuresAccessor.DeleteWarning(failure); TaskDialog.Show("q", "2"); } if (failID == BuiltInFailures.JoinElementsFailures.CannotJoinElementsStructuralError) { failuresAccessor.DeleteWarning(failure); TaskDialog.Show("q", "3"); } if (failID == BuiltInFailures.JoinElementsFailures.CannotJoinElementsWarn) { failuresAccessor.DeleteWarning(failure); TaskDialog.Show("q", "4"); } if (failID == BuiltInFailures.WallJoinFailures.FailedToChangeWallJointsTypeFailure) { failuresAccessor.DeleteWarning(failure); TaskDialog.Show("q", "5"); } if (failID == BuiltInFailures.ColumnInsideWallFailures.CopingWarningExtension) { failuresAccessor.DeleteWarning(failure); TaskDialog.Show("q", "6"); } if (failID == BuiltInFailures.ColumnInsideWallFailures.CopingWarningOffset) { failuresAccessor.DeleteWarning(failure); TaskDialog.Show("q", "7"); } if (failID == BuiltInFailures.JoinElementsFailures.CannotCutJoinedGeometry) { failuresAccessor.DeleteWarning(failure); TaskDialog.Show("q", "9"); } if (failID == BuiltInFailures.JoinElementsFailures.CannotJoinElementsStructural) { failuresAccessor.DeleteWarning(failure); TaskDialog.Show("q", "9"); } } return(FailureProcessingResult.Continue); }
public static void RegisterFailures() { GeneralFailure = new FailureDefinitionId(new Guid("14281B4C-0AD0-4654-88DD-68E2021F4131")); FailureDefinition.CreateFailureDefinition(GeneralFailure, FailureSeverity.Error, "Jejda, někde se stala chyba. Snad se to již nebude opakovat. Podívejte se prosím do souboru "+ Paths.ErrorFile); }
public static void PostFailure(Document document, FailureDefinitionId failureId, ElementId elementId) { var msg = new FailureMessage(failureId); msg.SetFailingElement(elementId); document.PostFailure(msg); }