|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
каким инструментом сшивать (объединять) горизонтали на планах
топограф, технолог
Москва
Регистрация: 24.05.2009
Сообщений: 3,072
|
||
Просмотров: 5479
|
|
||||
геология, геодезия Регистрация: 29.05.2009
Хабаровск
Сообщений: 185
|
Наиболее гибкий инструмент есть в ToolPac там можно сшивать линии с разным типом, цветом, высотой, весом, итд. Но, если расстояние между соседними линиями будет меньше чем с одновысотными то ToolPac сошьет соседние... Короче он берет наименьшее расстояние. Получается почти вручную. ToolPac->Polyline->Modifi->Join Segments. Еще есть PLtools там можно сшивать все линии лишь бы они были соединены и лежали на одном уровне. Так что идеального инструмента нет. Хотя без вышеперечисленных приложений я уже не знаю как и работать. Поставь - не пожалеешь. Поиск подскажет где взять. А универсальным решением мог бы стать лисп. Ну а с этим к "перцам" Вещь будет ОЧЕНЬ нужная!!!
|
|||
![]() |
|
||||
Krovlaf - ToolPac, PLtools у меня есть, с удовольствием пользуюсь, VVA - молодец!
DSTP_PLJOIN из ToolPac как и другие известные мне средства (например, Drawing Cleanup из Autocad Map), действительно сошьют что ближе - без учета высот. DSTP_PLJOIN еще и из разновысотных сшитых горизонталей сделает 3Д полилинии! _.qselect, SelSim использовать бесполезно, т.к. число сочетаний критериев - высота, цвет, толщина, тип линий, слой - слишком большое. pedit, PL-JOIN для данной задачи ничего не даст, т.к. они не сшивают линии с разрывами. Последний раз редактировалось АлексЮстасу, 24.12.2010 в 13:44. |
||||
![]() |
|
||||
Да, запустил (select-plines). Ничего внешне не произошло. Создаются где-то выборки? Как ими воспользоваться?
По-моему, выборки вообще можно не делать. Нужно только к возможности сшивания добавить проверку соответствия критериям одинаковой высоты, цвета, типа, толщин и пр. Последний раз редактировалось АлексЮстасу, 24.12.2010 в 14:29. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
АлексЮстасу,
Цитата:
Найди в pltools.ls поиском PL-JOIN, там найди строчки Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Таких "И т.д." будет в каждом файле = число высот*число цветов*число толщин*число типов линий. Причем набор высот будет в каждом файле разным, и трудно поддающимся контролю ((
Спасибо. В ком. строке запроса не было - я и не знал. Через правку файла pltools.ls устанавливать допуск неудобно и опасно - легко забыть туда залезть перед запуском для проверки установленного допуска, и посшивать лишнее. А добиться этого от простых исполнителей - себе дороже. Ведь допуск устанавливается в зависимости от ситуации, т.е. меняется от файла к файлу, от проекта к проекту и т.п. (( Да и PL-JOIN все равно сошьет "что ближе", без учет высот и пр. |
||||
![]() |
|
||||
Цитата:
![]() Просто путь через выборки здесь не годится. Вместо того, чтобы делать сотни выборок и запусков сшивания, нужно сделать один вызов сшивания, и в нем критерии одинаковости высот и пр. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Нет. Pedit сшивает с учетом высоты. Проверял. Можно сделать запрос fuzz distance.
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Цитата:
Но пока выдала: Command: PL-JOIN1 ; error: no function definition: PL:ERROR-SAVE-SYSVAR Добавлено: Сделал обычную PL-JOIN с допуском 5 - увы, легко посшивала с разными высотами, толстые с тонкими и пр. Последний раз редактировалось АлексЮстасу, 24.12.2010 в 16:32. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
АлексЮстасу, У меня на чертеже из #1 не сшивала.
Давай так 1. Версия Автокада 2. Еще раз четреж с парой линий, толстые, тонкие, разные высоты 3. Нужно предварительно загрузить pltools (вызови любую команду) или добавить PL-JOIN1 к pltools.lsp
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Цитата:
2. Про чертеж не понял - приложенного к посту 1 не достаточно? Нужен другой пример? 3. Скачал последнюю версию pltools. Добавил PL-JOIN1 в pltools.lsp. PlTools загружаю. Сообщение одинаково и для 2006 и для 2008: Command: PL-JOIN1 Unknown command "PL-JOIN1". Press F1 for help. Если делаю PL-JOIN1 отдельным файлом, то 2008 сообщает: Command: PL-JOIN1 ERRNO # 2: no function definition: PL:ERROR-SAVE-SYSVAR А 2006 пишет: Command: PL-JOIN1 ERRNO # 8: no function definition: PL:ERROR-SAVE-SYSVAR _.redrawall Вероятно, я где-то путаюсь? |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Цитата:
![]() В какое место лиспа пожно вставлять pl-join1? Можно сразу после pl-join (после его " (princ))") ? Нужно вставить какой-то разделитель? Я все-таки оставил достаточно большой файл (Сшивание_горизонталей_1.dwg), чтобы можно было посмотреть разные случаи. Обрезть всегда же можно. Во втором файле (Сшивание_горизонталей_15.dwg) показано, что у меня получилось при допуске 5 - обведены окружностями разные неправильные и спорные результаты. В том числе и сшивание горизонталей с разной высотой. Добавлено: Когда я добавляю pl-join2_5 (pl-join с допуском 5) в текст pltools, то пишет ошибку. А из отдельного файла эта pl-join2_5 выполняется. Последний раз редактировалось АлексЮстасу, 25.12.2010 в 20:01. |
||||
![]() |
|
||||
Я, похоже, разобрался, почему ни PL-JOIN, ни pljoin принципиально для сшивания горизонталей не годятся. Дело в том, что допуски в них действуют для расстояний в пространстве. Т.е., если горизонтали близко друг к другу, а разность их высот тоже невелика, то расстояние между концами разновысотных горизонталей может быть меньше указанного допуска.
Т.е. для сшивания горизонталей нужна программка, которая при разности высот (Elevation) полилиний, не сшивала бы их в принципе. Какой бы допуск ни был бы установлен. Приложил специальный простой пример, в котором при допуске больше или равном 2 (больше всех разрывов в пространстве) нужно, чтобы сшивалась только верхняя пара линий с Elevation=300.5, пара с Elevation=200 и нижняя пара линий. |
||||
![]() |