如何在revit api中添加颜色到材质的表面图案#

时间:2018-05-21 08:50:23

标签: c# revit-api revit

我正在开发一个项目,我需要在revit api中为元素的材质添加属性 我能够完成任务,除了我无法添加表面图案颜色和剪切图案颜色。

我的代码如下

Color matColor = new Color(Byte.Parse(materials.Red.ToString()), Byte.Parse(materials.Green.ToString()), Byte.Parse(materials.Blue.ToString()));
myMaterial.Color = matColor;
myMaterial.Transparency = 0;
myMaterial.SurfacePatternColor = matColor;
myMaterial.CutPatternColor = matColor;  

颜色仅适用于材质颜色,不适用于表面图案和切割图案 我也没有任何错误 请指导我哪里出错了

提前谢谢

1 个答案:

答案 0 :(得分:0)

我认为它确实应用了颜色,但是你忘了添加一个模式。所以你现在有一个颜色但是空图案。 你想要它坚实吗?然后我认为以下代码应该可以工作(我还没有测试过):

FillPatternElement myFillPattern = new FilteredElementCollector(doc).OfClass(typeof(FillPatternElement)).Cast<FillPatternElement>().First(a => a.Name.Contains("Solid fill"));
myMaterial.SurfacePatternId = myFillPattern.Id;
myMaterial.CutPatternId = myFillPattern.Id;