/*关闭所有有色斑的图层
 * 
 * 色斑图层比较多的情况下,一个一个弄比较麻烦,这个一次全关,再配合图层状态保存功能就非常容易相互切换了
 * 
 * http://goat.cublog.cn
 * 作者:王晓东 QQ:10516321 Email:xiaook@gmail.com
 * 
 */
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;

/*Copyright © CHINA 2009

AutoCAD version:AutoCAD 2006
Description:

To use DelectObjectsInWindowPolyline.dll:

1. Start AutoCAD and open a new drawing.
2. Type netload and select CloseLayerHasHatchSolid.dll.
3. Execute the xqd command.*/

namespace CloseLayerHasHatchSolid
{
    /// <summary>

/// Summary for Class1.

/// </summary>

public class Class1
    {

[CommandMethod("xcl")]
        public void xcl()
        {
            Document acDoc = Application.DocumentManager.MdiActiveDocument;
            Editor acDocEd = Application.DocumentManager.MdiActiveDocument.Editor;
            Database acDb = acDoc.Database;
            ObjectIdCollection acObjIdColl = new ObjectIdCollection();

//选择范围线

TypedValue[] tv = new TypedValue[2];
            tv[0] = new TypedValue((int)DxfCode.Start, "HATCH");
            tv[1] = new TypedValue((int)DxfCode.ShapeName, "SOLID");
            SelectionFilter sf = new SelectionFilter(tv);
            PromptSelectionResult acPtRes = acDocEd.SelectAll(sf);
            ObjectIdCollection oIdCol = new ObjectIdCollection();

if (acPtRes.Status == PromptStatus.OK)
            {
                SelectionSet ss = acPtRes.Value;
                oIdCol = new ObjectIdCollection(ss.GetObjectIds());
            }
            foreach (ObjectId oid in oIdCol)
            {
                using (Transaction acTrans = acDb.TransactionManager.StartTransaction())
                {
                    Entity ent = (Entity)acTrans.GetObject(oid, OpenMode.ForRead);
                    LayerTable lt;
                    lt = (LayerTable)acTrans.GetObject(acDb.LayerTableId, OpenMode.ForRead);
                    LayerTableRecord ltr = (LayerTableRecord)acTrans.GetObject(lt[ent.Layer],OpenMode.ForWrite);
                    ltr.IsOff = true;
                    acTrans.Commit();
                }
            }
        }
    }
}

摘自:http://blog.csdn.net/gisoracle/article/details/7276662

转:C# Autocad 关闭所有有色斑的图层的更多相关文章

  1. AUTOCAD二次开发-----删除一个图层里面的所有对象

    https://blog.csdn.net/aasswwe/article/details/40899759 private void Test() { // 获取当前文档和数据库 Document ...

  2. SolidWorks242个使用技巧

    1 您可以使用 CTRL+TAB 键循环进入在 SolidWorks 中打开的文件. 2 使用方向键可以旋转模型.按 CTRL 键加上方向键可以移动模型.按 ALT 键加上方向键可以将模型沿顺时针或逆 ...

  3. ps:图层的选择

    接着我们建立一个名为nose的新层,颜色标记为蓝,画上一个扁椭圆形的鼻子,这样就算完成了一个简单人脸的绘制.此时在图层调板可以看到刚才所建立的所有图层.如下左图. 在图层调板中每个图层的最左边有一个眼 ...

  4. LSV又新增13个地质图!量测对比分析全都能搞定

    对于地质工作者来说,地质图是个十分重要的参考资料.随着国家解密的地质资料越来越多,能够有效的把各种地质资料结合起来,进而提高地质工作者的作业效率,是十分有意义的. LSV(LocaSpaceViewe ...

  5. MeteoInfo-Java解析与绘图教程(七)_图层添加站点名称或区域名称

    MeteoInfo-Java解析与绘图教程(七)_图层添加站点名称或区域名称 在上文说了用自动站的数据经过插值绘制色斑图,这种一般是在geoserver上叠加图片呈现,但遇到后端导出图片,我们又想添加 ...

  6. 关闭AutoCAD 2019快速访问工具栏的web和moblie保存文件功能

    解决方法如下:1.先关闭CAD,再打开注册表编辑器:开始--运行--输入 regedit2.定位到 [HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R23. ...

  7. AutoCAD 许可管理器不起作用,或未正确安装,现在将关闭

    问题描述 重新安装了也还是这样,而且第二次打开都跳不出申请码界面就关闭了. 问题原因,初步认为:AutoCAD 在首次弹出申请激活类型的类型时,直接选择了网络激活,而且没有激活成功.再想通过激活码的方 ...

  8. VS2010开发AutoCAD 2012 .net应用程序调试时断点不起作用

    VS2010+ AutoCAD 2012开发调试过程中,发现普通的Class里面的断点是可以跟踪到的,可能是创建自定义的Form做界面是,Form1.cs中的代码断点却不管用.原因在于AutoCAD的 ...

  9. AutoCAD系统变量一览表

    p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; t ...

随机推荐

  1. [cocos2dx]怎样将Android手机游戏移植到电视?

    近期智能电视很火,我也买了一个小米电视,看片效果不错,网络也还算给力.可是,玩游戏比較蛋疼,要用遥控器,下了一个捕鱼达人试玩了一把,要用方向键控制大炮的方向和远近,再用确定键发射炮弹,根本没法玩... ...

  2. UVALive 4223 Trucking 二分+spfa

    Trucking 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8& ...

  3. C#综合揭秘——细说多线程

    一.线程的定义  1. 1 进程.应用程序域与线程的关系 进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源.进程之间是相对独立的,一个进程无法访问另一个进程 ...

  4. 车牌识别--S5PV210測试

    cortex-A8(S5PV210) Linux-3.9.7 arm-linux-gcc 4.5.1(FriendlyARM) 根文件系统:NFS 软浮点执行结果: [liujia@210]#./so ...

  5. 深刻理解Java中final的作用(一):从final的作用剖析String被设计成不可变类的深层原因

    声明:本博客为原创博客,未经同意,不得转载!小伙伴们假设是在别的地方看到的话,建议还是来csdn上看吧(原文链接为http://blog.csdn.net/bettarwang/article/det ...

  6. 腾讯微博java(android)sdk新增微博api详细介绍

    本文主要介绍腾讯微博android sdk中新增微博有关的8个接口,以及使用的示例代码 注意:以下所有的api示例代码都需要先新建QqTSdkService类对象qqTSdkService并初始化,见 ...

  7. 【JavaScript】一些注意点

    1.var与没有var的区别 没 2.全局变量和局部变量的速度 3.函数内部的var和外部的var的区别 4.var m =new Array();与var m = [];区别

  8. Unity3D中事件函数的运行顺序

    Unity3D中脚本的生命周期是依照预先定义好的事件函数的运行流程来演化的,详细流程例如以下: Editor模式下Reset: 当脚本第一次被挂到GameObject上或用户点击Resetbutton ...

  9. java 图的邻接矩阵

    有向图 在有向图中,结点对<x ,y>是有序的,结点对<x,y>称为从结点x到结点y的一条有向边,因此,<x,y>与<y,x>是两条不同的边.有向图中的 ...

  10. Bash脚本编程基础

    为实现某个任务,将许多命令组合后,写入一个可执行的文本文件的方法,称为Shell脚本编程. 按照应用的Shell环境不同,可以将Shell脚本分为多种类型.其中最常见的是应用于Bash和Tcsh的脚本 ...