/// <summary>
/// 将图形对象添加到图形文件中
/// </summary>
/// <param name="db">图形数据库</param>
/// <param name="ent">图形对象,可变参数</param>
/// <returns>图形的ObjectId,数组返回</returns>
public static ObjectId[] AddEnityToModelSpace(this Database db, params Entity[] ent)
{
//声明ObjectId,用于返回
ObjectId[] entId = new ObjectId[ent.Length];
//开启事务处理
using (Transaction trans = db.TransactionManager.StartTransaction())
{
//打开块表
BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
//打开块表记录
BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
for (int i = 0; i < ent.Length; i++)
{
//添加图形到块表记录
entId[i] = btr.AppendEntity(ent[i]);
//更新数据信息
trans.AddNewlyCreatedDBObject(ent[i], true);
}
//提交事务
trans.Commit();
}
return entId;
}
/// 将图形对象添加到图形文件中
/// </summary>
/// <param name="db">图形数据库</param>
/// <param name="ent">图形对象,可变参数</param>
/// <returns>图形的ObjectId,数组返回</returns>
public static ObjectId[] AddEnityToModelSpace(this Database db, params Entity[] ent)
{
//声明ObjectId,用于返回
ObjectId[] entId = new ObjectId[ent.Length];
//开启事务处理
using (Transaction trans = db.TransactionManager.StartTransaction())
{
//打开块表
BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
//打开块表记录
BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
for (int i = 0; i < ent.Length; i++)
{
//添加图形到块表记录
entId[i] = btr.AppendEntity(ent[i]);
//更新数据信息
trans.AddNewlyCreatedDBObject(ent[i], true);
}
//提交事务
trans.Commit();
}
return entId;
}