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

ADN Club => AutoCAD .NET API => Тема начата: Алексей Терно от 25-12-2024, 12:42:35

Название: Ширина MText атрибута блока
Отправлено: Алексей Терно от 25-12-2024, 12:42:35
Всем привет! Есть блок с атрибутом в виде MText. Этот текст не должен выходить за границы поля, для этого в редакторе определения атрибутов можно определить его ширину:
(https://i.ibb.co/hRxMmmK/2024-12-25-12-17-46.png)
После чего любой текст будет вмещаться в указанную границу.
А как можно программно задать ширину текста? Я вставляю блок, нахожу нужный атрибут, заполняю текст, пытаюсь установить свойство Width, но оно никак не влияет на финальный результат. Пытался что-то сделать через ColumnType и ColumnWidth, но это тоже не работает. Вообще, программно можно установить ширину поля для MText атрибута блока?
Название: Re: Ширина MText атрибута блока
Отправлено: alz от 01-01-2025, 14:21:03
Мне кажется дело не в мтексте а в атрибуте, при изменении парамеров мтекста в атрибуте надо его переназначить, так объект мтекста из атрибута возвращает копию, которую мы и модифицируем, попробуйте для начала все эти действия произвести с обычным мтекстом, а потом уже лезть в атрибуты
Название: Re: Ширина MText атрибута блока
Отправлено: Привалов Дмитрий от 07-01-2025, 00:05:52
Пытался что-то сделать через ColumnType и ColumnWidth, но это тоже не работает. Вообще, программно можно установить ширину поля для MText атрибута блока?
Привет!

Не проверял, попробуй так:
Код - C# [Выбрать]
  1. MText mtext = attrRef.MTextAttribute;
  2. mtext.ColumnType = ColumnType.StaticColumns;
  3. mtext.ColumnWidth = 10; //нужная ширина.
  4. //атрибут.UpdateMTextAttribute(); //На всякий случай, в моем случае не влияло.
  5. attrRef.MTextAttribute = mtext; //мне потребовалось, для обновления атрибута.
  6.