Autodesk.Revit.DB.SlabShapeVertexArray
是一个表示楼板形状点数组的类,它包含了用于创建楼板元素的连续的 x,y 和 z 坐标值。该类可用于在Revit API中修改楼板形状。
Count
返回 SlabShapeVertexArray
中点的数目。
XYZ
获取或设置点的三维坐标值。可以使用此属性更改点的位置。
Item
获取或设置位于指定索引处的点的三维坐标值。可以使用此属性更改点的位置。
Add
向数组中添加新点。
Clear
清除数组中所有点的坐标。
Insert
在指定索引处插入新点。
RemoveAt
移除数组中指定索引处的点。
ToArray
将 SlabShapeVertexArray
转换为数组,该数组包含点的三维坐标值。
以下是一个简单的示例,用于创建一个楼板并修改其形状:
// 获取文档对象
Document doc = new Document();
// 创建楼板
ElementId levelId = new ElementId(0);
Floor floor = Floor.Create(doc, levelId, new List<Curve>(), 0);
// 获取楼板形状点数组
SlabShapeLayoutManager layoutManager = floor.GetSlabShapeLayoutManager();
SlabShapeArray slabShapes = layoutManager.SlabShapeArrays.get_Item(0);
SlabShapeVertexArray pointsArray = slabShapes.SlabShapeVertices.get_Item(0);
// 添加新点
pointsArray.Add(new XYZ(0, 5, 0));
// 移除指定索引处的点
pointsArray.RemoveAt(0);
// 更改点的位置
pointsArray.XYZ[0] = new XYZ(10, 10, 0);
// 提交修改
Transaction transaction = new Transaction(doc, "Modify Floor");
transaction.Start();
doc.Regenerate();
transaction.Commit();
该示例使用 SlabShapeVertexArray
修改了楼板的形状。首先,获取楼板对象,并获取其 SlabShapeVertices
属性中的第一个元素,即楼板形状点数组。然后,使用 Add
方法添加一个新点,使用 RemoveAt
方法移除第一个点,使用 XYZ
属性更改第一个点的位置。最后,使用事务提交修改。