Revit二次开发——怎样将插件添加到面板上
来源:互联网 发布:收购域名骗局 编辑:程序博客网 时间:2024/06/08 03:15
做好了插件,后面一步就需要把插件加载到面板上了。
这里revit专门为加载插件提供了一系列api。具体api的介绍看revit二次开发官方教程第10章。但这里讲得很泛,缺少完整代码的实际例子。另外有个难点(textbox),我现在也没搞清楚,还请后面研究这一块的人加以补充。
好吧,直接粗暴的放源代码吧。
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.UI.Selection;using Autodesk.Revit.ApplicationServices;namespace MenuTool{ [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] [Autodesk.Revit.Attributes.Journaling(Autodesk.Revit.Attributes.JournalingMode.NoCommandData)] [Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)] public class Class1 : IExternalApplication { public Result OnShutdown(UIControlledApplication application) { return Result.Succeeded; } public Result OnStartup(UIControlledApplication application) { string macString = GetMacAddress.GetMacAddressByDos(); if (macString == "FC:AA:14:42:B5:79" || macString == "1C:1B:0D:37:58:75" || macString == "48:8A:D2:35:95:53" || macString == "48:8A:D2:35:BF:BB" || macString == "48:8A:D2:35:D2:D2" || macString == "48:8A:D2:35:95:50"|| macString == "48:8A:D2:35:47:4C") { //添加一个模型线转钢筋的新面板 RibbonPanel ribbonPanel1 = application.CreateRibbonPanel("模型线转钢筋"); //在面板上添加钢筋按钮 RibbonItemData item1 = new PushButtonData("批量建纵筋", "纵筋", @"C:\ProgramData\Autodesk\Revit\Addins\2015\钢筋插件\模型线转钢筋\批量建纵筋.dll", "批量建纵筋.Class1"); RibbonItemData item2 = new PushButtonData("快速建箍筋", "箍筋", @"C:\ProgramData\Autodesk\Revit\Addins\2015\钢筋插件\模型线转钢筋\快速建箍筋.dll", "快速建箍筋.Class1"); RibbonItemData item3 = new PushButtonData("批量建任意钢筋", "任意钢筋", @"C:\ProgramData\Autodesk\Revit\Addins\2015\钢筋插件\模型线转钢筋\批量建任意钢筋.dll", "批量建任意钢筋.Class1"); IList<RibbonItem> listRibbon1 = ribbonPanel1.AddStackedItems(item1, item2, item3); //添加一个模型线族转钢筋的新面板 RibbonPanel ribbonPanel2 = application.CreateRibbonPanel("模型线族转钢筋"); //在面板上添加钢筋按钮 RibbonItemData item4 = new PushButtonData("模型线族转纵筋", "纵筋", @"C:\ProgramData\Autodesk\Revit\Addins\2015\钢筋插件\模型线族转钢筋\模型线族转纵筋.dll", "模型线族转纵筋.Class1"); RibbonItemData item5 = new PushButtonData("模型线族转箍筋", "箍筋", @"C:\ProgramData\Autodesk\Revit\Addins\2015\钢筋插件\模型线族转钢筋\模型线族转箍筋.dll", "模型线族转箍筋.Class1"); RibbonItemData item6 = new PushButtonData("模型线族转任意钢筋", "任意钢筋", @"C:\ProgramData\Autodesk\Revit\Addins\2015\钢筋插件\模型线族转钢筋\模型线族转任意钢筋.dll", "模型线族转任意钢筋.Class1"); IList<RibbonItem> listRibbon2 = ribbonPanel2.AddStackedItems(item4, item5, item6); //将菜单转化为按钮 PushButton pushButton1 = listRibbon1[0] as PushButton; PushButton pushButton2 = listRibbon1[1] as PushButton; PushButton pushButton3 = listRibbon1[2] as PushButton; PushButton pushButton4 = listRibbon2[0] as PushButton; PushButton pushButton5 = listRibbon2[1] as PushButton; PushButton pushButton6 = listRibbon2[2] as PushButton; return Result.Succeeded; } else { TaskDialog.Show("Revit","您的机器不在允许使用范围以内,请联系作者:广州阿仁 13202088954"); return Result.Cancelled; } } }}
最后的效果如上图。
阅读全文
0 0
- Revit二次开发——怎样将插件添加到面板上
- Revit二次开发——怎样使用dynamo的类
- Revit二次开发——怎样在类中直接应用WPF窗口
- Revit二次开发——revit怎么给桥梁加钢筋
- Revit二次开发入门——Task Dialogs
- revit二次开发——自适应构件族
- Revit二次开发——场地地形
- Revit二次开发——空间曲线
- Revit 二次开发的环境配置<上手版>
- revit二次开发——族——载入族
- Revit二次开发——获得与墙相交的墙
- Revit二次开发入门——创建外部命令
- Revit二次开发——使用IExternalApplication定制UI
- Revit二次开发入门——获取模型中门窗数量
- Revit二次开发入门——通过过滤器获取元素
- Revit二次开发入门——获取和修改元素参数
- Revit二次开发入门——重要的属性和方法
- revit二次开发——自适应点的局部坐标系
- QQ快速登录的实现原理
- Angular2-tutorial-one: Setup a basic project
- Spring学习总结(五)——Spring整合MyBatis(Maven+MySQL)一
- MathJax基础(10):Commutative diagrams
- apache 配置虚拟目录权限问题
- Revit二次开发——怎样将插件添加到面板上
- 李洋疯狂C语言之有关“you are come from shanghai”逆序(二)
- 《C++ Primer》第九章 顺序容器
- 快速开发android应用4-使用viewpager+fragment构建主页
- java多线程之CAS详解
- memcache扩展安装
- Java集合类详解
- ssm整合
- Spring aop概述-1