CAD二次开发之将图形对象添加到图形文件中

/// <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;
        }

猜你喜欢

转载自blog.csdn.net/weixin_42339460/article/details/80661058