private void FailureProcessor(object sender, FailuresProcessingEventArgs e) { FailuresAccessor fas = e.GetFailuresAccessor(); List <FailureMessageAccessor> fma = fas.GetFailureMessages().ToList(); foreach (FailureMessageAccessor fa in fma) { //TODO } }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { IList <FailureMessageAccessor> failureMessageAccessors = failuresAccessor.GetFailureMessages(); foreach (FailureMessageAccessor failureMessageAccessor in failureMessageAccessors) { failuresAccessor.DeleteWarning(failureMessageAccessor); } return(FailureProcessingResult.Continue); }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { var failList = failuresAccessor.GetFailureMessages(); foreach (FailureMessageAccessor failure in failList) { failuresAccessor.DeleteWarning(failure); } return(FailureProcessingResult.Continue); }
public FailureProcessingResult ProcessFailures(FailuresAccessor data) { switch (data.GetSeverity()) { case FailureSeverity.Warning: data.ResolveFailures(data.GetFailureMessages()); return(FailureProcessingResult.ProceedWithCommit); default: return(FailureProcessingResult.ProceedWithRollBack); } }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { foreach (FailureMessageAccessor failure in failuresAccessor.GetFailureMessages()) { FailureDefinitionId failID = failure.GetFailureDefinitionId(); if (failureDefinitionIdList.Exists(e => e.Guid.ToString() == failID.Guid.ToString())) { failuresAccessor.DeleteWarning(failure); } } return(FailureProcessingResult.Continue); }
/// <summary> /// Log the failures coming from shape creation. /// </summary> /// <param name="failuresAccessor">The failure messages</param> /// <returns>The result of processing the failures.</returns> /// <remarks>This is in no way intended to be final code, as it doesn't actual handle failures, /// just logs them.</remarks> public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { if (LoggingEnabled && m_LogFile != null) { int currentlyProcessedEntityId = (CurrentlyProcessedEntity != null) ? CurrentlyProcessedEntity.Id : 0; IList <FailureMessageAccessor> failList = failuresAccessor.GetFailureMessages(); foreach (FailureMessageAccessor failure in failList) { if (currentlyProcessedEntityId != 0) { Write("#" + currentlyProcessedEntityId + ": "); } else { Write("GENERIC "); } switch (failure.GetSeverity()) { case FailureSeverity.Warning: Write("WARNING: "); break; default: Write("ERROR: "); break; } ICollection <ElementId> failureIds = failure.GetFailingElementIds(); int numFailureIds = (failureIds == null) ? 0 : failureIds.Count; if (numFailureIds > 0) { Write("(Revit Element Id"); if (numFailureIds > 1) { Write("s"); } Write(": "); foreach (ElementId failureId in failureIds) { Write(failureId + " "); } Write("): "); } WriteLine(failure.GetDescriptionText()); } // Only remove the warnings if logging is on. failuresAccessor.DeleteAllWarnings(); } return(FailureProcessingResult.Continue); }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { // if there are any failures, rollback the transaction if (failuresAccessor.GetFailureMessages().Count > 0) { return(FailureProcessingResult.ProceedWithRollBack); } else { return(FailureProcessingResult.Continue); } }
public FailureProcessingResult PreprocessFailures(FailuresAccessor accessor) { var failures = accessor.GetFailureMessages(); foreach (var failure in failures) { //var id = failure.GetFailureDefinitionId(); //if (BuiltInFailures.GeneralFailures.ErrorInFamilyResolved == id) accessor.DeleteWarning(failure); } return(FailureProcessingResult.Continue); }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { // inside event handler, get all warnings IList <FailureMessageAccessor> fmas = failuresAccessor.GetFailureMessages(); if (fmas.Count == 0) { return(FailureProcessingResult.Continue); } foreach (FailureMessageAccessor fma in fmas) { FailureSeverity s = fma.GetSeverity(); if (s == FailureSeverity.Warning) { failuresAccessor.DeleteWarning(fma); } else if (s == FailureSeverity.Error) { //FailureDefinitionId id = fma.GetFailureDefinitionId(); //if (id == BuiltInFailures.JoinElementsFailures.) //{ // only default option being choosen, // not good enough! //failuresAccessor.ResolveFailure(fma); //} //return FailureProcessingResult.ProceedWithRollBack; } /* * switch (s) * { * // Slightly off axis error gets ignored * case "Element is slightly off axis and may cause inaccuracies.": * * break; * * case "Beam or Brace is slightly off axis and may cause inaccuracies.": * break; * * default: * * //GlobalVariables.WarningList.Add(new WarningEntry(a.GetTransactionName(), f.GetDescriptionText(), f.GetFailingElementIds())); * break; * } * a.DeleteWarning(f); */ } return(FailureProcessingResult.Continue); }
private void OnFailuresProcessing(object sender, FailuresProcessingEventArgs e) { FailuresAccessor failuresAccessor = e.GetFailuresAccessor(); //string transactionName = failuresAccessor.GetTransactionName(); IList <FailureMessageAccessor> fmas = failuresAccessor.GetFailureMessages(); if (fmas.Count > 0) { List <FailureMessageInfo> failureMessageInfoList = new List <FailureMessageInfo>(); foreach (FailureMessageAccessor fma in fmas) { FailureMessageInfo messageInfo = new FailureMessageInfo(); try { messageInfo.ErrorMessage = fma.GetDescriptionText(); messageInfo.ErrorSeverity = fma.GetSeverity().ToString(); messageInfo.FailingElementIds = fma.GetFailingElementIds().ToList(); } catch { messageInfo.ErrorMessage = "Unknown Error"; } failureMessageInfoList.Add(messageInfo); //add log message FailureDefinitionId definitionId = fma.GetFailureDefinitionId(); Guid defGuid = definitionId.Guid; if (!FailureDefinitionIds.Contains(defGuid)) { LogFileManager.AppendLog(messageInfo); FailureDefinitionIds.Add(defGuid); } if (FailureSeverity.Warning == fma.GetSeverity()) { failuresAccessor.DeleteWarning(fma); } else if (FailureSeverity.Error == fma.GetSeverity()) { e.SetProcessingResult(FailureProcessingResult.ProceedWithRollBack); return; } } if (failuresAccessor.IsFailureResolutionPermitted()) { failuresAccessor.ResolveFailures(fmas); } e.SetProcessingResult(FailureProcessingResult.ProceedWithCommit); return; } e.SetProcessingResult(FailureProcessingResult.Continue); }
/// <summary> /// Will dismiss all warnings /// </summary> private void DismissAllWarnings(object o, FailuresProcessingEventArgs e) { FailuresAccessor fa = e.GetFailuresAccessor(); IList <FailureMessageAccessor> failList = fa.GetFailureMessages(); // Inside event handler, get all warnings // warningsNum += failList.Count; foreach (FailureMessageAccessor failure in failList) { fa.DeleteWarning(failure); warningsNum += 1; } }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { IList <FailureMessageAccessor> failList = new List <FailureMessageAccessor>(); // Inside event handler, get all warnings failList = failuresAccessor.GetFailureMessages(); foreach (FailureMessageAccessor failure in failList) { failuresAccessor.DeleteWarning(failure); } return(FailureProcessingResult.Continue); }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { //IList<FailureMessageAccessor> failureMessages = failuresAccessor.GetFailureMessages(); //foreach (FailureMessageAccessor currenMessageAcessor in failureMessages) //{ // failuresAccessor.ResolveFailure(currenMessageAcessor); //} failuresAccessor.DeleteAllWarnings(); return(FailureProcessingResult.Continue); }
public FailureProcessingResult PreprocessFailures(FailuresAccessor a) { IList <FailureMessageAccessor> failures = a.GetFailureMessages(); foreach (FailureMessageAccessor f in failures) { if (f.GetSeverity().ToString() == "Warning") { a.DeleteWarning(f); } } return(FailureProcessingResult.Continue); }
private void FailureProcessor(object sender, FailuresProcessingEventArgs e) { FailuresAccessor fas = e.GetFailuresAccessor(); List <FailureMessageAccessor> fma = fas.GetFailureMessages().ToList(); foreach (FailureMessageAccessor fa in fma) { string failuremessage = fa.GetDescriptionText(); fas.DeleteWarning(fa); } }
FailureProcessingResult IFailuresPreprocessor.PreprocessFailures(FailuresAccessor failuresAccessor) { if (!failuresAccessor.IsTransactionBeingCommitted()) { return(FailureProcessingResult.Continue); } if (failuresAccessor.GetSeverity() >= FailureSeverity.DocumentCorruption) { return(FailureProcessingResult.ProceedWithRollBack); } if (failuresAccessor.GetSeverity() >= FailureSeverity.Error) { // Handled failures in order { var failureDefinitionIdsToFix = FailureDefinitionIdsToFix; if (failureDefinitionIdsToFix != null) { var result = FixFailures(failuresAccessor, failureDefinitionIdsToFix); if (result != FailureProcessingResult.Continue) { return(result); } } } // Unhandled failures in incomming order { var failureDefinitionIdsToFix = failuresAccessor.GetFailureMessages().GroupBy(x => x.GetFailureDefinitionId()).Select(x => x.Key); var result = FixFailures(failuresAccessor, failureDefinitionIdsToFix); if (result != FailureProcessingResult.Continue) { return(result); } } } if (failuresAccessor.GetSeverity() >= FailureSeverity.Warning) { // Unsolved failures or warnings foreach (var error in failuresAccessor.GetFailureMessages().OrderBy(error => error.GetSeverity())) { AddRuntimeMessage(error, false); } failuresAccessor.DeleteAllWarnings(); } return(FailureProcessingResult.Continue); }
public FailureProcessingResult PreprocessFailures(FailuresAccessor a) { var failures = a.GetFailureMessages(); foreach (var f in failures) { var id = f.GetFailureDefinitionId(); if (BuiltInFailures.GeneralFailures.DuplicateValue == id) { a.DeleteWarning(f); } } return(FailureProcessingResult.Continue); }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { foreach (FailureMessageAccessor fMA in failuresAccessor.GetFailureMessages()) { FailureList.Add(fMA.GetDescriptionText()); FailureDefinitionId FailDefID = fMA.GetFailureDefinitionId(); //if (FailDefID == BuiltInFailures // .GeneralFailures.DuplicateValue) // failuresAccessor.DeleteWarning(fMA); } return(FailureProcessingResult.Continue); }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { var failList = failuresAccessor.GetFailureMessages(); foreach (var item in failList) { var failureId = item.GetFailureDefinitionId(); if (failureId == BuiltInFailures.InaccurateFailures.InaccurateBeamOrBrace) { failuresAccessor.DeleteWarning(item); } } return(FailureProcessingResult.Continue); }
/// <summary> /// Implementation of the IFailuresPreprocessor. /// </summary> /// <param name="failuresAccessor"></param> /// <returns></returns> public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { foreach (FailureMessageAccessor failure in failuresAccessor.GetFailureMessages()) { // Delete any "Can't paste duplicate types. Only non duplicate types will be pasted." warnings if (failure.GetFailureDefinitionId() == BuiltInFailures.CopyPasteFailures.CannotCopyDuplicates) { failuresAccessor.DeleteWarning(failure); } } // Handle any other errors interactively return(FailureProcessingResult.Continue); }
private static void OnFailuresProcessing(object sender, Autodesk.Revit.DB.Events.FailuresProcessingEventArgs e) { FailuresAccessor failuresAccessor = e.GetFailuresAccessor(); IEnumerable <FailureMessageAccessor> failureMessages = failuresAccessor.GetFailureMessages(); foreach (FailureMessageAccessor failureMessage in failureMessages) { if (failureMessage.GetSeverity() == FailureSeverity.Warning) { failuresAccessor.DeleteWarning(failureMessage); } } e.SetProcessingResult(FailureProcessingResult.Continue); }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { IList <FailureMessageAccessor> Failures = failuresAccessor.GetFailureMessages(); foreach (FailureMessageAccessor failure in Failures) { if (failure.GetSeverity().ToString().Contains("Warning")) { FailureDefinitionId Id = failure.GetFailureDefinitionId(); failuresAccessor.DeleteAllWarnings(); } } return(FailureProcessingResult.Continue); }
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); }
private void Application_FailuresProcessing(object sender, FailuresProcessingEventArgs e) { FailuresAccessor failuresAccessor = e.GetFailuresAccessor(); failuresAccessor.DeleteAllWarnings(); IList <FailureMessageAccessor> fmas = failuresAccessor.GetFailureMessages(); var options = failuresAccessor.GetFailureHandlingOptions(); options.SetClearAfterRollback(true); options.SetForcedModalHandling(false); failuresAccessor.SetFailureHandlingOptions(options); }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { foreach (FailureMessageAccessor failure in failuresAccessor.GetFailureMessages()) { FailureDefinitionId defId = failure.GetFailureDefinitionId(); //delete warning "Elevation View Delete" if (failure.GetSeverity() == FailureSeverity.Warning) { failuresAccessor.DeleteWarning(failure); } } return(FailureProcessingResult.Continue); }
public FailureProcessingResult PreprocessFailures(FailuresAccessor fa) { var failures = fa.GetFailureMessages(); foreach (var f in failures) { var failId = f.GetFailureDefinitionId(); if (failId == BuiltInFailures.OverlapFailures.DuplicateInstances || failId == BuiltInFailures.GeneralFailures.DuplicateValue) { fa.DeleteWarning(f); } } return(FailureProcessingResult.Continue); }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { IList <FailureMessageAccessor> FailureList = new List <FailureMessageAccessor>(); FailureList = failuresAccessor.GetFailureMessages(); foreach (FailureMessageAccessor failure in FailureList) { FailureDefinitionId failID = failure.GetFailureDefinitionId(); if (failID == BuiltInFailures.GroupFailures.AtomViolationWhenOnePlaceInstance) { failuresAccessor.DeleteWarning(failure); } } return(FailureProcessingResult.Continue); }
private void TransactionManager_FailuresRaised(FailuresAccessor failuresAccessor) { IList <FailureMessageAccessor> failList = failuresAccessor.GetFailureMessages(); IEnumerable <FailureMessageAccessor> query = from fail in failList where fail.GetSeverity() == FailureSeverity.Warning select fail; foreach (FailureMessageAccessor fail in query) { Logger.Log("!! Warning: " + fail.GetDescriptionText()); failuresAccessor.DeleteWarning(fail); } }
/// <summary> /// This method is called when there have been failures found at the end of a transaction and Revit is about to start processing them. /// </summary> /// <param name="failuresAccessor"></param> /// <returns></returns> public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { // 在事务结束时,Revit即将处理这些错误之前调用 IList <FailureMessageAccessor> fmas = failuresAccessor.GetFailureMessages(); if (fmas.Count == 0) { return(FailureProcessingResult.Continue); } String transactionName = failuresAccessor.GetTransactionName(); // 用事件名称区分是否是要处理的错误信息 if (transactionName.Equals("Warning_FailurePreproccessor")) { foreach (FailureMessageAccessor fma in fmas) { FailureDefinitionId id = fma.GetFailureDefinitionId(); if (id == Command.m_idWarning) { // 删除警告 failuresAccessor.DeleteWarning(fma); } } return(FailureProcessingResult.ProceedWithCommit); } else if (transactionName.Equals("Warning_FailurePreproccessor_OverlappedWall")) { foreach (FailureMessageAccessor fma in fmas) { FailureDefinitionId id = fma.GetFailureDefinitionId(); if (id == BuiltInFailures.OverlapFailures.WallsOverlap) { // 删除错误 failuresAccessor.DeleteWarning(fma); } } return(FailureProcessingResult.ProceedWithCommit); } else { // 不做处理 return(FailureProcessingResult.Continue); } }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { IList <FailureMessageAccessor> failList = new List <FailureMessageAccessor>(); var criticalFails = 0; var failedElements = new List <ElementId>(); // Inside event handler, get all warnings 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.RoomFailures.RoomNotEnclosed) //{ var t = failure.GetDescriptionText(); _converter.ConversionErrors.Add(new Exception(t)); var s = failure.GetSeverity(); if (s == FailureSeverity.Warning) { continue; } try { failuresAccessor.ResolveFailure(failure); } catch (Exception e) { // currently, the whole commit is rolled back. this should be investigated further at a later date // to properly proceed with commit failedElements.AddRange(failure.GetFailingElementIds()); _converter.ConversionErrors.Clear(); _converter.ConversionErrors.Add(new Exception( "Objects failed to bake due to a fatal error!\n" + "This is likely due to scaling issues - please ensure you've set the correct units on your objects or remove any invalid objects.\n\n" + "Revit error: " + t)); // logging the error var exception = new Speckle.Core.Logging.SpeckleException("Revit commit failed: " + t, e, level: Sentry.SentryLevel.Warning); return(FailureProcessingResult.ProceedWithCommit); } } failuresAccessor.DeleteAllWarnings(); return(FailureProcessingResult.Continue); }
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(); //BuiltInFailures.JoinElementsFailures.CannotKeepJoined == id || // BuiltInFailures.JoinElementsFailures.CannotJoinElementsError == id || // BuiltInFailures.JoinElementsFailures.CannotJoinElementsStructural == id || // BuiltInFailures.JoinElementsFailures.CannotJoinElementsStructuralError == id || // BuiltInFailures.JoinElementsFailures.CannotJoinElementsWarn == id if (BuiltInFailures.InaccurateFailures.InaccurateLine == id || BuiltInFailures.OverlapFailures.DuplicateInstances == id || BuiltInFailures.InaccurateFailures.InaccurateCurveBasedFamily == id || BuiltInFailures.InaccurateFailures.InaccurateBeamOrBrace == id ) { a.DeleteWarning(f); } //else if(BuiltInFailures.CurveFailures.LineTooShortError == id || // BuiltInFailures.CurveFailures.LineTooShortWarning == id // ) //{ // a.RollBackPendingTransaction(); //} else { a.RollBackPendingTransaction(); } } return FailureProcessingResult.Continue; }
FailureProcessingResult PreprocessFailures( FailuresAccessor a) { IList<FailureMessageAccessor> failures = a.GetFailureMessages(); foreach( FailureMessageAccessor f in failures ) { FailureSeverity fseverity = a.GetSeverity(); if( fseverity == FailureSeverity.Warning ) { a.DeleteWarning( f ); } else { a.ResolveFailure( f ); return FailureProcessingResult.ProceedWithCommit; } } return FailureProcessingResult.Continue; }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { tm.ProcessFailures(failuresAccessor); return FailureProcessingResult.Continue; }
/// <summary> /// Method that Revit will invoke to process failures at the end of transaction. /// </summary> /// <param name="failuresAccessor">Provides all necessary data to perform the resolution of failures.</param> /// <returns></returns> public FailureProcessingResult ProcessFailures(FailuresAccessor failuresAccessor) { IList<FailureMessageAccessor> fmas = failuresAccessor.GetFailureMessages(); if (fmas.Count == 0) { return FailureProcessingResult.Continue; } String transactionName = failuresAccessor.GetTransactionName(); if (transactionName.Equals("Error_FailuresProcessor")) { foreach (FailureMessageAccessor fma in fmas) { FailureDefinitionId id = fma.GetFailureDefinitionId(); if (id == Command.m_idError) { failuresAccessor.ResolveFailure(fma); } } return FailureProcessingResult.ProceedWithCommit; } else { return FailureProcessingResult.Continue; } }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { foreach (FailureMessageAccessor failure in failuresAccessor.GetFailureMessages()) { // Delete any "Can't paste duplicate types. Only non duplicate types will be pasted." warnings //if (failure.GetFailureDefinitionId() == BuiltInFailures.CopyPasteFailures.CannotCopyDuplicates) if (failure.GetFailureDefinitionId() == BuiltInFailures.CopyPasteFailures.CannotCopyDuplicates) { failuresAccessor.DeleteWarning(failure); //failuresAccessor.GetType(); } //List<ElementId> delete = new List<ElementId>(); //failuresAccessor.DeleteElements(delete); } // Handle any other errors interactively return FailureProcessingResult.Continue; }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { var failList = failuresAccessor.GetFailureMessages(); var query = from fail in failList let severity = fail.GetSeverity() where severity == FailureSeverity.Warning select fail; foreach (var fail in query) { DynamoLogger.Instance.Log( "!! Warning: " + fail.GetDescriptionText()); failuresAccessor.DeleteWarning(fail); } return FailureProcessingResult.Continue; }
private static void TransactionManager_FailuresRaised(FailuresAccessor failuresAccessor) { IList<FailureMessageAccessor> failList = failuresAccessor.GetFailureMessages(); IEnumerable<FailureMessageAccessor> query = from fail in failList where fail.GetSeverity() == FailureSeverity.Warning select fail; foreach (FailureMessageAccessor fail in query) { dynSettings.DynamoLogger.Log("!! Warning: " + fail.GetDescriptionText()); failuresAccessor.DeleteWarning(fail); } }
/// <summary> /// This method is called when there have been failures found at the end of a transaction and Revit is about to start processing them. /// </summary> /// <param name="failuresAccessor">The Interface class that provides access to the failure information. </param> /// <returns></returns> public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { IList<FailureMessageAccessor> fmas = failuresAccessor.GetFailureMessages(); if (fmas.Count == 0) { return FailureProcessingResult.Continue; } String transactionName = failuresAccessor.GetTransactionName(); if (transactionName.Equals("Warning_FailurePreproccessor")) { foreach (FailureMessageAccessor fma in fmas) { FailureDefinitionId id = fma.GetFailureDefinitionId(); if (id == Command.m_idWarning) { failuresAccessor.DeleteWarning(fma); } } return FailureProcessingResult.ProceedWithCommit; } else if (transactionName.Equals("Warning_FailurePreproccessor_OverlappedWall")) { foreach (FailureMessageAccessor fma in fmas) { FailureDefinitionId id = fma.GetFailureDefinitionId(); if (id == BuiltInFailures.OverlapFailures.WallsOverlap) { failuresAccessor.DeleteWarning(fma); } } return FailureProcessingResult.ProceedWithCommit; } else { return FailureProcessingResult.Continue; } }
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; }
private void ProcessFailures(FailuresAccessor failures) { if (FailuresRaised == null) return; FailuresRaised(failures); }
/// <summary> /// Log the failures coming from shape creation. /// </summary> /// <param name="failuresAccessor">The failure messages</param> /// <returns>The result of processing the failures.</returns> /// <remarks>This is in no way intended to be final code, as it doesn't actual handle failures, /// just logs them.</remarks> public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { int currentlyProcessedEntityId = (CurrentlyProcessedEntity != null) ? CurrentlyProcessedEntity.Id : 0; IList<FailureMessageAccessor> failList = failuresAccessor.GetFailureMessages(); foreach (FailureMessageAccessor failure in failList) { if (currentlyProcessedEntityId != 0) Write("#" + currentlyProcessedEntityId + ": "); else Write("GENERIC "); switch (failure.GetSeverity()) { case FailureSeverity.Warning: Write("WARNING: "); break; default: Write("ERROR: "); break; } ICollection<ElementId> failureIds = failure.GetFailingElementIds(); int numFailureIds = (failureIds == null) ? 0 : failureIds.Count; if (numFailureIds > 0) { Write("(Revit Element Id"); if (numFailureIds > 1) Write("s"); Write(": "); foreach (ElementId failureId in failureIds) Write(failureId + " "); Write("): "); } WriteLine(failure.GetDescriptionText()); } // Only remove the warnings if logging is on. failuresAccessor.DeleteAllWarnings(); return FailureProcessingResult.Continue; }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { // Use default failure processing return FailureProcessingResult.Continue; }