Если не нужен новый DBText то просто
DBText acEnt = acTrans.GetObject(acSSObj.ObjectId, OpenMode.ForRead) as DBText;
if (acEnt != null) System.Windows.Forms.MessageBox.Show(acEnt.TextString);
А если все-таки зачем-то вам нужен новый DBText, то его как минимум надо сохранить. Его надо приписать к пространству модели и добавить в транзакцию. Я использую такой хелпер:
/// <summary>
/// Сохранение объекта в пространстве модели или в текущее пространство
/// </summary>
public static ObjectId SaveEnt(this Entity en, Transaction tr, Database ToDatabase, bool toModel = true)
{
if (tr == null || en == null) return ObjectId.Null;
BlockTableRecord space;
if (toModel) space = tr.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(ToDatabase), OpenMode.ForWrite) as BlockTableRecord;
else space = tr.GetObject(ToDatabase.CurrentSpaceId, OpenMode.ForWrite) as BlockTableRecord;
ObjectId ret = space.AppendEntity(en);
tr.AddNewlyCreatedDBObject(en, true);
return ret;
}
p.s. сложно быть оперативней Александра Р
ивилиса