Revit

Revit 二次开发——Ribbon的使用

如果想自定义在菜单栏创建按钮,例如像【附加模块】这样的按钮,这时就会用到Ribbon。
代码示例:
首先创建一个按钮弹出提示信息:

namespace UIButtonDemo
{
    [Transaction(TransactionMode.Manual)]
    class HelloRevitDemo : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            //获取当前文档
            Document doc = commandData.Application.ActiveUIDocument.Document;
            //显示信息
            TaskDialog.Show("Demo", "你好,Revit");
            return Result.Succeeded;
        }
    }
}

然后再编写UI:

namespace UIButtonDemo
{
    [Transaction(TransactionMode.Manual)]
    public class UIDemo : IExternalApplication
    {
        public Result OnShutdown(UIControlledApplication application)
        {
            return Result.Succeeded;
        }

        public Result OnStartup(UIControlledApplication application)
        {
            //1.创建一个RibbonTab
            application.CreateRibbonTab("UITab");
            //2.在新创建的RibbonTab中创建UIPanel
            RibbonPanel rp = application.CreateRibbonPanel("UITab", "UIPanel");
            //3.指定程序集的名称以及所用的类名
            string asseablelyPath = @" F:\revit二次开发\UIButtonDemo\UIButtonDemo\bin\Debug\UIButtonDemo.dll";
            string classNameHelloRevit = "UIButtonDemo.HelloRevitDemo";
            //4.创建pushButton
            PushButtonData pbd = new PushButtonData("InnerName", "HelloRevit", asseablelyPath, classNameHelloRevit);
            //4-1将pushButton添加到面板中
            PushButton pushButton = rp.AddItem(pbd) as PushButton;
            //4-2给按钮添加图片(大图标一般是32px,小图标是16)
            string imgPath = @"F:\revit二次开发\UIButtonDemo\UIButtonDemo\logo1.png";
            pushButton.LargeImage = new BitmapImage(new Uri(imgPath));
            //4-3给按钮提供个默认信息
            pushButton.ToolTip = "HelloRevit";

            //4-4再添加一个按钮
            string classNameHelloWord = "UIButtonDemo.HelloWordDemo";
            //4.创建pushButton
            PushButtonData pbdSecond = new PushButtonData("InnerNameSecond", "HelloWord", asseablelyPath, classNameHelloWord);
            //4-1将pushButton添加到面板中
            PushButton pushButtonSecond = rp.AddItem(pbdSecond) as PushButton;
            //4-2给按钮添加图片(大图标一般是32px,小图标是16)
            string imgPathSecond = @"F:\revit二次开发\UIButtonDemo\UIButtonDemo\logo2.png";
            pushButtonSecond.LargeImage = new BitmapImage(new Uri(imgPathSecond));
            //4-3给按钮提供个默认信息
            pushButtonSecond.ToolTip = "HelloWord";
            return Result.Succeeded;
        }
    }
}

我这里的UI编写中添加了两个按钮,只需要将上面的代码再多创建一个,然后就可以启动生成了。
启动生成之后,在【附加模块】下的外部工具中,将Loaded Commands下的进行移除,选择Loaded Applications,最后点击save下的第一个。
在这里插入图片描述

然后就会在C:\ProgramData\Autodesk\Revit\Addins\2014目录下生成.addin文件,我的revit是2018的,所以将addin文件放到2018中。
最后会弹出让你重新载入,选择之后就能正常完成了。
完成效果图:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值