Revit二次开发之利用AdWindows在任意选项卡上创建按钮
来源:互联网 发布:淘宝云客服的测评考试 编辑:程序博客网 时间:2024/06/07 16:51
为了达到目的我们又不得不需要AdWindows.dll这个类库的帮助了——正所谓 夏日消溶,江河横溢,人或为鱼鳖。我们也玩转一下Revit——上代码!
[Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class Test : IExternalApplication { public Result OnStartup(UIControlledApplication application) { foreach (Autodesk.Windows.RibbonTab tab in Autodesk.Windows.ComponentManager.Ribbon.Tabs) { if (tab.Id == "Modify")//将按钮嵌入到修改选项卡上 {
Autodesk.Windows.RibbonPanel ADNPanel = new Autodesk.Windows.RibbonPanel(); Autodesk.Windows.RibbonPanelSource ADNSource = new Autodesk.Windows.RibbonPanelSource(); ADNSource.Id = "ID_NRC_Panel"; ADNSource.Name = "Navisworks"; ADNPanel.Source = ADNSource; Autodesk.Windows.RibbonButton button = new Autodesk.Windows.RibbonButton(); button.Image = new System.Windows.Media.Imaging.BitmapImage(new Uri(@"C:\ProgramData\Autodesk\Revit\Addins\2016\BIM工具箱\BIM\Image\NRC.ico")); button.LargeImage = new System.Windows.Media.Imaging.BitmapImage(new Uri(@"C:\ProgramData\Autodesk\Revit\Addins\2016\BIM工具箱\BIM\Image\NRC.ico")); button.ShowImage = true; button.Size = Autodesk.Windows.RibbonItemSize.Large; button.ShowText = true; button.Id = "ID_NRC_Button"; button.Name = "NRC"; button.Text = "Navis" + "\n" + "works"; button.IsEnabled = true; button.IsVisible = true; button.IsCheckable = true;//如果不设置,则按钮不可用,也不知是否为天生的Bug等有时间再解决喽 button.Orientation = System.Windows.Controls.Orientation.Vertical; ADNPanel.Source.Items.Add(button); Autodesk.Windows.ComponentManager.UIElementActivated += new EventHandler(ComponentManager_UIElementActivated); tab.Panels.Add(ADNPanel);
break; } } return Result.Succeeded; } //按钮触发事件,可以也逻辑代码,允许开启事务 void ComponentManager_UIElementActivated(object sender, Autodesk.Windows.UIElementActivatedEventArgs e) { if (e != null && e.Item != null && e.Item.Id != null && e.Item.Id == "ID_NRC_Button") {
try { //逻辑代码 } catch { } }
} public Result OnShutdown(UIControlledApplication application) { return Result.Succeeded; } }
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.Attributes;
using System.Windows.Media.Imaging;
namespace HelloWorld
{
}
转自;http://blog.sina.com.cn/s/blog_16796559b0102y8dq.html
阅读全文
1 0
- Revit二次开发之利用AdWindows在任意选项卡上创建按钮
- Revit二次开发_在Revit启动后创建Tab
- Revit二次开发之创建斑马线【比目鱼原创】
- Revit二次开发之“创建窗体执行Revit命令”
- Revit二次开发之创建双坡式屋顶及在屋顶开洞口【比目鱼原创】
- Revit二次开发之入门
- Building Coder(Revit 二次开发)- 在两条线之间创建尺寸
- Revit二次开发之“族”操作
- Revit二次开发之“族”操作
- revit二次开发之单位转换
- Revit二次开发 RadioButtonGroup设置被选中按钮
- Revit 二次开发 PickObjects完成按钮的触发
- C# revit 二次开发 创建线样式LineStyle
- C# revit 二次开发 创建线图案
- Revit 二次开发的环境配置<上手版>
- Building Coder(Revit 二次开发) - 在一个倾斜的面上创建墙
- [Revit二次开发]在WPF显示revit的三维视图
- Revit 二次开发
- Win7 64位 + Python2.7.14 + opencv3.1.0 + numpy-1.13.3配置安装
- spring的DI
- 根据程序名字关闭应用程序
- nodejs http post 请求
- 装有cuda的ubuntu14.04安装opencv3.0.0及问题
- Revit二次开发之利用AdWindows在任意选项卡上创建按钮
- 播控云对标玩客云,归属暴风非上市体系玩猫腻
- 移动端自适应封装的通用媒体查询代码
- C/C++中const使用详解
- DragChartPanel 可拖拽曲线的应用
- Android 序列化之Serializable和Parcelable
- Spring中@transactional原理
- 图片上传、预览 存到本地
- 基于Springmvc实现简单的一次选中多个文件上传