Кратчайшая траектория между блоками - есть у кого-то лисп?
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Поиск литературы, чертежей, моделей и прочих материалов > Кратчайшая траектория между блоками - есть у кого-то лисп?

Кратчайшая траектория между блоками - есть у кого-то лисп?

Ответ
Поиск в этой теме
Непрочитано 06.11.2022, 15:24 #1
Кратчайшая траектория между блоками - есть у кого-то лисп?
koui
 
Регистрация: 24.01.2017
Сообщений: 125

Добрый день.
ни у кого нет случайно Лиспа, который, так скажем, решает задачу коммивояжера, а именно, обходит все блоки полилинией по кратчайшему пути? было бы здорово, если бы была опция ещё и выбора: с возвратом в исходную точку или без. нигде ничего подобного найти не смог.
Просмотров: 1761
 
Непрочитано 06.11.2022, 16:40
#2
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


прокладывать методом коммивояжёра трассы между устройствами - имхо, не самая лучшая идея)
Сергей812 вне форума  
 
Автор темы   Непрочитано 06.11.2022, 17:22
#3
koui


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
прокладывать методом коммивояжёра трассы между устройствами - имхо, не самая лучшая идея)
мне важно видеть решение, иногда оно вообще не очевидно. а уже по нему в голове проще складывается полная картина. это быстрее, чем сделать несколько вариантов прежде, чем понять, как всё-таки это сделать оптимально.
koui вне форума  
 
Непрочитано 06.11.2022, 19:44
#4
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от koui Посмотреть сообщение
мне важно видеть решение, иногда оно вообще не очевидно. а уже по нему в голове проще складывается полная картина. это быстрее, чем сделать несколько вариантов прежде, чем понять, как всё-таки это сделать оптимально.
и как алгоритм коммивояжёра справится, например с цепью трасса + ответвления типа звезды либо трасса древовидного вида? Видел где-то попытки реализации автопрокладки с первоначальным заданием общих трасс-направлений - т.е. сразу накладываются ограничения на направления трасс от конечных устройств. А чтобы выделили блоки и программа сама нарисовала что-то похожее на тот же шлейф - если проектировщики с опытом не всегда сразу выбирают трассу, то чего ожидать от программы)
Сергей812 вне форума  
 
Непрочитано 06.11.2022, 22:51
#5
SetQ

конструктор
 
Регистрация: 21.07.2007
Петрозаводск
Сообщений: 2,108


А сколько блоков в схеме? От этого зависит алгоритм - итерационный или прямой.
SetQ вне форума  
 
Автор темы   Непрочитано 06.11.2022, 23:23
#6
koui


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
и как алгоритм коммивояжёра справится, например с цепью трасса + ответвления типа звезды либо трасса древовидного вида? Видел где-то попытки реализации автопрокладки с первоначальным заданием общих трасс-направлений - т.е. сразу накладываются ограничения на направления трасс от конечных устройств. А чтобы выделили блоки и программа сама нарисовала что-то похожее на тот же шлейф - если проектировщики с опытом не всегда сразу выбирают трассу, то чего ожидать от программы)
алгоритм не будет ничего решать, он просто покажет техническую информацию, которая поможет в принятии решения.

----- добавлено через 25 сек. -----
Цитата:
Сообщение от SetQ Посмотреть сообщение
А сколько блоков в схеме? От этого зависит алгоритм - итерационный или прямой.
обычно от 20 до 100.
koui вне форума  
 
Непрочитано 06.11.2022, 23:38
#7
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от koui Посмотреть сообщение
алгоритм не будет ничего решать, он просто покажет техническую информацию, которая поможет в принятии решения.
какую техническую информацию? Рисунок из отрезков, соединяющих геометрические центры блоков по кратчайшему пути? На какой-то части чертежа они совпадут с будущей трассой, конечно. Но учитывать строительные и иные конструкции не будут, просто потому что об них не знает алгоритм.
Сергей812 вне форума  
 
Непрочитано 06.11.2022, 23:52
#8
SetQ

конструктор
 
Регистрация: 21.07.2007
Петрозаводск
Сообщений: 2,108


Цитата:
Сообщение от koui Посмотреть сообщение
обычно от 20 до 100.
Можно придумать, как провести замкнутую линию без самопересечений, не обязательно самую короткую из возможных, нужна?
SetQ вне форума  
 
Автор темы   Непрочитано 07.11.2022, 01:39
#9
koui


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


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

----- добавлено через ~1 мин. -----
Цитата:
Сообщение от SetQ Посмотреть сообщение
Можно придумать, как провести замкнутую линию без самопересечений, не обязательно самую короткую из возможных, нужна?
было бы интересно затестить. возможно, очень даже подойдёт, а если без пересечений, то и жуткого отклонения не будет.
koui вне форума  
 
Непрочитано 07.11.2022, 09:26
#10
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от koui Посмотреть сообщение
нет, даже частично они не совпадут с трассой по одной простой причине - трассу я в любом случае буду перечерчивать, потому как проще и быстрее начертить заново, чем поправить то, что есть.
и как тогда поможет этот макрос? Надо же будет выделить все блоки, через которые должна будет пройти трасса (во время этого процесса уже примерно трассу и так прикинете), потом макрос отрисует линию/отрезки по алгоритму поиска ближайших блоков(уже представляю себе змейку поперек помещений и коридоров), потом все равно это перерисовывать заново уже по нормальному.
Сергей812 вне форума  
 
Непрочитано 07.11.2022, 20:55
#11
SetQ

конструктор
 
Регистрация: 21.07.2007
Петрозаводск
Сообщений: 2,108


Вот цикл Гамильтона, надо выбрать рамкой несколько блоков в чертеже. Программа попутно удаляет (из обработки) дубликаты - блоки с одинаковой точкой вставки и каждый раз перетасовывает список точек, поэтом результат при большом числе вершин каждый раз разный.
Вложения
Тип файла: lsp Hamilton.LSP (1.9 Кб, 15 просмотров)
SetQ вне форума  
 
Автор темы   Непрочитано 11.11.2022, 16:35
#12
koui


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


Цитата:
Сообщение от SetQ Посмотреть сообщение
Вот цикл Гамильтона, надо выбрать рамкой несколько блоков в чертеже. Программа попутно удаляет (из обработки) дубликаты - блоки с одинаковой точкой вставки и каждый раз перетасовывает список точек, поэтом результат при большом числе вершин каждый раз разный.
ого, лютая вещь! такое чувство, что иет максимальное расстояние ))) если зациклить на 10000 раз, а потом среди 10000 элементов найти кратчайший, может, тогда и прокатит))) но я не смогу такое реализовать. но всё равно, большое спасибо!
koui вне форума  
 
Непрочитано 11.11.2022, 19:28
#13
kacugu

начинающий инженер-гидротехник
 
Регистрация: 18.04.2010
Санкт-Петербург
Сообщений: 910


Можно попробовать так:
1. Извлекаете данные блоков в excel
2. Решаете там задачу (рещения вроде находятся/гуглятся)
3. По полученным данным строите полилинию (лисп построения полилинии по координатам вроде был здесь на сайте)
kacugu вне форума  
 
Непрочитано 11.11.2022, 19:56
#14
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от koui Посмотреть сообщение
если зациклить на 10000 раз, а потом среди 10000 элементов найти кратчайший, может, тогда и прокатит))) но я не смогу такое реализовать. но всё равно, большое спасибо!
в лоб: на отдельном вспомогательном слое построить 10000 полилиний (просто вызвав данный выше лисп как функцию), выгрести по фильтру в виде имени слоя все эти полилинии, найти среди них одну с минимальной длиной, а остальные удалить.
Сергей812 вне форума  
 
Непрочитано 12.11.2022, 10:09
#15
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Если интересно решение не в автокаде, могу попробовать сделать в зкаде, уже с учетом трасс
zamtmn вне форума  
Ответ
Вернуться   Форум DWG.RU > Поиск литературы, чертежей, моделей и прочих материалов > Кратчайшая траектория между блоками - есть у кого-то лисп?

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подскажите. где скачать книгу про Revit Mep ..... есть у кого... 8914 Поиск литературы, чертежей, моделей и прочих материалов 3 07.03.2013 18:04
Сортамент сборных железобетонных конструкций у кого есть ? bybs Поиск литературы, чертежей, моделей и прочих материалов 8 13.08.2012 13:48
У кого есть "Таблица гидравлического расчета.xls"? maxi71 Поиск литературы, чертежей, моделей и прочих материалов 4 20.11.2011 11:48
Есть ли у кого шрифт "пишущая машинка"? URKA Разное 14 26.07.2009 17:19
Новый пожарный СНиП есть у кого и есть ли он в природе? хомяк Поиск литературы, чертежей, моделей и прочих материалов 3 13.12.2007 22:04