Доброго времени суток! Решаю задачу преобразования определений атрибутов в текст в модели(так как по какой-то причине в некоторых чертежах вместо текста стоят именно они, а редактировать их не удобно). Данные вбиты в поле tag.
using (var tr = doc.TransactionManager.StartTransaction())
{
// Let's iterate through the BlockTable, erasing the
// relevant entities from the various BlockTableRecords
var bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead);
foreach (var btrId in bt)
{
var btr = (BlockTableRecord)tr.GetObject(btrId, OpenMode.ForRead);
foreach (var entId in btr)
{
var ent = (Entity)tr.GetObject(entId, OpenMode.ForRead, true);
//вызов IsApplicable
_tho.IsApplicable(ent)
...
public override bool IsApplicable(RXObject overruledSubject)
{
var dt = overruledSubject as DBText;
var atrdef = dt as AttributeDefinition;
if ((atrdef != null))
{
CreateText(atrdef);/просто считываю координаты и поле tag и создаю текст
}
Пытаюсь схватить определения атрибутов и взяв из них Tag создать текст. Проблема в том что net хватает все определения и которые просто в модели и которые в блоках. Как ограничить выбор только теми определениями атрибутов которые просто вставлены в модель.