Все доброго дня!
Написал код, который должен находит все таблицы в чертеже и в каждой ячейке таблицы изменить текстовый стиль на "Isocpeur", а также убрать сжатие, наклон, растяжение и т.д текста в каждой ячейки. Но в итоге ничего не происходит. Подскажите, где ошибка?
using (Transaction tr = db.TransactionManager.StartTransaction())
{
ObjectId[] ids = selRes.Value.GetObjectIds(); // получаем массив ID объектов
ObjectId textStyleId = ObjectId.Null;
TextStyleTable tst = (TextStyleTable)tr.GetObject(db.TextStyleTableId, OpenMode.ForWrite);
TextStyleTableRecord textStyle = new TextStyleTableRecord();
textStyle.Name = "ISOCPEUR";
textStyle.FileName = "isocpeur.ttf";
textStyle.XScale = 1;
if (!tst.Has(textStyle.Name))
{
tst.Add(textStyle);
tr.AddNewlyCreatedDBObject(textStyle, true);
db.Textstyle = textStyle.ObjectId;
}
foreach (ObjectId id in ids)
{
if (id.ObjectClass.Name == "ACAD_TABLE") // если объект это Таблица автокад
{
var acadTable = (Table)tr.GetObject(id, OpenMode.ForWrite);
for (int row = 0; row < acadTable.Rows.Count; row++)
{
for (int col = 0; col < acadTable.Columns.Count; col++)
{
acadTable.Cells[row, col].GetTextString(FormatOption.IgnoreMtextFormat);
acadTable.Cells[row, col].TextStyleId = tst[textStyle.Name];
}
}
}
}
ed.SetImpliedSelection(new ObjectId[0]);
tr.Commit();
}