|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
01.11.2016, 15:46 | #1 | |
Подскажите как сделать смещение текста в пространвстве модели?
Регистрация: 24.01.2011
Сообщений: 57
|
||
Просмотров: 3064
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Вычисляешь критерии "неналожения" и потом меняешь точку вставки и точку выравнивания текста. В чем конкретно трудность?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
На приведенном примере только один частный случай. Где остальные? Скажу сразу, универсального решения для общего случая (известного под названием "одна большая красная кнопка"), насколько мне известно, пока нет.
|
|||
|
||||
Регистрация: 24.01.2011
Сообщений: 57
|
На 10 км сдвигать не надо. Только на минимальное, достаточное для устранения наложения текста на полилинию. Даже без поворота просто смещение. Понятно что универсальной кнопки нет, это и не нужно. Хотелось чтобы текст сдвигался на минимальное расстояние достаточное для устранения наложения его на полилинию.
|
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
Если решать "в лоб", может статься что "минимальное расстояние достаточное для устранения наложения его на полилинию" окажется равным 10 км Опять же, что насчет удобочитаемости?
|
|||
|
||||
Регистрация: 24.01.2011
Сообщений: 57
|
Есть слой "1"- на нем текст. Есть слой "2"- на нем полилинии. Нужна функция которая просматривая все мтексты для каждого мтекста по отдельности проверяет наложен ли он на полилинию.Если да-то смещает его координаты в любую сторону на 1 шаг равный например (0.1), затем опять проверяет этот же мтекст, наложен ли он на эту полилинию или нет. Если наложен то -опять смещение на 1шаг, если нет -то переход к следующему мтексту.
|
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
редактирование чертежа методом случайных блужданий - это серьезная заявка на победу (или пустую трату времени).
|
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
Автоматически? и при том адекватно? Тогда в задачу, заданную топикстартером, внесены какие-то допущения и упрощения. Например, полилинии должны быть незамкнутые, или текст должен быть параллелен одному из сегментов. Иначе, отодвигая текст от одной линии, можно залезть на другую или задвинуть его так, что чертеж станет нечитаемый
PS вообще-то подобные задачи решают модули размещения компонентов в прогах для проектирования печатных плат типа PCAD, SPECCTRA. Но если им задавать слишком много ограничений - не справляются Последний раз редактировалось kp+, 02.11.2016 в 13:12. |
|||
|
||||
Регистрация: 24.01.2011
Сообщений: 57
|
В идеале-да что бы программа по смещению учитывала все слои и убирала наложения со всех линий, но это часто сделать не возможно и вручную. Поэтому для упрощения-работа с двумя слоями, на одном мтект, на другом полилинии. Еще упрощение- тмекст смещать без поворота как есть. Первая попытка смещения внуть замкнутых полилиний, если она не удачная( текст попрежнему накладывается) то смщение координат сначала в право по оси ( установить количество проходов например 10 , с шагом определенным), если это неустраняет наложение то смещать от исходного положения текста-в лево с таким же количеством проходов по 1шагу. Если и это не устраняет наложение то смещать вверх и вниз.
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Текст вдоль полилинии или сплайна (по кривой) | Denioska | AutoCAD | 48 | 10.09.2022 21:55 |
Как в "Компасе" вставлять текст без форматирования | HYPERBALLOiD | Компас | 4 | 31.03.2016 12:28 |
Как выровнять текст | Rembo_4 | Программирование | 4 | 18.01.2012 23:28 |
Текст слетел... | Павел Владимирович | AutoCAD | 3 | 08.07.2011 22:11 |
Как извлечь из размера значение, т.е. текст??? | Rubль | Программирование | 10 | 24.08.2009 17:24 |