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

ADN Club => AutoCAD .NET API => Тема начата: Алексей (IdeaSoft) от 28-08-2014, 11:06:09

Название: Как задать прямоугольную облаcть объекту Mtext и выравнить его содержимое
Отправлено: Алексей (IdeaSoft) от 28-08-2014, 11:06:09
для AutoCAD c 2006-2015
Есть прямоугольная область.
Нужно вписать в нее объект Mtext и установить ему выравнивание "середина по центру"
С шириной рамки проблем нет, делаю так:
к примеру для рамки (10х5)
dim mt as Mtext
...
mt.Width = 10

Как задать высоту прямоугольной области объекта Mtext
эта область соотв. результату работы функции GetBoundingBox(min, max) на ActiveX
Название: Re: Как задать прямоугольную облаcть объекту Mtext и выравнить его содержимое
Отправлено: Дмитрий Загорулькин от 28-08-2014, 12:15:05
Не пробовали mt.Height или mt.TextHeight?
Название: Re: Как задать прямоугольную облаcть объекту Mtext и выравнить его содержимое
Отправлено: Алексей (IdeaSoft) от 28-08-2014, 12:36:09
mt.TextHeight - я использую  для высоты самого текста,
mt.Height -  такого поля нет в VB NET.
На ActiveX есть mt.Height и вполне работает!

С выравниванием разобрался
нужно делать так:
mt.Attachment = AttachmentPoint.MiddleCenter
 
есть еще поле  mt.LineWeight, но это скорее высота одной строки при задании ему значения в 2 раза больше чем
задано поле mt.TextHeight возвращается ошибка.
т.е если mt.TextHeight = 0.25, то при задании mt.LineWeight=0.5 - ошибка
 
Название: Re: Как задать прямоугольную облаcть объекту Mtext и выравнить его содержимое
Отправлено: Дмитрий Загорулькин от 28-08-2014, 13:16:23
mt.Height -  такого поля нет в VB NET.
Ну не может же быть такого, что в C#.NET есть, а в VB.NET нету.
Название: Re: Как задать прямоугольную облаcть объекту Mtext и выравнить его содержимое
Отправлено: Алексей (IdeaSoft) от 28-08-2014, 14:24:12
Я думаю, что это поле появилось начиная с acad 2008
А у меня вариант с acad 2006.
!!!НУЖНО ПРОВЕРИТЬ ЭТО КАК В 2006!!!
 Спасибо за совет!

Название: Re: Как задать прямоугольную облаcть объекту Mtext и выравнить его содержимое
Отправлено: Алексей (IdeaSoft) от 28-08-2014, 19:06:49
Ну не может же быть такого, что в C#.NET есть, а в VB.NET нету

Я проверил при подключении ссылок на acad 2006 поля Height для Mtext нет


(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fs1.postimg.org%2Fuj143h7az%2FMtext_Height.jpg&hash=f067263f674760f0c65357bb8be94055) (http://postimg.org/image/uj143h7az/)
Название: Re: Как задать прямоугольную облаcть объекту Mtext и выравнить его содержимое
Отправлено: Дмитрий Загорулькин от 28-08-2014, 19:11:19
Если в нем надо, тогда, наверное, только через COM.
Название: Re: Как задать прямоугольную облаcть объекту Mtext и выравнить его содержимое
Отправлено: Алексей (IdeaSoft) от 28-08-2014, 19:15:29
Если в нем надо, тогда, наверное, только через COM.
Через COM все без проблем работает, думаю и придется так сделать
Есть еще юзеры работающие в acad 2006, 2007.
Название: Re: Как задать прямоугольную облаcть объекту Mtext и выравнить его содержимое
Отправлено: xSAKABSx от 04-09-2014, 11:38:00
Есть еще юзеры работающие в acad 2006, 2007.
Немного флуда: Еще они скучают по досу, и пользуются волков командером = )