c# - 如何在revit api c#中为材料的表面图案添加颜色#
问题描述
我正在做一个项目,我需要在 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;
颜色仅适用于材料颜色,而不适用于表面图案和切割图案我也没有收到任何错误请指导我哪里出错了
先感谢您
解决方案
我认为它确实应用了颜色,但是您忘记添加图案。所以你现在有一个颜色但一个空的图案。你想让它坚固吗?然后我认为下面的代码应该可以工作(我没有测试过):
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;
推荐阅读
- excel - 使用 VBA 将表格从 Excel 复制到 PowerPoint
- python - 在 python 中使用 libpath 将文件从一个操作系统映射到另一个操作系统并且斜杠是错误的
- php - 将文本转换为破折号分隔的单词
- python - 如何输出已经输入的输入
- hadoop - 高密度板 315 | Hive DDL 查询问题
- sql - 使用 CAST、BETWEEN 和 INTERVAL 在 QUERY 中获得准确的结果
- javascript - 如何将 onclick 事件附加到从 vuejs "v-for=" 生成的每个项目以显示或隐藏其内部元素
- flutter - 如何修复颤动中的底部导航?
- python - 打印函数和调用涉及 Python 字典的函数的区别
- c++ - 什么 file.read(reinterpret_cast
(&variableName), sizeof(variablename)) 在 C++ 中用于读取图像吗?