最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

AutoCAD .Net禁止圖元被刪除的方法

 更新時(shí)間:2018年06月30日 13:26:53   作者:HisinWang  
這篇文章主要為大家詳細(xì)介紹了AutoCAD .Net禁止圖元被刪除的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文為大家分享了AutoCAD .Net禁止圖元被刪除的具體代碼,供大家參考,具體內(nèi)容如下

禁止圖元被用戶刪除可以通過 ObjectOverrule 實(shí)現(xiàn)。

以下代碼:

1、命令 AddEraseOverrule 創(chuàng)建兩個(gè)圖元并禁止被刪除。
2、命令 RemoveEraseOverrule 移除刪除限制。

static EraseOverrule eraseRule = null;

public class EraseOverrule : ObjectOverrule
{
 public override void Erase(DBObject dbObject, bool erasing)
 {
  throw new Autodesk.AutoCAD.Runtime.Exception(
    Autodesk.AutoCAD.Runtime.ErrorStatus.NotApplicable);
  //base.Erase(dbObject, erasing);
 }
}

[CommandMethod("AddEraseOverrule")]
public static void AddEraseOverrule()
{
 if (eraseRule == null)
 {
  eraseRule = new EraseOverrule();
  Overrule.AddOverrule(RXObject.GetClass(typeof(Entity)),
        eraseRule, true);
  Overrule.Overruling = true;

  eraseRule.SetIdFilter(CreateEntities());
 }
}

[CommandMethod("RemoveEraseOverrule")]
public static void RemoveEraseOverrule()
{
 if (eraseRule != null)
 {
  Overrule.Overruling = false;
  Overrule.RemoveOverrule(RXObject.GetClass(typeof(Entity)),
        eraseRule);
  eraseRule.Dispose();
  eraseRule = null;
 }
}

private static ObjectId[] CreateEntities()
{
 Document doc = Application.DocumentManager.MdiActiveDocument;
 Database db = doc.Database;

 ObjectId[] oids = new ObjectId[2];
 using (Transaction tr = db.TransactionManager.StartTransaction())
 {
  BlockTableRecord space = tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite) as BlockTableRecord;

  //
  Line line = new Line();
  line.StartPoint = new Point3d(0, 0, 0);
  line.EndPoint = new Point3d(100, 100, 0);
  space.AppendEntity(line);
  tr.AddNewlyCreatedDBObject(line, true);

  oids[0] = line.ObjectId;

  //
  Circle circle = new Circle();
  circle.Center = new Point3d(0, 0, 0);
  circle.Radius = 50;
  space.AppendEntity(circle);
  tr.AddNewlyCreatedDBObject(circle, true);

  oids[1] = circle.ObjectId;

  tr.Commit();
 }

 return oids;
}

1、類 EraseOverrule 繼承自 ObjectOverrule,并重寫了 Erase 方法。
在該方法中,通過拋異常而不是執(zhí)行刪除操作,禁止圖元被刪除。

2、SetIdFilter 確保該規(guī)則只對特定 ObjectId 的圖元有效。
ObjectOverrule 還有方法 SetXDataFilter,可以用來設(shè)置只對擁有特定 XData 的對象有效。

參考文章: Prevent deletion/erasing of entity

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解ASP.NET頁面生命周期事件

    詳解ASP.NET頁面生命周期事件

    這篇文章介紹了ASP.NET頁面生命周期事件,有需要的朋友可以參考一下
    2013-07-07
  • 實(shí)現(xiàn)DataGridView控件中CheckBox列的使用實(shí)例

    實(shí)現(xiàn)DataGridView控件中CheckBox列的使用實(shí)例

    最近做WindowsForms程序,使用DataGridView控件時(shí),加了一列做選擇用,發(fā)現(xiàn)CheckBox不能選中。搜索后,要實(shí)現(xiàn)DataGridView的CellContentClick事件,將代碼貼一下
    2014-01-01
  • asp.net后臺如何動態(tài)添加JS文件和css文件的引用

    asp.net后臺如何動態(tài)添加JS文件和css文件的引用

    動態(tài)添加JS文件和css文件的引用在asp.net后臺如何實(shí)現(xiàn)呢?首先添加命名空間 using System.Web.UI.HtmlControls,之后按照下面的步驟操作即可
    2014-09-09
  • ASP.NET?Core中使用Redis實(shí)現(xiàn)緩存

    ASP.NET?Core中使用Redis實(shí)現(xiàn)緩存

    本文詳細(xì)講解了ASP.NET?Core中使用Redis實(shí)現(xiàn)緩存的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • .NET Core配置多環(huán)境的方法步驟

    .NET Core配置多環(huán)境的方法步驟

    配置多環(huán)境是日常開發(fā)經(jīng)常需要用到的操作,實(shí)現(xiàn)多環(huán)境配置后可以規(guī)避生產(chǎn)測試環(huán)境混合帶來的麻煩和風(fēng)險(xiǎn),這篇文章主要介紹了.NET Core配置多環(huán)境的方法步驟,感興趣的小伙伴們可以參考一下
    2019-03-03
  • asp.net 生成隨機(jī)密碼的具體代碼

    asp.net 生成隨機(jī)密碼的具體代碼

    這篇文章介紹了asp.net 生成隨機(jī)密碼的具體代碼,有需要的朋友可以參考一下
    2013-09-09
  • asp.net5中用戶認(rèn)證與授權(quán)(2)

    asp.net5中用戶認(rèn)證與授權(quán)(2)

    ASP.NET5主要提供了兩種應(yīng)用程序,其一就是ASP.NET5控制臺程序,另外一個(gè)是ASP.NET Web 應(yīng)用程序。本文給大家介紹asp.net5中用戶認(rèn)證與授權(quán)(2),需要的童鞋可以參考下
    2015-10-10
  • .NET8實(shí)現(xiàn)PDF合并的示例代碼

    .NET8實(shí)現(xiàn)PDF合并的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用.NET8實(shí)現(xiàn)PDF合并的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • ASP.NET MVC使用異步TPL模式

    ASP.NET MVC使用異步TPL模式

    這篇文章介紹了ASP.NET MVC使用異步TPL模式的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • asp.net(vb.net)獲取真實(shí)IP的函數(shù)

    asp.net(vb.net)獲取真實(shí)IP的函數(shù)

    asp.net(vb.net)獲取真實(shí)IP的函數(shù),需要的朋友可以參考下。
    2010-11-11

最新評論

新蔡县| 隆化县| 女性| 进贤县| 敦煌市| 汝南县| 稻城县| 正阳县| 文山县| 邳州市| 渭南市| 蒙城县| 逊克县| 肃宁县| 修武县| 平塘县| 雷州市| 巴青县| 新丰县| 任丘市| 榆中县| 龙州县| 界首市| 东明县| 鲁山县| 河曲县| 久治县| 达孜县| 临武县| 黄浦区| 祁门县| 仲巴县| 汉中市| 安义县| 民勤县| 泽普县| 长宁县| 合作市| 扎囊县| 辉南县| 怀化市|