Тема: Выравнивание текста в AutoCad2006

В 2004 выравнивание однострочного текста работало, а в 2006 выравнивает относительно 0,0 , координаты точки выравнивания и сами не работают и не поддаются ручной корректировке. Что можно сделать?

Re: Выравнивание текста в AutoCad2006

И какой командой Вы выравниваете текст?

Re: Выравнивание текста в AutoCad2006

Наверное, меняется просто выравнивание в свойствах примитива. думаю, что на 2006 не поставлен СП.

Re: Выравнивание текста в AutoCad2006

Использую из свойств объекта Text - Justify.
Новый вопрос -- новая тема: AutoCAD 2006. Где взять "Сервис Пак"?.
/Администратор./

Re: Выравнивание текста в AutoCad2006

Спасибо за ссылку. Установила. Но :( не помогло: при выборе Left - одна "ручка" на тексте и координаты точки выравнивания заблокированы, если выбрано что-нибудь другое (две ручки для перемещений) - то нормально.

Re: Выравнивание текста в AutoCad2006

> Svetlana
По поводу выравнивания:
Применительно к лиспу, для начала. Вообще-то тут не только текстовые примитивы ("TEXT"), но и атрибуты тоже немного покатят Smile
Итак, поехали (для начала DXF, потом рассмотрим и ActiveX).
Нарисуем текстовый примитив "от балды" (выравнивание - влево) и сделаем (entget (entlast)) (ненужные данные пропущены):
Код:

((0 . "TEXT") (10 63.078 56.4998 0.0) (40 . 2.5) (1 . "654789") (11 0.0 0.0 0.0) (210 0.0 0.0 1.0))

для ActiveX соответственно будет:

(vlax-dump-Object (vlax-ename->vla-object (entlast)))
; IAcadText2: AutoCAD Text Interface
; Property values:
;   Alignment = 0
;   Backward = 0
;   Height = 2.5
;   InsertionPoint = (63.078 56.4998 0.0)
;   TextAlignmentPoint = (0.0 0.0 0.0)
;   TextGenerationFlag = 0
;   TextString = "654789"

Меняем (руками!) выравнивание, например, на "вправо":

_$ (entget (entlast))
((0 . "TEXT") (10 52.8418 56.4998 0.0) (40 . 2.5) (1 . "654789") (11 63.078 56.4998 0.0))
_$ (vlax-dump-Object (vlax-ename->vla-object (entlast)))
; IAcadText2: AutoCAD Text Interface
; Property values:
;   Alignment = 2
;   Backward = 0
;   Height = 2.5
;   InsertionPoint = (52.8418 56.4998 0.0)
;   TextAlignmentPoint = (63.078 56.4998 0.0)
;   TextGenerationFlag = 0
;   TextString = "654789"

Как видно, 10 и 11 группы при изменении выравнивания поменяли значения, в частности, в 11 группу ушли значения из 10 (соответственно для ActiveX - InsertionPoint и TextAlignmentPoint).
Этот момент надо учитывать при выполнении программного выравнивания. Для атрибутов все аналогично.

Re: Выравнивание текста в AutoCad2006

Видимо, я плохо сформулировала вопрос: здесь не идет речь о программировании. Не работает свойство на уровне пользователя по нажатию правой клавиши мыши (свойство объекта Text — Justify, и при смене left на right текст исчезает с экрана, если видимая часть далеко от 0,0, пользователи пугаются :) ). Задавая вопрос, я предполагала, что возможно нужна какая-нибудь настройка системной переменной... Наверное, если бы по умолчанию было правое выравнивание, этот глюк был бы не так заметен...

Re: Выравнивание текста в AutoCad2006

> Svetlana
Согласен, что при изменении в окне свойств выравнивания текста, например слевого на правый, текст имеет свойство прыгать(левая точка привязки текста вдруг становится правой, но никак 0,0). Но если это делать не в окне свойств, а стандартной командой _justifytext то изменений в положении текста не происходит. Системных переменых отвечающих за данное поведение текста я не искал, а сослался, что так и надо раз есть специальная команда для выравнивания текста.
Вот сылочка, надеюсь прога выложеная там разрешит предоставленую вами задачу на более высоком уровне https://www.caduser.ru/forum/topic20074.html

Re: Выравнивание текста в AutoCad2006

Как раз текст выравнивается относительно 0,0, а если пользователь выделил несколько текстов сразу, они все падают в кучку около 0,0... Пользоваться командой я им уже советовала, пока не пристают :) , так что может пока без программки обойдутся :)