在Revit的材料属性里,有一个是渲染属性。读取软然属性看起来不是那么直接。

下面的代码演示如何获取渲染属性中的具体属性。但是Revit还是尚未完全开放出所有属性可供访问,比如获取材料的表现文件名称。

基本的思路是从Material.RenderAppearance, 返回Asset对象。然后从Asset的item属性获取其中的属性。

请看下面详细VSTA代码演示:

     public void MaterialAppearanceProperties(){//Document doc = this.ActiveUIDocument.Document;FilteredElementCollector collector = new FilteredElementCollector(doc);collector.OfClass(typeof(Material));foreach(Element elem in collector){if(elem.Name == "Wood - Flooring")//if(elem.Name == "Concrete - Cast-in-Place Concrete")             {Material mat = elem as Material;Asset set = mat.RenderAppearance;string props = null;props = "Size = " + set.Size.ToString() + "\r\n";props += "Title = " + set.Title + "\r\n";props += "Lirary name = " + set.LibraryName + "\r\n";props += "Asettype" + set.AssetType.ToString();for(int i = 0; i < set.Size; i++){AssetProperty property = set[i];if(property is AssetPropertyString){AssetPropertyString val = property as AssetPropertyString;props += val.Name + "= " + val.Value.ToString() +"\r\n";}else if(property is AssetPropertyInteger){AssetPropertyInteger val = property as AssetPropertyInteger;props += val.Name + "= " + val.Value.ToString() +"\r\n";}else if(property is AssetPropertyEnum){AssetPropertyEnum val = property as AssetPropertyEnum;props += val.Name + "= " + val.Value.ToString() +"\r\n";}    else if(property is AssetPropertyDouble){AssetPropertyDouble val = property as AssetPropertyDouble;props += val.Name + "= " + val.Value.ToString() +"\r\n";}else if(property is AssetPropertyBoolean){AssetPropertyBoolean val = property as AssetPropertyBoolean;props += val.Name + "= " + val.Value.ToString() +"\r\n";}                       else if(property is AssetPropertyReference){AssetPropertyReference val = property as AssetPropertyReference;AssetProperty value = val.Value;if(value is AssetPropertyString){AssetPropertyString valueString = value as AssetPropertyString;props += val.Name + "= " + valueString.Value.ToString() +" Reference \r\n";}}                          else {props += property.Name + property.ToString() +"Other Type " + "\r\n";}}TaskDialog.Show("asdf",props);}         }}

转载请复制以下信息:
原文链接: http://blog.csdn.net/joexiongjin/article/details/8674183
作者:  叶雄进 , Autodesk ADN

编程读取Revit中材料的渲染属性相关推荐

  1. 读取revit中dwg信息

    Autodesk Revit 是一款建筑信息模型(BIM)软件,支持读取 DWG 文件.使用 Revit 读取 DWG 信息的步骤如下: 打开 Revit 软件. 选择"文件"菜单 ...

  2. Revit中元素重要的属性和方法

    Category(类别),Location(位置),LevelId(标高), GroupId(组),Id,UniqueId(唯一Id)等都是元素的几个重要属性. 重要的方法:GetMaterials( ...

  3. 博图读取温度的指令_如何用TIA15编程读取S7-300中PT100温度值-工业支持中心-西门子中国...

    1.6ES7 322-1BL00-0AA0 是数字量输出模块,不能连接 PT100 的热电阻信号.要用 SM 331 模块,具体选择及使用要看<模块数据手册> 比如专用的热电阻模块 6ES ...

  4. java串口编程-读取称重仪表中净重

    一.需求说明 将仪表和计算机串口相连,计算机通过软件向仪表发送指令,然后仪表返回结果,在计算机软件界面上显示. 二.实现过程 1.查看仪表说明书 仪表型号为XK3190-A9,主要是查看相关参数(波特 ...

  5. 在Revit中,如何编程创建新类型(如窗户或墙)

    在我们的ADN中,有许多人都问这个问题.这里与大家分享下. Revit的对象基本上都是基于类型的,把具有相同属性放在类型中保存,不熟悉类型这个概念的请看看帮助,我就不再多啰嗦了 :).在Revit中创 ...

  6. android读取工程目录下的文件,Android编程实现读取工程中的txt文件功能

    本文实例讲述了Android编程实现读取工程中的txt文件功能.分享给大家供大家参考,具体如下: 1. 众所周知,Android的res文件夹是用来存储资源的,可以在res文件夹下建立一个raw文件夹 ...

  7. Springboot中,如何读取配置文件中的属性

    摘要:在比较大型的项目的开发中,比较经常修改的属性我们一般都是不会在代码里面写死的,而是将其定义在配置文件中,之后如果修改的话,我们可以直接去配置文件中修改,那么在springboot的项目中,我们应 ...

  8. 在springboot中,如何读取配置文件中的属性

    摘要:在比较大型的项目的开发中,比较经常修改的属性我们一般都是不会在代码里面写死的,而是将其定义在配置文件中,之后如果修改的话,我们可以直接去配置文件中修改,那么在springboot的项目中,我们应 ...

  9. MySQL中的事务相关属性以及JDBC编程

    MySQL中的事务相关属性以及JDBC编程 事务

最新文章

  1. 再谈session共享
  2. ECS控制台支持创建资源时绑定标签
  3. c语言合法的数据类型关键字有哪些,C语言提供的合法的数据类型关键字是_________....
  4. dom加载完再执行 vue_vue中等页面dom加载完毕后执行某方法?
  5. 退出MFC应用程序的方法集
  6. 【BCVP升级】泛型主键的使用
  7. 160826、浏览器渲染页面过程描述,DOM编程技巧以及重排和重绘
  8. JAVA minaio模型_分布式系统之Java IO模型
  9. 利用C++实现自定义插件
  10. 信息学奥赛一本通 1191:流感传染 | OpenJudge NOI 2.3 6262:流感传染
  11. 爬虫-scrapy数据的持久化存储
  12. MFC工作笔记0005---::在vc++中是什么意思
  13. 总结前端常用控件和疑难杂症的解决方法
  14. Gstreamer之pts/dts(十九)
  15. C#:Access数据库的连接、读取,字段的增加、删除、更新、查询操作
  16. 简单了解机器学习(Machine Learning)
  17. Oracle 11g企业版下载
  18. 常用计算机防治病毒软件有哪些,如何防治计算机病毒?常用的反病毒软件有哪些?...
  19. 如何关闭服务器系统防火墙设置方法,怎么关闭防火墙 Windows自带防火墙关闭方法...
  20. 小程序源码:游戏扫码登录多功能工具箱集合

热门文章

  1. 月入10万的人,他们都掌握哪些秘密?
  2. Linux下的回收站trash
  3. 电源拓扑结构优缺点比较-常见开关电源优缺点对比
  4. Hello!我的大学生活学习指南
  5. nginx 排除 部分地址_在设计排除部分文化的图标时重新设计图标
  6. matlab安装到U盘,matlab u盘便携移动版
  7. 场景,或许才是未来空间设计的关键词,可能是最接近元宇宙的空间体验? | 浅空间专栏...
  8. Java将Excel转换为ODS
  9. 传统企业IT如何上云
  10. scala 中缀表达式和中置操作符