注册 登录
明经CAD社区 返回首页

鱼与熊掌的个人空间 http://bbs.mjtd.com/?7304311 [收藏] [复制] [分享] [RSS]

日志

C#代码笔记.

已有 1403 次阅读2015-4-17 11:30 |系统分类:应用| ET, autocad, 文件名, 具有, 拓展

1.Editor
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
2.AttachXref(绑定参照的方法)
string strN1, strN2;
 Autodesk.AutoCAD.DatabaseServices.ObjectId objId;
 strN1 = "c:/1.dwg";
//返回不具有拓展名的文件名.->  返回1
strN2 = System.IO.Path.GetFileNameWithoutExtension(strN1);
  调用方法 实现绑定
objId = Application.DocumentManager.MdiActiveDocument.Database.AttachXref(strN1, strN2);
3.调用com对象.
Autodesk.AutoCAD.Interop.Common.AcadLine l1;
4.数据库对象
 //定义一个Datebase变量.
Autodesk.AutoCAD.DatabaseServices.Database acCurDb;
//把当前的数据库赋值给变量
acCurDb = Application.DocumentManager.MdiActiveDocument.Database;
5.创建一个图层
     public static void tt()
        {
            Document doc = Application.DocumentManager.MdiActiveDocument;
            Database db = doc.Database;
            using (Transaction trs = db.TransactionManager.StartTransaction())
            {
                LayerTable laytab;
                laytab = trs.GetObject(db.LayerTableId, OpenMode.ForRead) as LayerTable;
                if (laytab.Has("tt") != true)
                {
                    laytab.UpgradeOpen();
                    LayerTableRecord laytb_rec=new LayerTableRecord();
                    laytb_rec.Name="tt";
                    laytab.Add(laytb_rec);
                    trs.AddNewlyCreatedDBObject(laytb_rec,true);
                    trs.Commit();
                }
            }
        }
6.使用遍历输出图层名.
        [CommandMethod("t1")]
        public static void t1()
        {
            Document doc = Application.DocumentManager.MdiActiveDocument;
            Editor ed = doc.Editor;
            Database db = doc.Database;
            using (Transaction tr = db.TransactionManager.StartTransaction())
            {

                LayerTable laytab;
                laytab = tr.GetObject(db.LayerTableId,OpenMode.ForRead)as LayerTable;
                foreach (ObjectId item in laytab)
                {
                    LayerTableRecord lay_rec;
                    lay_rec = tr.GetObject(item, OpenMode.ForRead) as LayerTableRecord;
                    ed.WriteMessage("\n输出了一个什么鬼.:" + lay_rec.Name);
                    ed.WriteMessage("\n");
                }
                ed.WriteMessage("输出结束.");
            }
        }

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-27 10:58 , Processed in 0.120820 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部