Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Yeezussniper от 04-09-2020, 18:15:51

Название: Не удается задать стиль текста в блоке
Отправлено: Yeezussniper от 04-09-2020, 18:15:51
Здравствуйте. Не удается задать стиль текста атрибута блока. Пишет "Невозможно присвоить значение свойству или индексатору "DBText.TextStyleName" — доступ только для чтения"
Как-то решал эту проблему, но уже не помню от слова совсем. Прошу помощи

Код - C# [Выбрать]
  1.                 adAttr.Height = 7.5;
  2.                 adAttr.Tag = "NameHoleTriangle";
  3.                 adAttr.Justify = AttachmentPoint.BottomCenter;
  4.                 adAttr.Position = new Point3d(0, 500, 500);
  5.                 adAttr.Visible = true;
  6.                 adAttr.Verifiable = false;
  7.                 adAttr.Prompt = "Название выработки";
  8.                 adAttr.AlignmentPoint = new Point3d(0, 20, 0);
  9.                 adAttr.TextStyleName = "GOST 2.304"; //РУГАЕТСЯ НА ЭТУ СТРОКУ
Название: Re: Не удается задать стиль текста в блоке
Отправлено: Александр Ривилис от 04-09-2020, 18:18:34
Yeezussniper,
Напоминаю правило форматирования кода на нашем форуме -у меня в подписи.
Название: Re: Не удается задать стиль текста в блоке
Отправлено: Yeezussniper от 04-09-2020, 18:20:40
Yeezussniper,
Напоминаю правило форматирования кода на нашем форуме -у меня в подписи.

Прошу прощения, пропустил
Название: Re: Не удается задать стиль текста в блоке
Отправлено: Александр Ривилис от 04-09-2020, 18:23:55
Код - C# [Выбрать]
  1. adAttr.TextStyleId = idTextStyle; // idTextStyle - это ObjectId текстового стиля.
Название: Re: Не удается задать стиль текста в блоке
Отправлено: Yeezussniper от 04-09-2020, 18:29:03
Код - C# [Выбрать]
  1. adAttr.TextStyleId = idTextStyle; // idTextStyle - это ObjectId текстового стиля.

Прям в этот момент наткнулся на Ваш же ответ :)
Спасибо большое!

Код - C# [Выбрать]
  1.                 String textStyleName = "Standard"; // Имя текстового стиля
  2.                 ObjectId textStyleId = ObjectId.Null; // ObjectId текстового стиля
  3.                 using (Transaction tr2 = db.TransactionManager.StartTransaction())
  4.                 {
  5.                     TextStyleTable textStyleTable =
  6.                        tr2.GetObject(db.TextStyleTableId, OpenMode.ForRead) as TextStyleTable;
  7.                     if (textStyleTable.Has(textStyleName))
  8.                     {
  9.                         textStyleId = textStyleTable[textStyleName];
  10.                     }
  11.                     tr2.Commit();
  12.                 }