Esempio n. 1
0
        /// <summary>
        /// 将实体添加到图纸空间
        /// </summary>
        /// <param name="db">数据库对象</param>
        /// <param name="ent">要添加的实体</param>
        /// <returns>返回添加到图纸空间中的实体ObjectId</returns>
        public static ObjectId AddToPaperSpace(this Database db, Entity ent)
        {
            var trans            = db.TransactionManager;
            BlockTableRecord btr = (BlockTableRecord)trans.GetObject(SymbolUtilityServices.GetBlockPaperSpaceId(db), OpenMode.ForWrite);
            ObjectId         id  = btr.AppendEntity(ent);

            trans.AddNewlyCreatedDBObject(ent, true);
            btr.DowngradeOpen();
            return(id);
        }
Esempio n. 2
0
        /// <summary>
        /// 将实体添加到图纸空间
        /// </summary>
        /// <param name="db">数据库对象</param>
        /// <param name="ents">要添加的多个实体</param>
        /// <returns>返回添加到图纸空间中的实体ObjectId集合</returns>
        public static ObjectIdCollection AddToPaperSpace(this Database db, params Entity[] ents)
        {
            ObjectIdCollection ids = new ObjectIdCollection();
            var trans            = db.TransactionManager;
            BlockTableRecord btr = (BlockTableRecord)trans.GetObject(SymbolUtilityServices.GetBlockPaperSpaceId(db), OpenMode.ForWrite);

            foreach (var ent in ents)
            {
                ids.Add(btr.AppendEntity(ent));
                trans.AddNewlyCreatedDBObject(ent, true);
            }
            btr.DowngradeOpen();
            return(ids);
        }
Esempio n. 3
0
        public static List <DBObject> GetAllObjectsInPaperSpace(Database db)
        {
            var list = new List <DBObject>();

            using (var transaction = db.TransactionManager.StartTransaction())
            {
                var blockTableRecord = transaction.GetObject(SymbolUtilityServices.GetBlockPaperSpaceId(db), 0) as BlockTableRecord;
                using (var enumerator = blockTableRecord.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        var current = enumerator.Current;
                        list.Add(transaction.GetObject(current, 0));
                    }
                }
                transaction.Commit();
            }
            return(list);
        }
Esempio n. 4
0
 /// <summary>
 /// 取得图纸空间ID
 /// </summary>
 /// <param name="db"></param>
 /// <returns></returns>
 public static ObjectId PaperSpaceId(Autodesk.AutoCAD.DatabaseServices.Database db)
 {
     return(SymbolUtilityServices.GetBlockPaperSpaceId(db));
 }
Esempio n. 5
0
 /// <summary>
 /// 获取图纸空间的ObjectId
 /// </summary>
 /// <param name="db"></param>
 /// <returns>返回图纸空间的ObjectId</returns>
 public static ObjectId GetPaperSpaceId(this Database db)
 {
     return(SymbolUtilityServices.GetBlockPaperSpaceId(db));
 }
Esempio n. 6
0
 /// <summary>
 /// Add entity to the paper space of the working database
 /// </summary>
 /// <param name="entity">Arx Entity</param>
 /// <param name="database">Arx database</param>
 /// <returns>ObjectId of the appended entity</returns>
 public static ObjectId AddToPaperSpace(this Entity entity, Database database)
 {
     return(AddToSpace(entity, database, SymbolUtilityServices.GetBlockPaperSpaceId(database)));
 }