[TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)]
public class cmdRoom : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements)
{
UIApplication uiApp = commandData.Application;
Document doc = uiApp.ActiveUIDocument.Document;
Selection sel = uiApp.ActiveUIDocument.Selection;
Transaction ts = new Transaction(doc, " http://revit.5d6d.com " );
ts.Start();
// 遍历所有房间
FilteredElementCollector collector = new FilteredElementCollector(doc);
collector.OfCategory(BuiltInCategory.OST_Rooms);
foreach (Element el in collector)
{
Room room = el as Room;
LocationPoint roomPoint = room.Location as LocationPoint;
// 为房间创建空间
doc.Create.NewSpace(room.Level, new UV(roomPoint.Point.X, roomPoint.Point.Y));
}
ts.Commit();
return Result.Succeeded;
}
}
public class cmdRoom : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements)
{
UIApplication uiApp = commandData.Application;
Document doc = uiApp.ActiveUIDocument.Document;
Selection sel = uiApp.ActiveUIDocument.Selection;
Transaction ts = new Transaction(doc, " http://revit.5d6d.com " );
ts.Start();
// 遍历所有房间
FilteredElementCollector collector = new FilteredElementCollector(doc);
collector.OfCategory(BuiltInCategory.OST_Rooms);
foreach (Element el in collector)
{
Room room = el as Room;
LocationPoint roomPoint = room.Location as LocationPoint;
// 为房间创建空间
doc.Create.NewSpace(room.Level, new UV(roomPoint.Point.X, roomPoint.Point.Y));
}
ts.Commit();
return Result.Succeeded;
}
}