2013-06-27 6 views
1

У меня есть интересная задача. На одном из рисунков у меня есть поле MText. Итак, мой плагин должен знать, как получить именно это поле от этого чертежа и других. Есть ли какие-либо атрибуты или smth, что я могу использовать для определения поля Mtext на разных рисунках?Получить данные Mtext из файла dwg

+0

Может быть, ответ на этот вопрос http://stackoverflow.com/questions/3154613/ поможет вам вместе? – Toastgeraet

ответ

3

Я думаю, что это может быть то, что вы ищете ...

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

 Смежные вопросы

  • Нет связанных вопросов^_^