/// <summary>
        /// 强行删除图层及图层上的所有实体对象
        /// </summary>
        /// <param name="db">图形数据库</param>
        /// <param name="layerName">图层名</param>
        /// <param name="delete"></param>
        /// <returns></returns>
        public static bool DeleteLayer(this Database db, string layerName, bool delete)
        {
            if (layerName == "0" || layerName == "Defpoints")
            {
                return(false);
            }
            bool isDeleteOK = false;

            using (Transaction trans = db.TransactionManager.StartTransaction())
            {
                LayerTable lt = (LayerTable)trans.GetObject(db.LayerTableId, OpenMode.ForRead);
                lt.GenerateUsageData();
                if (lt.Has(layerName))
                {
                    LayerTableRecord ltr = (LayerTableRecord)lt[layerName].GetObject(OpenMode.ForWrite);
                    if (delete)
                    {
                        if (ltr.IsUsed)
                        {
                            ltr.deleteAllEntityInLayer();
                        }
                        if (db.Clayer == ltr.ObjectId)
                        {
                            db.Clayer = lt["0"];
                        }
                        ltr.Erase();
                        isDeleteOK = true;
                    }
                    else
                    {
                        if (!ltr.IsUsed && db.Clayer != lt[layerName])
                        {
                            ltr.Erase();
                            isDeleteOK = true;
                        }
                    }
                }
                else
                {
                    isDeleteOK = true;
                }
                trans.Commit();
            }
            return(isDeleteOK);
        }