/// <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.");
        }
Example #2
0
            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);
            }
Example #3
0
        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);
      }
Example #5
0
            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);
            }
Example #6
0
 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);
 }
Example #9
0
        /// <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;
        }
Example #10
0
        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);
 }
 public static void PostFailure(Document document, FailureDefinitionId failureId)
 {
     var msg = new FailureMessage(failureId);
     document.PostFailure(msg);
 }