Всем привет. Платы делаю очень не часто. Штук 5-10 в год. Развожу в Altium. Изготавливаю методом фоторезиста. Засвечиваю на HLDI. Сверлю на ЧПУ. Металлизацию делаю серебряной краской + гальваника. С герберами, которые выдает Altium вопросов нет. HLDI Host их принимает напрямую. А вот со сверловкой - надо перевести Excellon от Altium в понятный формат для ЧПУ станка. Из найденного в сети более менее приглянулась GGEasy. Но тоже не без недостатков. Сперва надо сделать базу инструментов. Оптимизация пути инструмента так и не понял есть в ней или нет. И самое главное - не может создать единый файл для всех инструментов. Т.е. в моём случае это выглядит так: Загрузил первый файл, поставил первое сверло, просверлил. Загрузил следующий... и т.д. Собственно плюнул и написал себе небольшую программу, которая берёт Excellon и переводит его в G-Code для моего станка. Оптимизирует расположение инструментов от наименьшего диаметра к наибольшему. Мне это удобно. Начинаю с самого тонкого сверла (реперы для HLDI) и по порядку в сторону увеличения. Также оптимизирует пути движения инструментов (алгоритм "ближайшего соседа"). Ну и собственно позволяет создать единый файл на всю сверловку. После каждого цикла сверления (одним диаметром) возвращает шпиндель на "парковку" - точка (0;0) и заданную высоту, где останавливает выполнение сверловки для смены инструмента. Меняю сверло, нажимаю "ввод" и станок продолжает сверлить. Если надо, может создать и отдельные файлы для каждого инструмента (создает G-Code только для тех отверстий, для которых включено отображение). Ну и бонусом - визуально посмотреть карту сверловки, пути. Может пригодится кому, а то вдруг кто также "мучается" как я
Добрый день. Я пошел по другому пути - сделал прошивку для CNC, которая напрямую принимает .drl файлы (контроллер на STM32, платка BluePill). Тоже пришлось решать задачу максимально удобного управления параметрами сверления. Интересно будет сравнить подходы. Можно у вас попросить пример DRL-файла, сделанный Altium, желательно, посложнее? Я тестил на KiCad и SprintLayout.
Можно у вас попросить пример DRL-файла, сделанный Altium, желательно, посложнее?
Это чтобы дырок побольше ? Приложил.
Если ваш софт нормально работает с файлами от Sprint Layout, то считайте, что всё у Вас нормально. Я, когда писал, думал что есть какие то общие соглашения. Altium работает в положительном квадранте и все координаты инструментов положительные. Уже всё написал. Всё прекрасно. И решил проверить на файлах от Sprint. Каково ж моё удивление было, что точку (0;0) пользователи Sprint ставят "от балды". Пришлось всю логику перелопатить, чтобы программа могла работать с отрицательными координатами.
Мой станок управляется LPT портом компьютера программой TurboCNC под DOS. Ему нужны только G-code. Меня всё устраивает. Я ещё под DOS написал программку для финишной обрезки платы по контуру. Смысл в том, что не надо ничего выравнивать. Просто крепишь заготовку к столу как придётся. Затем в левый нижний угол фрезу ставишь - это (0;0). Ставишь в правый - запоминаешь эту координату. В программе вводишь запомненную координату и ширину платы. Она сама строит прямоугольник расположенный по этому вектору и выдаёт G-code для обрезки.
Если ваш софт нормально работает с файлами от Sprint Layout, то считайте, что всё у Вас нормально.
Большое спасибо за файл. Нашел в нём минимум два отличия от вариантов, что встречались мне прежде: -в заголовочной таблице инструментов, помимо диаметра сверла, присутствуют другие параметры с нулевыми значениями; -в случае неизменности одной из координат X или Y, её значение опускается. И вот на втором моменте мой парсинг на тесте в боевых условиях словил глюк. Хотя такой вариант задания координат у меня реализован, и я тестил предварительно парсинг на PC-эмуляции)
-в случае повторения значения одной из координат X или Y, её значение опускается. И вот на втором моменте мой парсинг на тесте в боевых условиях словил глюк. Хотя такой вариант задания координат у меня реализован, и я тестил предварительно парсинг на PC-эмуляции)
Так это вроде ж стандарт для Excellon. Так же как и отсутствие десятичной точки. Его давно разрабатывали. Так для экономии места на внешнем носителе и ввели эти вещи. Типа зачем писать десятичные точки? 1000 координат - это 1000 точек. Лишние 1000 байт. Тоже самое и с повторяющейся координатой - если одна из координат не меняется, то пишем только одну, ту что изменилась.
Павел, огроиное спасибо. Программа просто шикарная для домашнего творчества. и шикарна она именно своей простотой. Однако для меня возникла пара неудобств. 1. платы сейчас делаю как в спринте, так и на EASYEDA. соответственно получается очень много разных отверстий. Мне удобно два вида- большое (0,8) и маленькое(0,4), остальное допиливаю вручную. 2. Почему то мой станок некорректно отрабатывает остановку для смены инструмента. Попросил человека под ником Hingo дописать программу под меня. выкладываю тут, пусть люди пользуются... Еще раз огромное спасибо. Если не трудно, выложите на Ваш гитхаб.
Рад, что Вам понравилось. Пожалуй выложу ещё и обрезку по контуру. Альтиум при генерации Excellon может ещё и траекторию финишной обрезки в этом формате выводить.
здравствуйте! хотел попробовать программку, но так и не смог... на win7-64 не запускается, говорит нет в системе файла dll, что только не устанавливал, наверное все версии visual,и отдельно этот dll качал и регестрировал... всё бестолку... скажите! а можно как-то перекомпилировать под win7-32???... заранее спасибо за ответ...
Добрый. Наверное будет Вам проще Python установить и запустить скрипт. *.exe собирал с помощью pyinstaller. Он должен был всё необходимое включить в сборку. Поковырялся немного, но пока не понимаю чего может не хватать.
Здравствуйте! установил Python 3.8.8 32bit...скрипт запустился, сконвертировал тестовый файл НО! полученный файл (G-code ) не рабочий, все отверстия сверлятся в одной позиции...жаль конечно, что не удалось попробовать...ну да ладно
установил Python 3.8.8 32bit...скрипт запустился, сконвертировал тестовый файл НО! полученный файл (G-code ) не рабочий, все отверстия сверлятся в одной позиции...
А в каком софте разводите плату? Может, поиграться там с настройками выходного файла? Я вот попробовал в своём Altium Designer-е 10. Делал так: Поскольку и сам сижу под Семёрой, слил с Гитхаба только скрипт. А чтобы он запускался, проапгрейдил Питун, вот отсюда, если не знали, что есть такое. И поначалу у меня тоже скрипт генерил какую-то ерунду. В итоге вот с такими настройками когда в Альтиуме сгенерил сверловку, скрипт выдал что-то вменяемое: Главное, наверно, помогло то, что я отключил в нём какие-то оптимизации. Есть у меня кетайский станок "Woodpecker CNC 3018", но сам пользуюсь им редко. В основном сверлю по старинке, вручную.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения