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