简体   繁体   English

从dwg文件中获取Mtext数据

[英]Get Mtext data from dwg file

I have some interesting task. 我有一些有趣的任务。 In one of drawings i've got a MText field. 在其中一张图纸中,我有一个MText字段。 So, my plugin needs to know, how to get exactly that field from this drawing and others. 所以,我的插件需要知道,如何从这个绘图和其他人那里获得完全相同的字段。 Is there any attributes or smth, what i can use for determining Mtext field on different drawings? 是否有任何属性或smth,我可以用什么来确定不同图纸上的Mtext字段?

I think this may be what you are looking for... 我想这可能就是你要找的......

    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.
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM