Это еще зачем?? Напиши G-код, в котором ты сам указываешь какое отверстие сверлить первым, вторым..
ну как зачем, печатные платы к примеру. там уже есть готовый файл с координатами сверловки, а вот оптимизации никакой разбросаны как попало. вряд ли кто-то вручную захочет их переписывать)))
В ручную переписываю! А алгоритм сверловки, если бы я писал, то сканировал бы по сетке платы слева-направо, свверху-вниз. И сверлил бы так же.
А скачки "вбок" до ближайшего не хорошо - опять же ошибку копим быстрее чем по прямой..
По вышеописанному: как быть с приоритетами равноудаленных отверстий, что не редкость..?
Не в тему:
хотел бы я глянуть как хотябы плата для l297/irfz вручную переписывалась а если бы еще и тройная на одной плате)))
Хм.. А какие сложности? Плата по сетке сделана.. Координаты известны.. Что еще надо? Типа сложно переписать не пропустив.? Для центровки платы на столе в печатной делается пара технологических отверстий - сверлятся в ручную. Одно из них "0".... В чем сложность то? Написать для каждого отверстия.. Причем Y Не меняется по сетке до конца линии отверстий..
G0 x10.35 y20.15 (можно G1 x y s)
g1 z0 M24 (кто как шпиндель включает/выключает)
g1 z5 M25
Не в тему:
для меня сложности большие))) лень это такая штука... а вобще, как говорится не прими за наезд, но мне кажется что такой (ручной) метод не был использован на практике, а всего лишь теория, потому и кажется таким точным и красивым)) (я сейчас имел ввиду только печатные платы и ничего кроме них!!!!). да и хотелось бы обоснованные наглядные аргументы в его пользу
Ошибки. Вручную, при более-менее сложной плате - гарантировано.
А с чем боремся, позвольте спросить?:) У вас серийное производство? Не? Так о чём тогда? Мне нужна ОДНА плата. И мне наплевать, будет час её сверлить, или 15 минут. Главное - без ошибок, не ломая свёрла, да и я в это время могу чем-то полезным заняться. ИМХО.
Я не отрицаю полезность сверления прямо с рисунка той же платы. Просто в моей практике ничего сложного не попадалось.. Ну до 100 отверстий предел.. А вот софту не доверяю, вдруг он центр какой-нибудь левой окружности зафигачит? В обоих случаях все проверяется на бумажной распечатке платы. И что за храбрец решит в одиночку улучшить алгоритмы сверления, написать под это софт, да так чтоб лучше чем тот же КАМ работало.. Кому не нравится МАЧ "типа сложно", ставьте ВРИ-СНС, она с радостью все засверлит, или что там еще из подобного софта есть..
В МАЧ вложены миллионы тугриков, работает толпа инженеров и программистов.. А самописные проги.. только для себя.. А другим попробуй после объясни как оно работает..
(Имеется в виду наличие отдельного готового софта для получения G-кода, а не все-по-минимуму-в-одном)
А вот софту не доверяю, вдруг он центр какой-нибудь левой окружности зафигачит?
софт фигачит только то что уже есть в наличии только в нужной последовательности и ничего с потолка не берет))
И что за храбрец решит в одиночку улучшить алгоритмы сверления
храбрецов таких довольно таки много, за что им отдельное спасибо. в меру своих потребностей искал подобное и находил, но то мова непонятная то командная строка, но тем не менее это работает и это лучше чем совсем ничего!
Кого?! Мдя...
не , ну не просто сверлилки, а нанотехнологичной связанной с электроннной вычислительной машиной типа IBM )) не у всех же винт трапеция, и лишних 45 мин могут сыграть решающую роль)))
А с потолка центр окружности, обозначающей элемент цепи.. Никогда не берет? Попробуй найди пересекающиеся слои.. Особенно из баз пользователей. Случаев полно. И время на разбирательство убито..... Лучше самому вручную..
Не в тему:
честно даже не представляю о каких слоях и окружностях речь.
а вобще я уже писал, на вкус и цвет.....
каждый сам выбирает что ему лучше.
только с таким подходом лучше и сверлить все вручную, ато вдруг с мачем или еще чем случится и он от себя еще что добавит. да и вобще забросить куда подальше эту аццкую коробочку под названием компьютер, потому что фиг его знает что там вобще внутри творится и как оно на результат повлияет
Ну раз так, то пусть всю работу компьютер делает..? Зачем вообще думать? Нихай лошадь думает, у ей гъолова большая... ) На вкус и цвет опять же)
Просто если человеку не найти занятия более полезного (на мой взгляд задача из темы к полезному не относится), то пусть занимае(ю)тся. Я главное отговорить попытался) Не могу же я давать чужие советы..
собственно от себя хочу добавить что прогу выложил СПЕЦИАЛЬНО С ИСХОДНИКАМИ. Следовательно если есть сомнения в чем то, просто берем исходник, копируем базовые процедуры (moveX, moveY, moveZ), они уж точно правильные, и пишем так как душе угодно. А главное для своих задач.
Нравится мач = пожалуйста. Просто некоторым нужно другое...
Кстати вопрос можно в место ссылок на длинючие мануалы, просто выложить код процедуры delay(ms: integer); который можно будет тупо скопипастить не вникая в смысл. Просто с момента написания софта интересы у меня как бы сменились(я теперь своим дырчиком занят и ремонтами домашними) и тратить время на разбирательства и тесты не хочется. Я бы просто перекомпилил прогу и выложил новую откорректированную версию для людей.
spok писал(а):ok, пусть будет на пальцах алгоритм Прима-Краскала.
Есть координаты дырок.
Условно, у нас существует матрица расстояний - от каждой до каждой (сама матрица, собственно не нужна, накладные расходы на вычисление расстояний - ничтожные).
Выбираем такие две дырки, между которыми расстояние кратчайшее. Запоминаем (занимаем) обе. Берём следующее кратчайшее расстояние между двумя дырками, но такое, чтобы не между этими же. И так до тех пор, пока свободные дырки не закончатся. В конечном итоге получается оптимальная (согласно этому алгоритму) последовательность посещения всех дырок.
Напоминаю, что это сложная задача (т.е. не имеющая никакого точно решения, кроме получаемого путём полного перебора всех вариантов решения), однако это самый простой алгоритм, легко программируется. Решение, в общем-то, неплохое. Если нужно пооптимальнее - следует смотреть в сторону метода ветвей и границ, либо перебора с возвратом, либо ещё чего-то совсем более сложного.
Очень легко представить наглядно - взять карандаш, линейку, листик . Наставить точек семь, соединить каждую с каждой линией, а дальше - по алгоритму.
Так лучше? ;-)
У меня прога ищет кратчайшую точку по корню из суммы квадрата dx + кв. dy
Если в крации = теорема пифагора + выбор наименьшего из оставщегося
Serg писал(а):39v
самый простой, но не очень рациональный алгоритм поиска.
Тогда уж лучше вдоль Х или У тупым перебором. Сначала в одн сторону, потом в обратную.
Возможно конечно. Думаю рационально реализовать в проге некий "счетчик пути" для оценки эффективности оптимизации, реализовать в проге 2 алгоритма оптимизации пути, а потом ДИНАМИЧЕСКИ И ПРОГРАММНО сравнивать полученный рез и делать выборку в пользу способа показавшего кратчайший путь. Думаю так будет правильней всего ) Т.к. считаю, что каждый метод хорош в определенных случаях, а в других будет оптимальней юзать другой.
Ребят, вы конечно извините, но проблема сейчас не в этом, а в корректной задержке (которой пока нет). И собственно пока ее не будет прогу дописывать смысла не вижу. кстати может быть ее скоро немного обновлю, тогда новый линк выложу.
andruxoidus писал(а):я уже заинтересовался, оптимизатором DRLа)))
он его в Gкод переганяет, или просто оптимизирует?
только оптимизирует и делает файлик в котором координаты построчно по порядку лежат. Файлик должен появляться на диске С в каталоге temp с именем optimization.drl (потом его надо открыть заново прогой, а мб я уже дописал код который его автоматом после оптимизации открывает, непомню) если я все правильно помню. Кроме того там только координаты остаются и все, все остальные метки игнорируются.
П.С. прошу прошения за долгий отзыв. В первый раз не обратил внимание на ваше сообщение.
39v писал(а):
Ребят, вы конечно извините, но проблема сейчас не в этом, а в корректной задержке (которой пока нет).
Я уж думал тебе и не нужно... Наверное и на мои ссылки внимания не обратил, а зря, ведь там лежит готовый модуль, который только скопипастить только-то и надо.
39v писал(а):
Ребят, вы конечно извините, но проблема сейчас не в этом, а в корректной задержке (которой пока нет).
Я уж думал тебе и не нужно... Наверное и на мои ссылки внимания не обратил, а зря, ведь там лежит готовый модуль, который только скопипастить только-то и надо.
Скажу честно читать столько всего мне просто лень (причины читай в предыдущих сообщениях, если в коротко = у меня много других дел).
Если вы уже читали все то что вы скидывали до этого, то не будете ли вы так любезны просто выложить код процедуры, а не посылать ... читать Войну и мир и толковый словарь Даля + всю остальную безусловно важную клинопись...