编程创建你自己的Ribbon选项卡

来源:互联网 发布:mac打字不出现选字框 编辑:程序博客网 时间:2024/05/16 00:44


Revit的用户界面可以自定,但是只能通过Revit API来实现。无法想AutoCAD里面通过界面的功能设置的方式来实现,并能保存成cui文件,发送给别人。Revit的自定义界面只能通过二次开发来实现,可以在既有选项卡中添加(分析选项卡和外部命令选项卡)自己的功能按钮,也可以创建你自己的功能选项卡,自己来布置选项卡的样式。


下面代码演示如何创建自定义的选项卡,并想其中添加一个Panel,然后向Panel中添加一个按钮。

 [TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)]public class CreateAButton : IExternalApplication{    public Result OnStartup(UIControlledApplication application)  {    string myTab = "MyCommandTab";    application.CreateRibbonTab(myTab);    application.CreateRibbonPanel(Tab.AddIns, "MyPanel1");    application.CreateRibbonPanel(Tab.Analyze, "MyPanel2");    application.CreateRibbonPanel(myTab, "MyPanel3");    RibbonPanel panel = application.CreateRibbonPanel("ADN Class");    PushButtonData data = new PushButtonData("UniqueName","Property",         @"C:\yejo\Revit\SDK\Revit 2013\RevitLookup\CS\bin\Debug\RevitLookup.dll",        "RevitLookup.CmdSnoopModScope");    PushButton button = panel.AddItem(data) as PushButton;     button.ToolTip = "See Selected Element";    button.LongDescription =       "This button created for the demo of creating the Ribbon control";    button.LargeImage = GetBitmapImage("c:\\ButtonIcon.png");    return Result.Succeeded;  }  public Result OnShutdown(UIControlledApplication application)  {    return Result.Succeeded;  }  public BitmapImage GetBitmapImage(string imageName)  {    return new BitmapImage(new Uri(     imageName));  }}



Revit创建的自定义选项卡无法通过变量的方式进行引用,也就是通过Revit 提供的API接口你无法对所创建的选项卡进行删除,隐藏。你只能用字符串的形式来指代目标自定义选项卡向其中添加Panel。

    application.CreateRibbonPanel(myTab, "MyPanel3");


Jeremy 有一篇博客文章谈到如何使用非Revit API接口来实现对Ribbon上的对象进行操作的问题。但是使用这些方法不是Autodesk推荐使用的方法。你自己需要承担由此造成的一些问题风险的结果。

http://thebuildingcoder.typepad.com/blog/2011/02/pimp-my-autocad-or-revit-ribbon.html



转载请复制以下信息:
原文链接: http://blog.csdn.net/joexiongjin/article/details/8875360
作者:  叶雄进 , Autodesk ADN


原创粉丝点击