예제 #1
0
        public static void PostFailure(Document document, FailureDefinitionId failureId, ElementId elementId)
        {
            var msg = new FailureMessage(failureId);

            msg.SetFailingElement(elementId);
            document.PostFailure(msg);
        }
예제 #2
0
 private void PostWarningIsFamilyDocument(Document document, ElementId id)
 {
     using (FailureMessage message = new FailureMessage(_warnIsFamilyDocumentId))
     {
         message.SetFailingElement(id);
         document.PostFailure(message);
     }
 }
예제 #3
0
        public void Execute(UpdaterData data)
        {
            Document doc = data.GetDocument();
            Application app = doc.Application;
            foreach (ElementId id in data.GetDeletedElementIds())
            {
                if (Command.IsProtected(id))
                {
                    FailureMessage failureMessage
                      = new FailureMessage(_failureId);

                    failureMessage.SetFailingElement(id);
                    doc.PostFailure(failureMessage);
                }
            }
        }
예제 #4
0
        /// <summary>
        /// Executed when the <see cref="ElementProtectionUpdater"/> is fired.
        /// This happens when an <see cref="Autodesk.Revit.DB.Element"/> of a category in the UpdaterRegistry is modified.
        /// </summary>
        /// <param name="data">The <see cref="Autodesk.Revit.DB.UpdaterData"/>.</param>
        public void Execute(UpdaterData data)
        {
            Document doc = data.GetDocument();

            foreach (ElementId id in data.GetModifiedElementIds())
            {
                if (this.protectedElementIds.Contains(id))
                {
                    // Protected element modified. Post a failure to reverse changes.
                    FailureMessage failureMessage = new FailureMessage(this.failureId);

                    failureMessage.SetFailingElement(id);
                    doc.PostFailure(failureMessage);
                }
            }
        }
예제 #5
0
        public void Execute(UpdaterData data)
        {
            Document    doc = data.GetDocument();
            Application app = doc.Application;

            foreach (ElementId id in data.GetDeletedElementIds())
            {
                if (Command.IsProtected(id))
                {
                    FailureMessage failureMessage
                        = new FailureMessage(_failureId);

                    failureMessage.SetFailingElement(id);
                    doc.PostFailure(failureMessage);
                }
            }
        }
예제 #6
0
        /// <summary>
        /// Handles the unexpected Exception.
        /// </summary>
        /// <param name="ex">The unexpected exception.</param>
        /// <param name="element ">The element got the exception.</param>
        internal void HandleUnexpectedException(Exception exception, ExporterIFC exporterIFC, Element element)
        {
            Document document = element.Document;
            string errMsg = String.Format("IFC error: Exporting element \"{0}\",{1} - {2}", element.Name, element.Id, exception.ToString());
            element.Document.Application.WriteJournalComment(errMsg, true);

            if (!ExporterUtil.IsFatalException(document, exception))
            {
                FailureMessage fm = new FailureMessage(BuiltInFailures.ExportFailures.IFCGenericExportWarning);
                fm.SetFailingElement(element.Id);
                document.PostFailure(fm);
            }
            else
            {
                // This exception should be rethrown back to the main Revit application.
                throw exception;
            }
        }
예제 #7
0
 public static void PostFailure(Document document, FailureDefinitionId failureId, ElementId elementId)
 {
     var msg = new FailureMessage(failureId);
     msg.SetFailingElement(elementId);
     document.PostFailure(msg);
 }