Оптимизация холостых ходов

Так что ваше утверждение о незавершонности работы оказалось верным.
Это нормально. Я в своей "Выжигалке" уже 3 года баги вылавливаю. Хоть это и не мешает пользоваться программой.

И ещё вставлю свои 5 копеек. Уж очень долго, на мой взгляд, программа проводит оптимизацию. Где-то у вас неверный сам подход к оптимизации. слишком много лишних расчётов производится.
Я бы делал так:
При первом сканировании файла создавал текстовый файл где каждая строка соответствовала участку кода от G0 до следующей G0. И в строке указывал координаты первой точки, координаты последней и номера строк этого участка в коде например 5 -20.
И весь анализ проводил уже с этим упрощённым файлом. Удаляя обработанные строки и копируя нужные участки из основного кода в новый файл. Так вся структура кода останется неизменной включая комментарии мощность и скорость. Ведь бывает код, где разная мощность на разных участках.
 
Примерно так оно и делается, только в оперативке. Там быстрее.
 
Ну вот, исправил ещё один баг и глюки пропали. Теперь, как говорят, картина достойна пера. Вот такая:

1738753468285.png

В аттачменте последняя версия (по сроку). На всякий случай выкладываю полный комплект, ужесли скачивать, то за один раз.
 

Вложения

  • idl_optim.pdf
    240.7 KB · Просмотры: 10
  • optim7.zip
    528.1 KB · Просмотры: 10
Увжаемые форумчане.
Я хотел было совсем забросить этот проект, но долгими зимними вечерами пенсионеру делать нечего - и я к нему вернулся. Переработал алгоритмы и постарался сделать программу максимально удобной для пользователя.
В результате этого проект разделился на 2 части - для фрезерной и лазерной обработки отдельно.
Предлагаю Вам бэта весию программы для фрезерной обработки.
Она создаёт в папке, где расположена Ваша УП, файл с тем же именем, к которому добавляется "_opt" перед расширением.
Её преимущества перед прежней версией:
- Она может использоваться для гравировки и фрезеровки любых изделий, а так же для сверловки ППМ.
- Все Ваши режимы и параметры обработки сохраняются без необходимости какой либо правки вручную.
- Все комментарии, расположенные в начале Вашей УП до начала рабочего цикла, сохраняются. Пустые строки и комментарии, распложенные внутри рабочего цикла, теряются. После сортировки трасс их непонятно куда пришивать.
Её недостатки (уже собственные):
- Программа написана на бейсике (интерпретатор), а потому работает довольно медленно.
- В этой бэта версии нет индикации её работы (возможно пока). Применять сторонние программы типа кухонного таймера, как было в прежней версии, настоящие программисы сказали - не камильфо. Но если процесс занимает более 15 сек - она выдаёт сообщение о предполагаемом времени обработки. А вы уже решаете что Вам в это время делать.
- Этот бейсик, на котором прога написана, довольно свежий и потому работант в кодировке UTF-8. В кодировку Windows 1251 настраиваться не хочет от слова совсем. Поэтому комментарии, написанные кириллицей в кодировке Windows 1251 искажаются до неузнаваемости. Что с этим делать - кадый решает сам. Один из вариантов. Поскольку Ваш файл остаётся неизменным, то комменты можно прернести в новый файл в тескстовом редакторе.
Вполне возможно, что недостатков ещё немеряно. Готов их выслушать и, по возможности, исправить.
В вашей исходной УП не должно быть номеров строк. В противном случае она на выходе даст чёрти что. Да и после сортировки номера строк теряют свой смысл.
Пробуйте.
 

Вложения

  • optim_mill_b5.zip
    450.3 KB · Просмотры: 11
Навскидку попробовал на нескольких УП.
В принципе, штука полезная, и, как минимум, если при предпросмотре УП выясняется, что имеются бесполезные перемещения, то есть повод для оптимизации.
Например, такая УП, где хватает "мельтешни" -
Bilderman 2026.03.15 21-38-40.png
после прогона через программу -
Bilderman 2026.03.15 21-38-48.png
По итогу, в данном случае, количество строк не изменилось, комменты на месте, а траектории упорядочились.
Это была "искусственно разоптимизированная" УП, чисто для наглядности.

Файл обрезки платы из G2G -
Такая вот "звезда Давида"
Bilderman 2026.03.15 21-58-53.png
После оптимизации -
Bilderman 2026.03.15 21-59-01.png

Фактус на мордус (лат), оптимизатор свою функцию выполняет и имеет право быть в наборе софта нашего брата.
В остальном - поюзаем-посмотрим.
 
  • Последнее редактирование:
Последнее редактирование:
Доброго времени суток.
В продолжение темы выкладываю программу для оптимизации холостых ходов при лазерной обработке.
В общих чертах она повторяет условия применения программы для оптимизации холостых ходов при фрезерной обработке.
Для управления излучением могут быть использованы команды включения/выключения лазера (M3/M5) или команды управления его мощностью(S>0/S=0). Важно только чтобы по всей УП они были одинаковые, иначе часть трасс не будет прорисовываться.
Не стоит пользоваться и конструкциями типа
G0XnYnS0 и G1XnYnSr
Почему то иногда происходят глюки. Пока на разбирался.
Пробуйте. Оставляйте отзывы.
 

Вложения

  • optim_laser_b.zip
    450.3 KB · Просмотры: 2
Вы правы, простите, ошибочка вышла. В программе команды именно S. Исправил.
 
Добрый день всем.
Мой очередной пост чуть-чуть не в тему, но тоже посвящён оптимизации. Только на этот раз не холостых ходов, а размеров УП.
Я думаю, что эта программа может пригодиться тем, кто готов пожертвовать некоторой потерей подробностей конечного рисунка в пользу сокращения размеров УП и времени обработки.
Она может обрабатывать УП и для гравера и для лазера.
 

Вложения

  • opim_bit.zip
    449.3 KB · Просмотры: 3
  • Ruk.pdf
    44.3 KB · Просмотры: 5
  • ttt.zip
    358.2 KB · Просмотры: 3
Поскольку на пост #36 не пришло никаких замечаний и сам я не обнаружил больше никаких глюков, то можно считать что время бэтатестирования кончилось. Теперь будем считать её первой рабочей версией. Она обзавелась идикатором выполнения и в конце сообщает сколько времени затрачено. Индикатор каждую секунду сообщает сколько строк считано, сколько трасс сформировано и склько трасс отсортировано. Естественно, что самый медленный процесс - это сортировка. Поскольку количество трасс уже выведено, то по скорости изменения количества отсортированных трасс можно прикинуть что делать: смотреть дальше в монито или сходить перекурить.
Тут же приложен тестовый файлик. Он небольшой по размеру, но трасс в нём много. Время обработки обратно пропорционально тктовой частоте процессора. На десктопе с тактовой частотой 3.6 ГГц время обработки составляет чуть больше 1 мин, на лаптопе с тактовой частотой 2.4 ГГц - около 2 ми 45 сек. Время работы станка тоже уменьшается, ему не нужно мотаться из конца в конец на большой скорости. Ну и его ресурс от этого повышается.
Удачи.
 

Вложения

  • anheles.zip
    13.5 KB · Просмотры: 3
  • optim_laser_v1.zip
    450.2 KB · Просмотры: 3
Сверху Снизу