|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как находить незамыкания границ площадных объектов, находить "свободные концы"
топограф, технолог
Москва
Регистрация: 24.05.2009
Сообщений: 3,072
|
||
Просмотров: 4352
|
|
||||
Инженер дорожник Регистрация: 22.10.2007
Израиль
Сообщений: 1,859
|
Незнаю может здесь что подойдёт.
http://www.caduser.ru/forum/index.ph...D=44&TID=20184 |
|||
![]() |
|
||||
Спасибо! В принципе - то, что нужно.
На 2012, правда, программа не пошла. Но на 2008 сработала. Понятно, что нужно бы для версий новее, нужна возможность управлять размерами меток, возможность использовать предварительный выбор. Еще программа отмечает у полилиний с признаком замкнутости начала-концы, если они не совпадают. Это, вероятно, лишнее? Но локоть как никогда уже близок ![]()
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 10.12.2014 в 18:36. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Я тут вспомнил про еще одну программу
Одна из заявленных возможностей: Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Думаю, что оптимален вариант специальной команды. Отдельной или в составе набора команд для близких задач. Чтобы поиск разрывов можно было делать без особого ломания головы над многими параметрами. И у автора программы подход к оптимизации не топологический, т.е. не для всего годится.
Да, команде поиска свободных концов самое место именно здесь - в Drawing cleanup! Но свободные концы - все-таки отдельная задача, у нее другие критерии, чем у Продолжать недоводы или Сводить узлы в один. Конкретно: команда Продолжать недоводы не сработает на сонаправленных элементах, не найдет разрывы больше допуска. А больший допуск (какой?) ставить чревато - найдет слишком много ненужного. Так же не найти только висячие концы, разрывы с помощью Сводить узлы в один. Для поиска свободных концов допуск вообще не нужен. Offtop: Этот случай - как раз хороший пример, что в самостоле засели саботажники и вредители. Ведь для топологической коррекции, для создания площадных объектов поиск разрывов - наипервейшее дело! И именно этой возможности в Drawing cleanup - специализированном и мощнейшем инструменте - и нет ![]()
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Всплыла еще одна программка на lisp - возможно, то, что нужно. Но ее последняя редакция аж 1998 года!
Загружается, но на вызов отвечает: Цитата:
Если удастся, то это может помочь еще одному страждущему с http://forums.autodesk.com/t5/visual...r/td-p/5934951.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
АлексЮстасу, В логику пока особо не вникал. Добавил легкие полилинии. Тестировал на 2013. Возможно потребуется добавить command-s для 2015 и выше
Тестируй Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 09.12.2015 в 14:28. Причина: Внес изменения по тз #15 |
|||
![]() |
|
||||
Цитата:
Дома проверю на 2016-м. Что такое легкие полилинии?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
правильнее, наверное, назвать компактные
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Спасибо и за реанимацию лиспа, и за просвещение!
![]() Лисп работает у меня и на 2016-м. С человеком с другого форума случился испорченный телефон из-за моего нулевого английского. У него лисп почему-то работал. Его заботят ложные пометки разрывов. Похоже, лисп хуже всего обрабатывает отрезки - на многих их нормальных соединениях выдает ложные разрывы. Но не на всех. Еще лисп считает разрывом расстояние между концами отрезков или полилиний, даже если эти концы соединены другим отрезком или полилинией. И лисп не учитывает признак замкнутости у полилиний - если последний сегмент попадает в допуск, то тоже его пометит как разрыв. Возможно, что авторы что-то подобное за программой знали, иначе зачем бы они вводили "Fluff" - допуск не на максимальные, а на минимально обрабатываемые разрывы?.. Это не говоря о др. вопросах к программке: не обрабатывает предварительный выбор, на Enter при запросе выбора объектов прекращает работу с ошибкой, если указать необрабатываемые элементы (наудачу попробовал сплайны), то пометила ошибки для арок-окружностей, проверяемых мной перед этим. Приложил тестовый файл от автора вопроса с добавленными мной дугами и сплайнами.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Да. я читал. По совету Kent1Cooper внес небольшие изменения в #9
Я именно реанимиравал программу, "заставил" ее работать не только в английском автокаде, добавил обработку полилиний, которых в 1998 году не было. По поводу остальных вопросов нужно разбирать алгоритм.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Тестировал на GAP-Test_1.dwg с установками Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Цитата:
Я проверял при допуске 1.0. Помечаются как разрывы короткие элементы, длиной меньше Limit. Понятно, что это крайние, вырожденные случаи, и потому спорные. Но в том числе помечаются и короткие элементы при примыканиях к ним др. элементов. Т.е. существующие элементы считаются разрывами. Еще проверил вариант параллельных полилиний - почему-то отметились только одни концы. В целом из исходного кода получается вариант программки для "чистых разрывов", т.е. если есть мин. два несведенных конца. Вариант от hmsilva воспринимает и один конец + проходящий на расстоянии от него элемент как разрыв. Даже если у этого элемента рядом нет ни вершин, ни концов. Оба достаточно последовательны...
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
АлексЮстасу, Обновил #9. Внес кое-какие изменения в логику
На примере из #15 проверял с установками Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Цитата:
По-моему, если к концам элементов примыкают другие элементы, то это же не разрывы? Даже если длина таких элементов меньше Gap Limit. Ваш вариант программы ищет только разрывы концов элементов. Вариант hmsilva ищет еще и разрывы между концами и проходящими рядом элементами. При этом программа hmsilva использует zoom и пр. Это связано друг с другом?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Аттестация в Минрегионе по негосударственной экспертизе | Людмила Охр | Прочее. Архитектура и строительство | 350 | 14.02.2015 17:50 |