Revit二次开发示例:HelloRevit

本示例实现Revit和Revit打开的文件的相关信息。

#region Namespaces
using System;
using System.Collections.Generic;
using System.Diagnostics;
using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
#endregion

namespace HelloRevit
{
    [Autodesk.Revit.Attributes.Transaction(TransactionMode.Manual)]
    [Autodesk.Revit.Attributes.Regeneration(RegenerationOption.Manual)]
    [Autodesk.Revit.Attributes.Journaling(JournalingMode.NoCommandData)]
    public class Command : IExternalCommand
    {
        public Result Execute(
          ExternalCommandData commandData,
          ref string message,
          ElementSet elements)
        {
            Application app = commandData.Application.Application;
            Document activeDoc = commandData.Application.ActiveUIDocument.Document;
            TaskDialog mainDialog = new TaskDialog("Hello, Revit!");
            mainDialog.MainInstruction = "Hello, Revit!";
            mainDialog.MainContent=
                "This sample shows how a basic ExternalCommand can be added to the Revit user interface."
                + " It uses a Revit task dialog to communicate information to the interactive user.
"
                + "The command links below open additional task dialogs with more information.";

            mainDialog.AddCommandLink(TaskDialogCommandLinkId.CommandLink1,
                "View information about the Revit installation");
            mainDialog.AddCommandLink(TaskDialogCommandLinkId.CommandLink2,
                "View information about the active document");

            mainDialog.CommonButtons = TaskDialogCommonButtons.Close;
            mainDialog.DefaultButton = TaskDialogResult.Close;
            mainDialog.FooterText=
                "<a href="http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=2484975 ">"
                + "Click here for the Revit API Developer Center</a>";

            TaskDialogResult tResult = mainDialog.Show();
            if (TaskDialogResult.CommandLink1 == tResult)
            {
                TaskDialog dialog_CommandLink1 = new TaskDialog("Revit Build Informaiton");
                dialog_CommandLink1.MainInstruction =
                    "Revit Version Name is: " + app.VersionName + "
"
                    + "Revit Version Number is: " + app.VersionNumber + "
"
                    + "Revit Version Build is: " + app.VersionBuild;
                dialog_CommandLink1.Show();
            }
            else if (TaskDialogResult.CommandLink2 == tResult)
            {
                TaskDialog.Show("Active Document Information",
                    "Active document: " + activeDoc.Title + "
"
                    + "Active view name: " + activeDoc.ActiveView.Name);
            }

            return Result.Succeeded;
        }
    }
}
View Code
原文地址:https://www.cnblogs.com/xpvincent/p/3611875.html