Autodesk.Revit.DB.Sketch
是用于创建和编辑 Revit 中二维和三维几何图形的类。Sketch 对象可以包含多个几何图形元素,包括线、弧、圆、矩形等等。
在 Revit 中创建 Sketch 的常见方式是通过使用 Autodesk.Revit.UI.Selection.PickObjects
方法选择几何图形元素,并调用 Autodesk.Revit.Creation.Document.NewSketch
方法创建新的 Sketch。
例如,下面的代码片段演示了如何创建一个 Sketch 并向其中添加一条直线:
// 获取当前的文档和视图
Document doc = commandData.Application.ActiveUIDocument.Document;
View view = commandData.Application.ActiveUIDocument.ActiveView;
// 选择几何图形元素
List<ElementId> elementIds = new List<ElementId>();
Selection sel = commandData.Application.ActiveUIDocument.Selection;
sel.SetElementIds(sel.PickObjects(ObjectType.Element, "Select elements"));
// 创建 Sketch
SketchPlane sketchPlane = SketchPlane.Create(doc, view.GenLevel);
Sketch sketch = doc.Create.NewSketch(sketchPlane);
// 向 Sketch 中添加直线
foreach (ElementId elementId in elementIds)
{
Element element = doc.GetElement(elementId);
if (element is Line line)
{
sketch.AddGeometry(line);
}
}
Sketch 对象提供了一系列方法来编辑其中的几何图形元素。例如,可以使用 Autodesk.Revit.DB.Sketch.Move
方法移动元素,使用 Autodesk.Revit.DB.Sketch.Trim
方法修剪或延长线条等。
下面的代码片段演示了如何将 Sketch 中所有元素向右移动 1 英尺:
// 获取当前的文档和视图
Document doc = commandData.Application.ActiveUIDocument.Document;
View view = commandData.Application.ActiveUIDocument.ActiveView;
// 获取需要编辑的 Sketch
Sketch sketch = ... // 获取需要编辑的 Sketch
// 创建向右移动的向量
XYZ vector = new XYZ(1.0, 0.0, 0.0);
// 移动 Sketch 中所有元素
foreach (GeometryElement geometryElement in sketch.Geometry)
{
if (geometryElement is Curve curve)
{
sketch.Move(curve.ReferenceArray, vector);
}
}
Autodesk.Revit.DB.Sketch
提供了创建和编辑 Revit 中二维和三维几何图形的能力。使用 Autodesk.Revit.UI.Selection.PickObjects
方法选择几何图形元素,并调用 Autodesk.Revit.Creation.Document.NewSketch
方法可以创建新的 Sketch。Sketch 对象还提供了一系列方法来编辑其中的几何图形元素。