04/11/2014
Определение наличия имени приложения в расширенных данных примитива
Вы можете использовать метод GetXDataForApplication класса DBobject для определения наличия имени приложения в расширенных данных (Xdata). Следующий код показывает есть ли расширенные данные приложения "ADSK" у примитива или нет:
Код - C#: [Выделить]
- [CommandMethod("FindAppName")]
- static public void FindAppName()
- {
- Document doc = Application.DocumentManager.MdiActiveDocument;
- Database db = doc.Database;
- Transaction tr = db.TransactionManager.StartTransaction();
- using (tr)
- {
- Editor ed = doc.Editor;
- try
- {
- PromptEntityResult ers = ed.GetEntity("Выберите примитив ");
- Entity ent = (Entity)tr.GetObject(ers.ObjectId, OpenMode.ForRead);
- ResultBuffer buffer = ent.GetXDataForApplication("ADSK");
- // Если null – нет расширенных данных для приложения ADSK
- if (buffer != null)
- {
- ed.WriteMessage("Есть расширенные данные с именем приложения ADSK");
- buffer.Dispose();
- }
- else
- {
- ed.WriteMessage("Нет расширенных данные с именем приложения ADSK");
- }
- tr.Commit();
- }
- catch
- {
- tr.Abort();
- }
- }
- }
Обсуждение: http://adn-cis.org/forum/index.php?topic=1062
Опубликовано 04.11.2014Отредактировано 04.11.2014 в 09:45:16