Добрый день!
Столкнулся со следующей проблемой: при попытке задать код поля у объекта Dimension, код задается нормально, но при открытии чертежа изменения не отображаются. Вот код:
using (var tr = db.TransactionManager.StartOpenCloseTransaction())
{
var dim = (Dimension)tr.GetObject(dimId, OpenMode.ForWrite);
if(dim.HasFields)
{
var fld = (Field)tr.GetObject(obj.GetField(), OpenMode.ForWrite);
var code = fld.GetFieldCode(FieldCodeFlags.AddMarkers | FieldCodeFlags.FieldCode);
code = "TESTING" + code;
fld.SetFieldCode(code);
fld.Evaluate();
}
tr.Commit();
}
Если после этого сохранить чертеж, потом открыть его и получить код поля, то значение будет именно то, что мы задаем. Однако, в AutoCAD Dimension будет иметь прежний вид до тех пор пока не начнешь его редактировать. Войдя в режим редактирования, значение Dimension тут же изменится на то, что мы задавали.
Для объектов MText подобный код работает отлично.
В чем может быть проблема?