Revit二次开发——Ribbon菜单的创建以及各种不同的button(按钮)的代码总结

目录

一、创建普通的一个panel里面三个32px*32px的pushbutton,剩下两个写法一样

 二、创建三个层叠按钮 层叠按钮图标需为16px*16px 层叠按钮最多为一列放三个,这个也要创建个panel,具体看我效果图,不然就添加在第一个panel里面。

 三、创建下拉按钮,我是同样创建了panel,也可以添加到上面的panel里面。 

 四、创建下拉记忆按钮(可记忆上次使用的)下拉记忆按钮的SplitButton无需设置图标,选择哪个button会自动使用它的图标。

 五、创建单选按钮  意思就是两个或多个按钮,你只能选择其中一个。

 六、创建组合按钮

七、帮助  WIKI  chm这些的一个链接方式,这个简单搞定

​ 八、创建一个文本框

 九、我这里面的地址全部写死的,别人用就得重新编译。那就用下面的方式写活。

1、新建个文件夹把图片放进去。

2、另一种图片位置获取就是

3、这个方法忘了找不到了,等我找到再补充。(现在找到了)

十、最后就是控制哪个button在哪个视图或者工作集或者模式下不显示的事,就是写个类来控制就行了。做个例子;


解释和说明

先上几个图,以助于理解界面都有哪些按钮我们可以写在revit二开自己的界面上。

我用的revit2018API。不同之处细细琢磨吧!

 这是橄榄山叶雄进叶老师的课件截图。

 这两张是BIMBOX课程的截图。基本就是列出的这些按钮我们可以放在自己的菜单面板上;

零、首先要创建一个自己的Ribbon Tab 页,不然你的菜单放哪儿呢?就放Tab里面啊。

一、创建普通的一个panel里面三个32px*32px的pushbutton,剩下两个写法一样

 二、创建三个层叠按钮 层叠按钮图标需为16px*16px 层叠按钮最多为一列放三个,这个也要创建个panel,具体看我效果图,不然就添加在第一个panel里面。

然后把这三个按钮添加到你创建的panel里面。我是总共添加了六个按钮,所以效果图显示两列;

 

 三、创建下拉按钮,我是同样创建了panel,也可以添加到上面的panel里面。 

三个按钮添加到下拉框,下拉框添加了横的分割线,我总共添加了两边,主要是为了看下拉框添加横向分割线的区别,也演示一下同一个panel里面两个按钮之间的竖向分割线。

 四、创建下拉记忆按钮(可记忆上次使用的)下拉记忆按钮的SplitButton无需设置图标,选择哪个button会自动使用它的图标。

 这个也是添加了两遍哦!这个和第三的区别就是它记忆你上次的选择,你选哪个下次用直接外面点不用进去选一下。

 五、创建单选按钮  意思就是两个或多个按钮,你只能选择其中一个。

同样的创建,不同的是后面的添加方法的使用; 我是创建了三个单选按钮。三选一。每次只能从三个选择一个。

 六、创建组合按钮

注意要添加到自己的组里面,我分了两组。这个相当于下拉按钮里面添加了按钮的分组。

 

七、帮助  WIKI  chm这些的一个链接方式,这个简单搞定

 八、创建一个文本框

 九、我这里面的地址全部写死的,别人用就得重新编译。那就用下面的方式写活。

获取到当前文档dll的路径

然后创建按钮的时候把 @"E:\桌面\编程\CreateRibbonTab\CreateRibbonTab\bin\Debug\CreateRibbonTab.dll"

 全部换成获取到的dll的地址就行了,比如可以换成上面获取到的assemblyPath。

图片也有同样的问题啊,那就只有两种办法,

1、新建个文件夹把图片放进去。

记得设置两个图片的这个属性;

 然后就再一行代码获取到图片的位置

 这样不管谁用程序都不会丢失了。

2、另一种图片位置获取就是

var imageSource1 = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\Images\3D.png";

这是获取了程序集dll的路径,在此路径下有个Images的文件夹,里面就是要的照片。

3、这个方法忘了找不到了,等我找到再补充。(现在找到了)

这种就是获得本地dll文件的位置,然后再根据名称的替换把想要的图片找到,前提是dll文件和图片放在同一个文件夹内,放在别的文件夹或者放在上级文件夹的话就得自己尝试了。

 第一行是获取本地dll(本地安装的程序)的位置。获得的是插件不是revit的。

第二行是把dll的位置替换成图片的。

十、最后就是控制哪个button在哪个视图或者工作集或者模式下不显示的事,就是写个类来控制就行了。做个例子;

大概就这些内容了吧,以后有看到的想到的摸索到的再补充。

特别感谢叶进雄叶老师和BIMBOX的Kevin老师。

源代码在这(13条消息) Revit二次开发——Ribbon菜单的创建以及各种不同的button(按钮)的代码总结-C#文档类资源-CSDN文库

### 创建或自定义Revit中的按钮Revit创建或自定义按钮可以通过API实现,这允许开发者扩展软件的功能并提供更个性化的用户体验。以下是关于如何通过Revit API来创建和自定义按钮的相关信息。 #### 使用Revit API创建按钮 Revit API提供了多种方式来添加外部命令到用户界面(UI)。通常情况下,这些操作涉及以下几个方面: 1. **注册命令** 开发者可以利用`ExternalCommandData`类以及`IExternalCommand`接口来定义新的命令行为[^2]。当一个新命令被成功注册后,它可以在工具栏或者菜单项上显示出来作为可点击的按钮。 2. **配置RibbonPanel** 要将按钮放置于特定位置,比如某个选项卡下的面板里,则需调用`UiApplication.CreateRibbonPanel()`方法指定目标区域,并向其中添加控件实例[^3]。例如下面这段代码展示了如何在一个名为"MyTab"的新标签页下新增加一个带有图标的小部件: ```csharp PushButton pushButton = ribbonPanel.AddPushButton( new PushButtonData("MyButton", "My Button Name", assemblyLocation, commandClassName)); pushButton.ToolTip = "This is my custom tooltip."; pushButton.LargeImage = new Bitmap(largeIconPath); ``` 3. **设置图像资源路径** 图像文件应当存放在项目目录结构内的适当子文件夹内以便管理维护方便。上述例子中的变量`largeIconPath`应该指向实际存在的PNG格式图片地址[^4]。 4. **处理事件响应逻辑** 当最终用户触发该按钮时会执行关联的方法体内容;因此,在编写此类插件程序期间务必精心设计内部算法流程以满足业务需求[^5]。 #### 自定义现有按钮外观与交互特性 除了完全新建之外还可以调整已有组件的表现形式及其属性参数值。具体做法如下所示: - 修改文字描述、快捷键组合以及其他辅助说明字段; - 更改默认状态样式如颜色填充效果等视觉反馈机制; - 增强多语言支持能力从而适应国际化场景应用场合等等[^6]。 综上所述,借助强大的Revit平台开发环境能够轻松达成高度灵活定制化的目标!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值