Revit API 之 气泡
来源:互联网 发布:网络作家猫腻 编辑:程序博客网 时间:2024/04/30 02:57
在Revit中制作一个气泡,友好提示给用户会有很多种办法。但是这里讲解的是基于Autodesk内部提供的方法。风格将与Revit 气泡提示一致。先不废话,先看一下代码:
using Autodesk.Revit.UI;using Autodesk.Revit.DB;using Autodesk.Revit.Attributes;using Autodesk.Internal.InfoCenter;namespace BIM.Test{ [Transaction(TransactionMode.Manual)] public class RevitUI : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { //-----Revit消息提示气泡 var paletteMgr = Autodesk.Windows.ComponentManager.InfoCenterPaletteManager; var resultItem = new ResultItem() { Category = "气泡标题", // 气泡标题 Title = "Title Text1", // 气泡内容 }; resultItem.ResultClicked += resultItem_ResultClicked; // 当鼠标点击气泡内容时触发此事件 paletteMgr.ShowBalloon(resultItem); return Result.Succeeded; } void resultItem_ResultClicked(object sender, ResultClickEventArgs e) { TaskDialog.Show("气泡内容", "点击了气泡内容!"); } }}
通过上述代码即可出现如上图所示的气泡提示。此气泡提示的API归属于Adwindows.dll ,引用此dll以及其相关依赖项,即可。此气泡可用于对用户进行友好提示。
那么有没有办法在其它区域显示类似鼠标悬停气泡提示呢?当然是有的,先看如下代码:
using Autodesk.Revit.UI;using Autodesk.Revit.DB;using Autodesk.Revit.Attributes;using Autodesk.Internal.InfoCenter;namespace BIM.Test{ [Transaction(TransactionMode.Manual)] public class RevitUI : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { //-----Revit提示气泡 UIFramework.EnhancedTooltipImpl.Show("族名称:族类型:族ID"); return Result.Succeeded; } }}
如上代码所示,提示气泡将会自动在鼠标的位置下方显示提示文本。其实显示气泡的方式有很多种,可以自己定制重绘控件,Popup等等。如果要求不高,既然Autodesk 内部提供了简单的气泡功能,也可以直接进行使用。以上代码所API所归属的dll为UIFramework.dll。引用此dll及相关依赖项即可。
0 0
- Revit API 之 气泡
- Revit API 进阶之隐藏dll讲解.
- revit api 之PostCommand用法之一
- Revit API进阶之调用Revit命令、外部命令、其他插件按钮、右键菜单命令...
- Revit API 之 动态修改Ribbon命令控件快捷键
- Revit API 进阶之隐藏Element用户可见参数.
- Revit API 之 如何查找材质属性所对应的中文名称
- Revit API Hook 之 拦截鼠标双击元素事件
- Revit API 风管对齐
- Revit 2014 发布, Revit 2014 API新功能
- revit API 获取族标题
- 第一章节:Revit API基本概念
- Revit 之开篇
- Revit二次开发之入门
- Revit开发之AddInCommandBinding
- Revit开发之PreviewControl
- Revit开发之IUpdater
- Revit开发之SelectionFilterElement
- 【javascript方法函数小结】
- 「Unity2D」使用Unity创建一个2D游戏系列-6
- linux管理进程的链表
- 串口2
- 一个特殊的超全局变量
- Revit API 之 气泡
- requirejs源码学习笔记(二)
- C++模板元编程
- 「Unity2D」使用Unity创建一个2D游戏系列-7
- 大小图生成的两种方法-未整理
- 纯css实现tab切换
- Android 序列化需要注意的细节
- Spring MVC之接收页面表单参数
- git学习—(4)进行一次简单提交