|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
помогите разобраться с изменением свойств текста пожалуйсто
Сообщений: n/a
|
||
Просмотров: 3058
|
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Это наверное КАД у вас "кривой". Сужу об этом потому что подобный эффект возникает при програмном изменении выравнивания средствами ActiveX. Приходится сохранять в переменной старую точку вставки текста для того чтобы вернуть его из точки 0,0,0 после изменения выравнивания.
К сожалению не силен в макросах, но вы можете изменить стандартный макрос ^C^C_dtext на небольшое ЛИСП выражение (command "_.dtext" "_j" "_c"). А лучше стандартную кнопку не трогать, а сделать новую. При желании можно сразу задавать любые новые параметры текста, включая высоту, принадлежность к слою, а также создавать текстовые стили. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
|
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
>Fantomas
Причина этого достаточно подробно объясняется в хелпе Цитата:
|
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Знаем, читали... Только про "вылет" в 0,0,0 там ничего не написано
![]() |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Нифига не баг! Как написано - так и есть...
Примерчик? Извольте... Создаем текст, по умолчанию выравнивание - "Left". Давим Ctrl+1 и смотрим "чиво и скока" (на картинке слева) Точка выравнивания изначально недоступна и равна (0,0,0). После изменения выравнивания во многих случаях, точка вставки уже не будет действовать, а за дело возмется точка выравнивания. Только есть маленькая разница между ручным изменением выравнивания из панели свойств и программным. Поменяйте выравнивание вручную из панели... Точка вставки будет недоступна для редактирования, но там есть ненулевое (и не старое!!!) значение (картинка справа). А "рулить" положением текста будет уже точка выравнивания! Потому, если редактировать программно, то код должен предусматривать корректировку этих "недоступных" значений. В принципе, нет разницы, подвинуть через MOVE или подвинуть через vla-put-alignment (упрощенный код ниже). Результат похожий. Код:
|
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
По моему разумению (vla-put-alignment vla:text acalignmentmiddlecenter) в идеале должен просто изменить выравнивание текста. А "разборка" между наличием точки вставки и точки выравнивания должена происходить "внутри". Ведь если делать это "обычным" способом в окне Properties (за исключением "кривизны" описанной в первом постинге) ничего подобного не происходит. Т. е. это мягко говоря недоработка... Мы ведь не разбираем наличие точек, а просто даем команду на изменение выравнивания.
Конечно надо пользоваться тем что есть, но некоторая "неправильность" во всем этом присутствует. Метод или свойство применение которых вызывает побочные эффекты, которые исправляются нескольками постоянными строчками кода, можно оценивать от недоработки до бага... Конечно мое личное мнение. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
![]() Цитата:
Цитата:
|
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Обственно, по теме: русификатор "кривой" - однозначно. Делали явно не профессионалы, не зная куда и как можно лазить. Лучче переустановить АКАД заново. И оставить аглицкой интерфейс.
ИМХО, лучшая русификация - не более чем перевод текстов меню и подсказок к кнопкам. |
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
>VK
Возможно вы правы в том что изменение выравнивания выполняет не ядро КАДа а "навесная" функция. Это кстати очень логично объясняет ситуацию описанную в первом постинге. Т. е. после команд _J _C Автокад отправляет текст в 0,0,0 а потом вышеупомянутая "функция возврата" не срабатывает, возможно по причине "кривой" русификации. >Вадим Мужик! Поставь англоязычный AutoCAD! Впрочем говорят "AutoDesk возвращяется в Россию" ![]() |
|||
![]() |