public static class Commands
{
[CommandMethod("test")]
static public void test()
{
Database database = HostApplicationServices.WorkingDatabase;
DBPoint dbpoint
= new DBPoint
(new Point3d
(1,
1,
1)); AddToModelSpace(database, dbpoint);
}
public static ObjectIdCollection AddToModelSpace(Database database, params Entity[] list)
{
ObjectIdCollection ids
= new ObjectIdCollection
(); AcDb.TransactionManager manager = database.TransactionManager;
using (Transaction action = manager.StartTransaction())
{
BlockTable blockTable =
action.GetObject(database.BlockTableId, OpenMode.ForRead) as BlockTable;
if (blockTable == null)
throw new System.NullReferenceException("blockTable == null");
BlockTableRecord blockTableRecord =
action.GetObject(blockTable[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
if (blockTableRecord == null)
throw new System.NullReferenceException("blockTableRecord == null");
foreach (Entity ent in list)
{
ids.Add(blockTableRecord.AppendEntity(ent));
action.AddNewlyCreatedDBObject(ent, true);
}
action.Commit();
}
return ids;
}
}