我在revit中使用了splitface工具,并在墙上创建了一个spliface对象。
我正在尝试使用C#,这样如果我点击分割面,那么它的材质就会改变。我看了一些例子
Element splitelem = document.GetElement(wall.SplitElementId);
Autodesk.Revit.DB.Options opt = new Options();
Autodesk.Revit.DB.GeometryElement geomElem = wall.get_Geometry(opt);
int faceval = 0;
ElementId m = new ElementId(11534);
foreach (GeometryObject geomObj in geomElem)
{
// change the material using doc.paint();
}
但这不起作用。
答案 0 :(得分:0)
您可以尝试迭代几何对象,确定所有面,并在使用带有参数的Document.Paint方法(ElementId元素,Face,ElementId材质)后绘制您正面的面。
答案 1 :(得分:0)
Autodesk.Revit.DB.Options opt = new Options();
Autodesk.Revit.DB.GeometryElement geomElem = wall.get_Geometry(opt);
ElementId m = new ElementId(11534);
foreach (GeometryObject geomObj in geomElem)
{
if (geomObj is Face)
{
Face f = geomObj as Face;
doc.Paint(wall.Id, f, m);
}
}