根据模型中模型线生成墙
public Result Execute(ExternalCommandData commandData, ref string message, Autodesk.Revit.DB.ElementSet elements)
{
//通过commandData获取UIDocument
UIDocument uidoc = commandData.Application.ActiveUIDocument;
//通过uidoc获取revit当前文档
Document doc = uidoc.Document;
//
ElementId leveId = new ElementId(339);
ElementId wallTypeId = new ElementId(36772);
//在revit当前文档下,进行选择元素的操作
var reference = uidoc.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType.Element);
//获取直接选择的这个元素
var element = doc.GetElement(reference.ElementId);
//对所选择的元素进行类型转换(或者可以理解成指定获取元素的类别,比如:墙、楼板、屋顶等等)
ModelLine line1 = element as ModelLine;
Curve line = line1.GeometryCurve;
using (Transaction transaction = new Transaction(doc))
{
transaction.Start("Create wall");
Wall wall = Wall.Create(doc, line, wallTypeId, leveId, 5, 0, true, false);//.CreateBound(new XYZ(0, 0, 0), new XYZ(0, 100, 0))
transaction.Commit();
}
return Autodesk.Revit.UI.Result.Succeeded;
}