Revit二次开发-Ribbon插件制作

  • Post author:
  • Post category:其他




RibbonTab介绍



在这里插入图片描述

  1. 创建项目

    UIButton
  2. 添加引用
    把两个的复制本地选为False

3添加制作位图需要添加的引用:PresentationCore、System.Xaml、WindowsBase
在这里插入图片描述

  1. 创建类(选项版)`

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using Autodesk.Revit.DB;
    using Autodesk.Revit.UI;
    using Autodesk.Revit.Attributes;
    
    using System.Windows.Media.Imaging;//需要添加引用:PresentationCore、    System.Xaml、WindowsBase
      using Autodesk.Revit.UI.Events;
    

namespace UIButton

{


[Transaction(TransactionMode.Manual)]

class IlluminationDesign :IExternalApplication

{


public Result OnShutdown(UIControlledApplication application)

{


return Result.Succeeded;

}

public Result OnStartup(UIControlledApplication application)

{


//【1】第一步:创建一个RibbonTab

application.CreateRibbonTab(“照明计算”);//new tab

//【2】第二步:在刚才的RibbonTab中创建 uIPanel

RibbonPanel rp = application.CreateRibbonPanel(“照明计算”, “选择光源”);

//【3】第三步:指定程序集的名称以及所使用的类名

string assemblyPath = @“D:\Desktop\VSdemo\UIButton\UIButton\bin\Debug\UIButton.dll”;

string classNameHelloRevit = “UIButton.HelloRevit”;

//【4】第四步:创建PushButton

PushButtonData pbd = new PushButtonData(“InnerNameRevit”, “灯具库”, assemblyPath, classNameHelloRevit);

//【4-1】将pushButton添加到面板中

PushButton pushButton = rp.AddItem(pbd) as PushButton;

//【4-2】添加图标

string imgPath = @“D:\Desktop\VSdemo\照明系统.png”;

pushButton.LargeImage = new BitmapImage(new Uri(imgPath));

//【4-3】设置默认信息

pushButton.ToolTip = “请选择合适的灯具”;

//【4-4】增加按钮

RibbonPanel rp2= application.CreateRibbonPanel(“照明计算”, “方案导出”);

string classNamefangan = “UIButton.fangan”;

//【4】第四步:创建PushButton

PushButtonData pbd2 = new PushButtonData(“InnerNameRevit”, “图纸和明细表”, assemblyPath, classNamefangan);

//【4-1】将pushButton添加到面板中

PushButton pushButton2 = rp2.AddItem(pbd2) as PushButton;

//【4-2】添加图标

string imgPath2 = @“D:\Desktop\VSdemo\明细表.png”;

pushButton2.LargeImage = new BitmapImage(new Uri(imgPath2));

//【4-3】设置默认信息

pushButton2.ToolTip = “生成图纸和明细表”;

return Result.Succeeded;

}

}

}`

  1. 创建命令按钮`using Autodesk.Revit.Attributes;

    using Autodesk.Revit.DB;

    using Autodesk.Revit.UI;

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

namespace UIButton

{


[Transaction(TransactionMode.Manual)]

public class HelloRevit : IExternalCommand

{

    public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
    {
        //获取当前文档
        Document doc = commandData.Application.ActiveUIDocument.Document;
        //显示Helioworld
        TaskDialog.Show("提示","方案生成完毕");
  return Result.Succeeded;
    }
      }

}



调试

在这里插入图片描述

  • 打开revit,加载外部程序

    在这里插入图片描述

    加载外部应用

    load创建的VS项目所在路径,点save,选择saved checked items to Addin folder

    此时C:\ProgramData\Autodesk\Revit\Addins\2014路径下产生.addin文件,复制进当前使用Revit版本下,我的是2016.

    在这里插入图片描述

    在这里插入图片描述

    再Load Applications
    在这里插入图片描述

    添加刚刚的addin文件即可。(若显示没有文件,选择all files可见)


参考教程



版权声明:本文为weixin_43602289原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。