Тема: Как устанавливать выравнивание MText'а в OARX 2004

Привет всем.
В OARX 2004 убрали много функций из класса AcDbMText (в частности выравнивание setHorizontalMode).
Кто-нибудь знает чем их заменили и как этим новшеством пользоваться ?

Re: Как устанавливать выравнивание MText'а в OARX 2004

Почему ты так решил, что убрали? Все, по-моему, на месте. Если бы Автодеск решился на такое, то шум давно был бы до небес.

Re: Как устанавливать выравнивание MText'а в OARX 2004

Виноват, из AcDbMText действительно много чего убрали?

Re: Как устанавливать выравнивание MText'а в OARX 2004

AutoDesk же заранее предупреждал (в OARX2000), что setHorizontalMode в следующем релизе не будет. Точно не скажу - не помню, но вроде на setAttachment заменили

Re: Как устанавливать выравнивание MText'а в OARX 2004

Я разобрался, его действительно заменили на setAttachment.

Re: Как устанавливать выравнивание MText'а в OARX 2004

AndreyV пишет:

Я разобрался, его действительно заменили на setAttachment.

Объясните мне пожалуйста. Каким всё-таки образом можно задать выравнивание AcDbMText? На сколько я понял функция setAttachment задаёт расположение самого объекта AcDbMText относительно точки, которая указывается в setLocation. Указать можно 9 вариантов расположения мультитекста относительно этой точки. Но пользователь в свойствах мультитекста может ведь выравнивать и сам текст (выравнивание по левому краю, по центру, по правому краю и распределённый текст) и вот хотелось бы посмотреть примерчик кода как задавать именно это выравнивание в AcDbMText.

Re: Как устанавливать выравнивание MText'а в OARX 2004

Сергей Якунин пишет:

Но пользователь в свойствах мультитекста может ведь выравнивать и сам текст

Это задается управляющими кодами внутри самого текста. Например,

\pxql; - Выравнивание влево
\pqr;  - Выравнивание вправо
\pqc;  - Выравнивание по-центру

Re: Как устанавливать выравнивание MText'а в OARX 2004

Александр Ривилис, могли бы вы привести пример выравнивания текста с помощью спецсимволов. Что-то вроде

AcDbMText *pMText;
pMText->setContents(_T("\pqc;123"));

(изменено: Александр Ривилис, 27 ноября 2009г. 08:10:31)

Re: Как устанавливать выравнивание MText'а в OARX 2004

AcDbMText *pMText = new AcDbMText();
pMText->setDatabaseDefaults();
pMText->setLocation(AcGePoint3d(0,0,0)); 
// Здесь дополнительные установки
// Структуру строки можешь посмотреть создав вручную
// нарисовав MTEXT и набрав в командной строке (entget (car (entsel)))
// Смотри на группу 1 и группы 3 (если они есть)
pMText->setContents(_T("\\pqc;123"));
AddToDatabaseAndClose(pMText); // Добавляем в MODEL_SPACE и закрываем 

Re: Как устанавливать выравнивание MText'а в OARX 2004

Огромное вам спасибо.

Re: Как устанавливать выравнивание MText'а в OARX 2004

Я подправил пример. Посмотри его.

(изменено: Игорь, 11 июля 2011г. 13:16:12)

Re: Как устанавливать выравнивание MText'а в OARX 2004

начертание шрифта /fArial;  или /fTahoma;