【问题标题】:Get Mtext data from dwg file从 dwg 文件中获取 Mtext 数据
【发布时间】:2013-07-02 04:00:47
【问题描述】:

我有一些有趣的任务。在其中一张图中,我有一个 MText 字段。所以,我的插件需要知道如何从这张图和其他图中准确地获取该字段。 有什么属性或smth,我可以用什么来确定不同图纸上的Mtext字段?

【问题讨论】:

标签: c# .net autocad dwg autocad-plugin


【解决方案1】:

我想这可能就是你要找的……

    using Autodesk.AutoCAD.ApplicationServices;
    using Autodesk.AutoCAD.DatabaseServices;
    using Autodesk.AutoCAD.Runtime;
    using AcApplication = Autodesk.AutoCAD.ApplicationServices.Application;


    public static Document acDoc {
        get {
            return Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
        }
    }

    public static MText getMTextObj(string TextYouNeed)
    {
        var ed = acDoc.Editor;
        var selMText = new TypedValue[1];
        selMText.SetValue(new TypedValue(0,"MTEXT"),0);
        var MTextObjs = ed.SelectAll(new SelectionFilter(selMText));

        using (var Transaction = acDoc.Database.TransactionManager.StartTransaction()) {
            foreach (ObjectId MTextObjId in MTextObjs.Value.GetObjectIds()) {
                var current_MTextObj = Transaction.GetObject(MTextObjId,OpenMode.ForWrite) as MText;
                if(current_MTextObj.Text.Equals(TextYouNeed))
                    // return current_MTextObj;
                    // or
                    // do somehting else 
            }
        }
        Transaction.Commit(); // if you change something.
    }

【讨论】:

    猜你喜欢
    • 2018-10-10
    • 2017-08-14
    • 2021-07-02
    • 2016-10-23
    • 2018-11-13
    • 2013-09-07
    • 2016-11-23
    • 2013-06-12
    • 2021-11-30
    相关资源
    最近更新 更多