Example #1
0
        /// <summary>
        /// 获取图层下的快参照
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public static List <BlockReference> GetBlockReferenceByLayerType(string layerName)
        {
            List <BlockReference> references = new List <BlockReference>();
            Database       db    = Application.DocumentManager.MdiActiveDocument.Database;
            BlockReference _br   = null;
            Transaction    trans = null;

            var list = MethodCommand.GetObjectIdsAtLayer(layerName);

            using (trans = db.TransactionManager.StartTransaction())
            {
                if (list != null && list.Count > 0)
                {
                    foreach (ObjectId id in list)
                    {
                        _br = trans.GetObject(id, OpenMode.ForRead) as BlockReference;
                        if (_br != null)
                        {
                            references.Add(_br);
                        }
                    }
                }

                return(references);
            }
        }