读取Revit构件的材质


最近在公司正在做一个关于Revit模型展示的工具,需要获取Revit模型信息,然后在自己的3d控件中显示。通过学习,已经可以获取模型的Face,得到Mesh,进而得到三角网格和顶点数组等信息了,所以模型的样子已经可以在自制的控件中显示了,但是现在一直卡在怎么获取模型的颜色或材质上。

 

         之前用的是得到FamilyInstance的MaterialID,但得到的是个ID列表,里面是这个族所有使用到的材质,对于一个指定的FamilyInstance,我怎么得到每个Face是什么颜色或者材质?查询文档后发现 Document类有个方法 ElementId id = m_doc.GetPaintedMaterial(m_idEnt, face);是可以获取指定实体id上的面所使用的Material ID,但是这个函数返回的id总是无效的-1,

 

         现在一抹黑了,麻烦您看到后,能否指点一下方向?应该看哪些类?哪些方法?

 

         万分感谢!!

                                                                                                                                                                                                                                                                                       学生徐帅。


答:

请看下CustomExporter 这个类的用法. 借助这个可以获得构件的材质.

IExportContext..::..OnMaterial 这个方法中获得材质.

更多用法,请看Jeremy博客中的这篇文章.



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值