选择物体遍历的到ids
直接开启事务创建组
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
namespace Revit创建组
{
[TransactionAttribute(TransactionMode.Manual)]
public class Class1 : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
//应用
UIApplication uiApp = commandData.Application;
//定义用户文件夹
UIDocument uIDocument = uiApp.ActiveUIDocument;
//转为Document
Document document = uIDocument.Document;
//选择要成组的
IList<Reference> references = uIDocument.Selection.PickObjects(Autodesk.Revit.UI.Selection.ObjectType.Element);
List<ElementId> ids = new List<ElementId>();
//获取ids
foreach (Reference reference in references)
{
ids.Add(reference.ElementId);
}
using (Transaction transaction = new Transaction(document, "创建组"))
{
transaction.Start();
//创建组
document.Create.NewGroup(ids);
transaction.Commit();
TransactionStatus transactionStatus = transaction.GetStatus();
if (transactionStatus == TransactionStatus.Committed)
{
TaskDialog.Show("提示", "创建成功!");
}
}
return Result.Succeeded;
}
}
}