我正在开发一个项目,我需要在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;
颜色仅适用于材质颜色,不适用于表面图案和切割图案 我也没有任何错误 请指导我哪里出错了
提前谢谢
答案 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;