Добрый день. Недавно стал писать библиотеку для AutoCAD. Вкратце суть задачи: Пользователь выбирает полилинии и над ними появляется MText. Блок с MText мне необходимо запомнить для дальнейших операций. Поэтому пытаюсь переименовать BlockTableRecord:
[CommandMethod("КОД_ДЕТАЛИ")]
        public void DetailCode()
        {
            if (doc == null)
                return;
            Database db = doc.Database;
            Editor edt = doc.Editor;
            do
            {
                PromptSelectionResult selRes = SetPromptSelectionResult(edt);
                if (selRes.Status != PromptStatus.OK)
                {
                    if (!detailList.Any())
                        edt.WriteMessage("\nНичего не выбрано!");
                    else
                        WriteDataToFile(SetTempFile());
                    return;
                }
                else
                {
                    ObjectId obj = selRes.Value.GetObjectIds().FirstOrDefault();
                    using (var tr = db.TransactionManager.StartTransaction())
                    {
                        try
                        {
                            Polyline pl = tr.GetObject(obj, OpenMode.ForRead) as Polyline;
                            if (pl != null)
                            {
                                Detail detail = SetNewDetail(form, detailCode);
                                BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForWrite);
                                BlockTableRecord btr = (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
                                btr.Name = "SomeName";//в данной строке ошибка
                                MText mtxt = SetNewMText(detail, point);
                                btr.AppendEntity(mtxt);
                                tr.AddNewlyCreatedDBObject(mtxt, true);
                                tr.Commit();
                            }
                        }
                        catch (System.Exception ex)
                        {
                            edt.WriteMessage($"Exception: {ex.Message}\n");
                            edt.WriteMessage($"{ex.GetBaseException()}\n");
                            tr.Abort();
                        }
                        finally
                        {
                            tr.Dispose();
                        }
                    }
                }
            } while (true);
        }
 
, но в ответ получаю ошибку:
Exception: eInvalidInput
Autodesk.AutoCAD.Runtime.Exception: eInvalidInput
   в Autodesk.AutoCAD.DatabaseServices.SymbolTableRecord.set_Name(String name)
   в AutoCADClassLibrary.AutoCADPlugin.DetailCode() в C:\Users\SQLUser2\source\repos\AutoCADClassLibrary\AutoCADPlugin.cs:строка 299
Подскажите, что делаю не так?