|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Развитие темы лиспа о проверке топологии
Регистрация: 19.08.2008
Сообщений: 52
|
||
Просмотров: 5391
|
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
(с) "Достаточно одной таблетки"
Код:
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 29.01.2010 в 12:30. |
|||
![]() |
|
||||
Регистрация: 19.08.2008
Сообщений: 52
|
Ну да, это же я когда-то в этой теме просил как раз совета. Вот, возникла так сказать новая идея по модернизации. Спасибо, что откликнулись, сейчас буду тестить.
Проверил, вроде работает, только вместе с блоками, затягивает в другой слой и текст. Можно ли чтобы он делал это только с блоками? И ещё вот такой вопрос, как обозначить слой, в который пойдут выделенные блоки, т.е. хочется допустим чтобы все линии так и оставались в Topolog, а блоки были не в Topolog, а в каком нить Na_Obrabotku например...
__________________
Практика доказывает - если смешать кило меда и кило дерьма, то получится два кило дерьма... Последний раз редактировалось WeMaN, 27.01.2010 в 15:14. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
замени выделенную строку на
Код:
на всякий случай добавь в начале 2-го лиспа 1-ой строкой "(vl-load-com)" - убежал при переносе из 1-го.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 19.08.2008
Сообщений: 52
|
Спасибо за помощь, всё работает так как нужно!
А вот (vl-load-com) я так и не вставил, впринципе может вставить, несмотря на то что лисп и так работает? Он какие то серьёзные функции выполняет?
__________________
Практика доказывает - если смешать кило меда и кило дерьма, то получится два кило дерьма... Последний раз редактировалось WeMaN, 27.01.2010 в 16:19. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
его надо запусить 1 раз в начале сеанса - загрузка модуля visual-lisp - практически все команды vl-*, vla-*. Если не поставил - оно - работает - значит в этом сеансе кто-то уже запустил (предыдущий лисп, либо что-то в автозагрузке) - в общем рекомендую добавить.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 19.08.2008
Сообщений: 52
|
Спасибо за помощь, очень помогли, давно эту замутку в уме держал, видать надо было спросить пораньше
![]() А вот чтобы этот лисп в отдельный выделить модуль, код должен выглядеть так? Код:
Где то видимо не дописал?
__________________
Практика доказывает - если смешать кило меда и кило дерьма, то получится два кило дерьма... Последний раз редактировалось WeMaN, 28.01.2010 в 09:42. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Неправильно, проверка - это проверяет есть-ли пересекающиеся объекты, а выделение их рамкой, как и переброска на другой слой - это уже отдельное действие. Тебе надо лисп который перебрасывает блоки на слой "на обработку" ничего не выделяя? Удали выделенное курсивом из поста с программой (не забыв заменить таблетки на нужные).
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 29.01.2010 в 12:34. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Смотри у тебя есть код (пост 2) - в нем жирным выделен фрагмент который переносит блоки и тексты на слой topologX, его можно безболезнено удалить (тогда он этого делать не будет), либо заменить на код из 4 поста (тогда он будет переносить на слой "на обработку" и только блоки), также есть выделенный курсивом - он создает прямоугольники в "проблемных" областях, его можно безболезненно удалить - соответственно прямоугольников не появится.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 19.08.2008
Сообщений: 52
|
Спасибо за советы и помощь, разобрался, классная програмка получается ))
Кстати а можно по тому же принципу сделать проверку наползания текста не на блоки, а на полилинии? Например, есть у нас условный знак болота в слое "Boloto", состоящии из горизонтально расположенных линий, и есть отметки высот, можно ли те линии которые наползли на отметку и блоки изолировать в другие слои?
__________________
Практика доказывает - если смешать кило меда и кило дерьма, то получится два кило дерьма... |
|||
![]() |
|
||||
Присоединяюсь. Такая программа была бы очень нужна для причесывания файлов перед печатью и т.п. И наложения не только текста на полилинии, но и блоков на полилинии (и линии тоже).
|
||||
![]() |
|
||||
Цитата:
2. чувствуется, что есть какие-то хорошие предложения... ![]() |
||||
![]() |
|
||||
Это если б обрабатывались примитивы внутри блока. Если применяется метод getboundingbox ко вставке блока (как и сделано в программе), то ничего не нужно конвертировать - координаты и так будут в WCS.
|
||||
![]() |
|
||||
Если с блоками ("типа INSERT"
![]() |
||||
![]() |