Revit开发之带UI的HelloWord

Revit插件开发教程



using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

/
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.Attributes;



namespace UIHelloWord
{
    [Transaction(TransactionMode.Manual)]
    [Regeneration(RegenerationOption.Manual)]
    [Journaling(JournalingMode.NoCommandData)]
    public class MyApp:IExternalApplication

    {

        public Result OnShutdown(UIControlledApplication application)
        {
            return Result.Succeeded;
        }

// 程序启动时运行
        public Result OnStartup(UIControlledApplication application)
        {
            string myTab = "MyTab";

            string myPanel = "MyPanel";

// 创建Tab

            application.CreateRibbonTab(myTab);

//创建并返回Panel

            RibbonPanel panel = application.CreateRibbonPanel(myTab, myPanel);


            string btnName = "MY_FIRST_BTN"; // 按钮的name必须要唯一,用户可以随意命名
            string btnText = "命令按钮"; // 按钮上面显示的文字,用户可以随意命名
            string btnAssemblyName = this.GetType().Assembly.Location; //命令所在的dll 的路径

            string btnClassName = "UIHelloWord.MyCommand";// 命令的命名空间 加类名

//创建按钮数据

            PushButtonData btnData = new PushButtonData(btnName, btnText, btnAssemblyName, btnClassName);
//再Panel中创建并返回按钮
            PushButton pbtn = (PushButton)panel.AddItem(btnData);

            return Result.Succeeded;
        }
    }
    [Transaction(TransactionMode.Manual)]
    [Regeneration(RegenerationOption.Manual)]
    [Journaling(JournalingMode.NoCommandData)]
    public class MyCommand : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            TaskDialog.Show("我的第一个命令", "Hello Word");
            return Result.Succeeded;
        }
    }

}

创建addin 文件,建议用add-in manager 创建

add-in manager 下面的Save里有一个 save checked items to Addins folder

点击这按钮 就会在C:\ProgramData\Autodesk\Revit\Addins\ 2014里生成一个addin文件

将这个文件复制到对应的Revit的版本的 addin文件夹下就可以了

比如;C:\ProgramData\Autodesk\Revit\Addins\ 2016

注意,点击 save checked items to Addins folder的时候最好只勾选,自己需要的Command或Application

<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
  <AddIn Type="Application">
    <Name>MyApp</Name>
    <Assembly>D:\RevitCodeLx\UIHelloWord\UIHelloWord\bin\Debug\UIHelloWord.dll</Assembly>
    <ClientId>4cd960e3-e565-4eea-814d-8d57aa11a2b4</ClientId>
    <FullClassName>UIHelloWord.MyApp</FullClassName>
    <VendorId>ADSK</VendorId>
    <VendorDescription>Autodesk, www.autodesk.com</VendorDescription>
  </AddIn>
</RevitAddIns>

将addin 文件复制到C:\ProgramData\Autodesk\Revit\Addins\ 对应Revit 的文件夹下面

比如:C:\ProgramData\Autodesk\Revit\Addins\ 2016



博主会经常更新一些技术文章,请大家多多关注,多多交流

更多技术交流,请加qq群480950299




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值