public Autodesk.Revit.UI.Result OnStartup(Autodesk.Revit.UI.UIControlledApplication application) { RibbonPanel ribbonPanel = application.CreateRibbonPanel("NewRibbonPanel"); //PushButtonData pbd = new PushButtonData("name", "text", @"C:\Users\einst\Desktop\Danqing\GitRepo\RevitLab\2.2 HelloWorld\bin\Debug\2.2 HelloWorld.dll", "HelloWorld"); PushButton pushBotton = ribbonPanel.AddItem(new PushButtonData("HelloWorld", "HelloWorld", @"C:\Users\einst\AppData\Roaming\Autodesk\Revit\Addins\2016\HelloWorld.dll", "_2._2_HelloWorld.HelloWorld")) as PushButton; Uri urlImage = new Uri(@"C:\Users\einst\Desktop\Danqing\UrlImage\01.jpg"); BitmapImage largeImage = new BitmapImage(urlImage); pushBotton.LargeImage = largeImage; return Result.Succeeded; }
/// <summary> /// Implement this method to implement the external application which should be called when /// Revit starts before a file or default template is actually loaded. /// </summary> /// <param name="application">An object that is passed to the external application /// which contains the controlled application.</param> /// <returns>Return the status of the external application. /// A result of Succeeded means that the external application successfully started. /// /// Cancelled can be used to signify that the user cancelled the external operation at /// some point. /// /// If Failed is returned then Revit should inform the user that the external application /// failed to load and the release the internal reference. /// /// This method also adds a ribbon panel and button to launch an IExternalCommand /// defined in UICommand.cs. It also registers a new IPerformanceAdviserRule-implementing class /// (m_FlippedDoorApiRule) with PerformanceAdviser. /// /// </returns> public Autodesk.Revit.UI.Result OnStartup(Autodesk.Revit.UI.UIControlledApplication application) { #region Add command button RibbonPanel rp = application.CreateRibbonPanel("PerformanceAdviserControl"); string currentAssemby = System.Reflection.Assembly.GetAssembly(this.GetType()).Location; PushButton pb = rp.AddItem(new PushButtonData("Performance Adviser", "Performance Adviser", currentAssemby, "PerformanceAdviserControl.UICommand")) as PushButton; Uri uriImage = new Uri(System.IO.Path.GetDirectoryName(currentAssemby) + "\\Button32.png"); BitmapImage largeImage = new BitmapImage(uriImage); pb.LargeImage = largeImage; #endregion #region Create and register new API rule (FlippedDoorCheck) m_FlippedDoorApiRule = new FlippedDoorCheck(); Autodesk.Revit.DB.PerformanceAdviser.GetPerformanceAdviser().AddRule(m_FlippedDoorApiRule.getRuleId(), m_FlippedDoorApiRule); #endregion return Autodesk.Revit.UI.Result.Succeeded; }