zoukankan      html  css  js  c++  java
  • 如何把一个对象的颜色设置成 ByLayer

    AutoCAD  .net API中可以用如下代码来设置entity的颜色为bylayer,请注意 BYLAYER的colorIndex为256。很简单,光贴代码。

     [CommandMethod("SetColorByLayer")]
    public void SetColorByLayer()
    {
    ObjectId objId = GetSelectEntity();
    using (Transaction trans = HostApplicationServices.WorkingDatabase.TransactionManager.StartTransaction())
    {
    Entity ent = trans.GetObject(objId, OpenMode.ForWrite) as Entity;
    //the corlor index of "BYLAYER" is 256, "BYBLOCK" is 0
    ent.Color = Autodesk.AutoCAD.Colors.Color.FromColorIndex(Autodesk.AutoCAD.Colors.ColorMethod.ByLayer, 256);
    trans.Commit();
    }
    }
    private ObjectId GetSelectEntity()
    {
    ObjectId oid = ObjectId.Null;
    using (DocumentLock docLoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.LockDocument())
    {
    PromptEntityOptions selectionOp = new PromptEntityOptions("\nselect entity");
    PromptEntityResult prRes = ed.GetEntity(selectionOp);
    if (prRes.Status == PromptStatus.OK)
    {
    oid = prRes.ObjectId;
    }
    }
    return oid;
    }
    
    作者:峻祁连
    邮箱:junqilian@163.com
    出处:http://junqilian.cnblogs.com
    转载请保留此信息。
  • 相关阅读:
    【转】Java并发编程:深入剖析ThreadLocal
    【转】关于Java的Daemon线程的理解
    【转】详细分析Java中断机制
    【转】Java并发编程注意事项
    【转】Java并发编程:volatile关键字解析
    【转】Java并发编程:Lock
    【转】JVM运行原理及JVM中的Stack和Heap的实现过程
    【转】Linux常用命令大全
    Linux 命令学习
    js中的prototype和__proto__
  • 原文地址:https://www.cnblogs.com/junqilian/p/2164084.html
Copyright © 2011-2022 走看看