Building Coder(Revit 二次开发) - 内置参数名称和LabelUtils类
来源:互联网 发布:2017淘宝实时交易数据 编辑:程序博客网 时间:2024/06/07 19:00
Building Code 链接:http://thebuildingcoder.typepad.com/blog/2011/08/built-in-parameter-name-and-labelutils.html
Revit二次开发论坛链接:http://revit.5d6d.com/viewthread.php?tid=1281&extra=
之前我曾经提到过Revit 2011引入了一个新的辅助类:LabelUtils。现在另外一个问题让我觉得有必要再讨论一下 LabelUtils 的使用。
问题:
我需要得到一个内置参数的 Autodesk.Revit.DB.Definition.Name 属性。我知道 Element 的 get_Parameter() 方法有一个以 BuiltinParameter 为参数的重载版本。
但我找不到一个元素可以让我取得参数的名称。我期望是一个类似 Document.Settings.Categories(提供全局性的内置类别集合)的属性。我尝试过 Document.ParameterBindings。
但是这个字典映射好像只包含外部定义(即共享参数的定义),而不是内置参数。
回答:
下面这段代码可以取得所有内置参数的枚举值。这是你需要的代码吗?
string s = string.Empty;foreach( BuiltInParameter bip in Enum.GetValues( typeof( BuiltInParameter ) ) ){s += "\r\n" + bip.ToString();}TaskDialog.Show( "arameter Names", s );
问题:
不,我想要的是显示在用户界面上的内置参数名称。而且它们需要是本地化了的。实际上 Parameter.Definition.Name 的值应该就是我需要的结果。但是我现在的问题是
找不到一种方法可以让我取得所有这些内置参数的 Parameter.Definition.Name 的集合。假设有元素“e”包含这个内置参数集合,我就可以利用下面这段代码创建一个内置
参数名称与它对应的显示字符串之间的字典映射。
Element e;Dictionary<BuiltInParameter, string> mapBipToName = new Dictionary<BuiltInParameter, string>();foreach( BuiltInParameter bip in Enum.GetValues( typeof( BuiltInParameter ) ) ){ // translate built-in enum to parameter name Parameter p = e.get_Parameter( bip ); if( null != p ) { mapBipToName.Add( bip, p.Definition.Name ); }}
回答:
请看看 LabelUtils 类,特别是它的 GetLabelFor(BuiltinParameter p) 方法。这个方法返回给定内置参数 p 的本地化显示字符串。
- Building Coder(Revit 二次开发) - 内置参数名称和LabelUtils类
- Building Coder(Revit 二次开发) - 参数访问和计划信息
- Building Coder(Revit 二次开发) - 组合使用 Revit 和 Vault
- Building Coder(Revit 二次开发) - 共享类型参数
- Building Coder(Revit 二次开发) - 设置锁定参数的值
- Building Coder(Revit 二次开发) - 无模式窗口和消失的共享参数
- Building Coder(Revit 二次开发) - 列出链接文件和 TransmissionData
- Building Coder(Revit 二次开发) - 布尔操作和 InstanceVoidCutUtils
- Building Coder(Revit 二次开发) - UIView 和 Windows 设备坐标
- Building Coder(Revit 二次开发) - 对象关系
- Building Coder(Revit 二次开发) - RevitLoopup 更新
- Building Coder(Revit 二次开发) - 拖放API
- Building Coder(Revit 二次开发) - 翻译 Revit Tooltip
- Building Coder(Revit 二次开发) - 为一个共享参数绑定添加一个类别
- Building Coder(Revit 二次开发) - 元素层级事件(上)
- Building Coder(Revit 二次开发) - 元素层级事件(下)
- Building Coder(Revit 二次开发) - 失败处理API(上)
- Building Coder(Revit 二次开发) - 失败处理API(下)
- Java中的URLEncoder和URLDecoder类
- ExtJS实现Excel导出
- 收藏(理解红黑树)
- ABAP 屏幕参数
- 一起来学信息安全知识(2)——对称密码和非对称密码
- Building Coder(Revit 二次开发) - 内置参数名称和LabelUtils类
- 错误处理(Error-Handling):为何、何时、如何(rev#2)
- 在GEF中实现悬空的连线
- 系统中报表的使用
- IoC(控制反转)与依赖注入是什么个概念
- 深入讲解SQL Union和Union All的使用方法
- linux解压缩命令
- 求多边形重心
- lighttpd+PHP上传文件