The form is used to show the result
Inheritance: System.Windows.Forms.Form
Beispiel #1
0
 /// <summary>
 /// Implement this method as an external command for Revit.
 /// </summary>
 /// <param name="commandData">An object that is passed to the external application 
 /// which contains data related to the command, 
 /// such as the application object and active view.</param>
 /// <param name="message">A message that can be set by the external application 
 /// which will be displayed if a failure or cancellation is returned by 
 /// the external command.</param>
 /// <param name="elements">A set of elements to which the external application 
 /// can add elements that are to be highlighted in case of failure or cancellation.</param>
 /// <returns>Return the status of the external command. 
 /// A result of Succeeded means that the API external method functioned as expected. 
 /// Cancelled can be used to signify that the user cancelled the external operation 
 /// at some point. Failure should be returned if the application is unable to proceed with 
 /// the operation.</returns>
 public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData,
                                      ref string message,
                                      ElementSet elements)
 {
     Document document;
     document = commandData.Application.ActiveUIDocument.Document;
     // only a family document can retrieve family manager
     if (document.IsFamilyDocument)
     {
         m_familyManager = document.FamilyManager;
         List<string> errorMessages = ValidateParameters(m_familyManager);
         using(MessageForm msgForm = new MessageForm(errorMessages.ToArray()))
         {
             msgForm.StartPosition = FormStartPosition.CenterParent;
             msgForm.ShowDialog();
             return Autodesk.Revit.UI.Result.Succeeded;
         }
     }
     else
     {
         message = "please make sure you have opened a family document!";
         return Autodesk.Revit.UI.Result.Failed;
     }
 }
Beispiel #2
0
 /// <summary>
 /// The method is to validate parameters via FamilyParameter and FamilyType
 /// </summary>
 /// <param name="doc">the document which need to validate parameters</param>
 private void validateParameters(Document doc)
 {
     List<string> errorInfo = new List<string>();
     FamilyManager familyManager;
     if (doc.IsFamilyDocument)
     {
         familyManager = doc.FamilyManager;
         errorInfo = Command.ValidateParameters(familyManager);
     }
     else
     {
         errorInfo.Add("The current document isn't a family document, so the validation doesn't work correctly!");
     }
     using (MessageForm msgForm = new MessageForm(errorInfo.ToArray()))
     {
         msgForm.StartPosition = FormStartPosition.CenterParent;
         msgForm.ShowDialog();
     }
 }