| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Подскажите как сделать смещение текста в пространвстве модели?

Подскажите как сделать смещение текста в пространвстве модели?

Ответ
Поиск в этой теме
Непрочитано 01.11.2016, 15:46 #1
Подскажите как сделать смещение текста в пространвстве модели?
RAD24
 
Регистрация: 24.01.2011
Сообщений: 57

Подскажите как осуществить смещение текста(мтекста) в свободное ближайшее место пространства модели, что бы не было наложения текстов на другие объекты: линии , полилинии и т.п. Так как существует большое количество текстов наложеных (пересекаемых линией) на линию.

Последний раз редактировалось RAD24, 01.11.2016 в 16:25.
Просмотров: 3062
 
Непрочитано 01.11.2016, 16:03
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Вычисляешь критерии "неналожения" и потом меняешь точку вставки и точку выравнивания текста. В чем конкретно трудность?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 01.11.2016, 16:28
#3
RAD24


 
Регистрация: 24.01.2011
Сообщений: 57


Лисп не очень хорошо знаю поэтому и вопрос с чего начать, как сделать критерии наложения, "неналожения"
RAD24 вне форума  
 
Непрочитано 01.11.2016, 16:29
#4
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Цитата:
Сообщение от RAD24 Посмотреть сообщение
ак сделать критерии наложения, "неналожения"
хотя бы выложить пример чертежа
kp+ вне форума  
 
Автор темы   Непрочитано 01.11.2016, 16:36
#5
RAD24


 
Регистрация: 24.01.2011
Сообщений: 57


Файл с примером мтекстов наложенных на линии
Вложения
Тип файла: dwg
DWG 2010
Drawing2.dwg (159.6 Кб, 26 просмотров)
RAD24 вне форума  
 
Непрочитано 01.11.2016, 16:45
#6
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


и зачем городить ЛИСП? Выставить всем надписям типа "100500 м3/час" угол поворота 310 градусов, и 95% из них станут на свои места
kp+ вне форума  
 
Автор темы   Непрочитано 01.11.2016, 16:58
#7
RAD24


 
Регистрация: 24.01.2011
Сообщений: 57


Это частный случай, текстов очень много , вариантов пересечения много, сотни текстов . Хотелось бы их выравнивать (убирать наложение с полилиний), сдвигать в свободное место.
RAD24 вне форума  
 
Непрочитано 01.11.2016, 17:38
#8
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Свободного места полно на расстоянии 10 км от чертежа в пространстве модели.
Profan вне форума  
 
Непрочитано 01.11.2016, 17:48
#9
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Цитата:
Сообщение от RAD24 Посмотреть сообщение
Это частный случай, текстов очень много , вариантов пересечения много
На приведенном примере только один частный случай. Где остальные? Скажу сразу, универсального решения для общего случая (известного под названием "одна большая красная кнопка"), насколько мне известно, пока нет.
kp+ вне форума  
 
Автор темы   Непрочитано 02.11.2016, 10:15
#10
RAD24


 
Регистрация: 24.01.2011
Сообщений: 57


На 10 км сдвигать не надо. Только на минимальное, достаточное для устранения наложения текста на полилинию. Даже без поворота просто смещение. Понятно что универсальной кнопки нет, это и не нужно. Хотелось чтобы текст сдвигался на минимальное расстояние достаточное для устранения наложения его на полилинию.
RAD24 вне форума  
 
Непрочитано 02.11.2016, 10:26
#11
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Цитата:
Сообщение от RAD24 Посмотреть сообщение
Даже без поворота просто смещение...Хотелось чтобы текст сдвигался на минимальное расстояние достаточное для устранения наложения его на полилинию.
Если решать "в лоб", может статься что "минимальное расстояние достаточное для устранения наложения его на полилинию" окажется равным 10 км Опять же, что насчет удобочитаемости?
kp+ вне форума  
 
Непрочитано 02.11.2016, 10:45
#12
trushev


 
Регистрация: 12.01.2015
Сообщений: 261


Мне тоже
Цитата:
Сообщение от RAD24 Посмотреть сообщение
Хотелось чтобы текст сдвигался на минимальное расстояние достаточное для устранения наложения
, но

Цитата:
Сообщение от kp+ Посмотреть сообщение
"одна большая красная кнопка"
мне не известна.
Вложения
Тип файла: dwg
DWG 2010
План1.dwg (273.9 Кб, 16 просмотров)
trushev вне форума  
 
Автор темы   Непрочитано 02.11.2016, 11:08
#13
RAD24


 
Регистрация: 24.01.2011
Сообщений: 57


Есть слой "1"- на нем текст. Есть слой "2"- на нем полилинии. Нужна функция которая просматривая все мтексты для каждого мтекста по отдельности проверяет наложен ли он на полилинию.Если да-то смещает его координаты в любую сторону на 1 шаг равный например (0.1), затем опять проверяет этот же мтекст, наложен ли он на эту полилинию или нет. Если наложен то -опять смещение на 1шаг, если нет -то переход к следующему мтексту.
RAD24 вне форума  
 
Непрочитано 02.11.2016, 11:57
#14
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Цитата:
Сообщение от RAD24 Посмотреть сообщение
в любую сторону на 1 шаг
редактирование чертежа методом случайных блужданий - это серьезная заявка на победу (или пустую трату времени).
kp+ вне форума  
 
Автор темы   Непрочитано 02.11.2016, 12:13
#15
RAD24


 
Регистрация: 24.01.2011
Сообщений: 57


Вот в чем вопрос.
RAD24 вне форума  
 
Непрочитано 02.11.2016, 12:48
#16
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,781


Цитата:
Сообщение от trushev Посмотреть сообщение
мне не известна.
мггт как-то же разносит аннотации на итп.
engngr вне форума  
 
Непрочитано 02.11.2016, 12:57
#17
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Цитата:
Сообщение от engngr Посмотреть сообщение
мггт как-то же разносит аннотации на итп.
Автоматически? и при том адекватно? Тогда в задачу, заданную топикстартером, внесены какие-то допущения и упрощения. Например, полилинии должны быть незамкнутые, или текст должен быть параллелен одному из сегментов. Иначе, отодвигая текст от одной линии, можно залезть на другую или задвинуть его так, что чертеж станет нечитаемый

PS вообще-то подобные задачи решают модули размещения компонентов в прогах для проектирования печатных плат типа PCAD, SPECCTRA. Но если им задавать слишком много ограничений - не справляются

Последний раз редактировалось kp+, 02.11.2016 в 13:12.
kp+ вне форума  
 
Непрочитано 02.11.2016, 13:14
#18
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,781


Цитата:
Сообщение от kp+ Посмотреть сообщение
Автоматически? и при том адекватно?
Не знаю, как и чем они делают, но, подозреваю, какая-то автоматизация есть.
engngr вне форума  
 
Непрочитано 02.11.2016, 13:17
#19
trir


 
Регистрация: 18.12.2010
Сообщений: 5,057


AutoCAD Map так умеет для FDO-меток, но в Civil'е всё равно приходится это делать ручками. Зато там есть группы точек и можно для них включать/выключать метки или поворачивать вдоль трассы...
trir вне форума  
 
Автор темы   Непрочитано 02.11.2016, 13:21
#20
RAD24


 
Регистрация: 24.01.2011
Сообщений: 57


В идеале-да что бы программа по смещению учитывала все слои и убирала наложения со всех линий, но это часто сделать не возможно и вручную. Поэтому для упрощения-работа с двумя слоями, на одном мтект, на другом полилинии. Еще упрощение- тмекст смещать без поворота как есть. Первая попытка смещения внуть замкнутых полилиний, если она не удачная( текст попрежнему накладывается) то смщение координат сначала в право по оси ( установить количество проходов например 10 , с шагом определенным), если это неустраняет наложение то смещать от исходного положения текста-в лево с таким же количеством проходов по 1шагу. Если и это не устраняет наложение то смещать вверх и вниз.
RAD24 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Подскажите как сделать смещение текста в пространвстве модели?

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текст вдоль полилинии или сплайна (по кривой) 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