|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Программа для разноски текста
джедай
Магадан
Регистрация: 31.01.2005
Сообщений: 460
|
||
Просмотров: 4455
|
|
||||
джедай Регистрация: 31.01.2005
Магадан
Сообщений: 460
![]() |
Спасибо, удобный редактор, но к сожалению не то
Прикрепляю файл с примером, того что нужно "разносить". Ваш редактор все вырвнивает по х или по у мне нужно чтобы было понятно на каком месте до этого стояла надпись, и чтоб она была читаема (не забивалась другим текстом) размер менять нельзя - не видно при печати... может у кого есть идеи по алгоритму для такой программы? как можно проводить проверку видно ли текст или на нем что-то есть? и как узнать куда его можно сдвинуть чтоб не мешал другому тексту? [ATTACH]1156723801.dwg[/ATTACH] |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Пока программисты не подключились, ответь на пару вопросов: кроме текстов есть-ли что-то еще на чертеже? Если есть, то задача не решаемая, так как текст должен быть привязан к объекту. Может, надо их вынести на свободное место чертежа колонкой? Если так, в каком порядке из размещать?
[ATTACH]1156727633.dwg[/ATTACH] |
|||
![]() |
|
||||
джедай Регистрация: 31.01.2005
Магадан
Сообщений: 460
![]() |
другие объекты есть((
прикрепляю новый файл теперь с дополнительными объектами Один текст идет для окружностей, другой для линий. То что текст "накрывает" другие объекты это не существенно а если использовать как привязку точку вставки текста? и рисовать линию от точки вставки к новому месту расположения текста? так же по идее должно быть понятно откуда взят текст... т.е. нужно примерно то же что делает программа MdtEDIT, но при этом она должна рисовать линии до нового места расположения текста и желательно не выравнивать текст по линии, как это делает MdtEDIT (выносит колонкой), а немного смещать его в сторону/стороны - чтоб его прочитать можно было [ATTACH]1156732516.dwg[/ATTACH] |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
А разница по Z критична?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Дело не в этом. Общий алгоритм вроде как есть, но подробностей его реализации у меня не хватат. На всякий случай (может, и найду время) общие идеи:
1. Выбор текстов 2. Определить BoundingBox для них (разносим все тексты вправо либо влево, нечего им там делать) либо запрашиваем прямоугольник "разноски". 3. Определяем точку вставки, точку выравнивания и BoundingBox для текста. 4. Сортировать тексты по точке вставки (по координатам х и у) 5. Поменять х и у для текста, создав по ходу отрезок от старой точки до новой. Это идеи, скажем так, начального варианта. Но времени на реализацию просто не хватает ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Может попробовать в программе последовательно перебирать текст(при этом подсвечивая его) и потом указывать новую точку вставки.
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
А смысл тогда? Практически руками, смысла лиспа нет никакого...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |