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

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

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

1738753468285.png

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

Вложения

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

Вложения

  • optim_mill_b5.zip
    450.3 KB · Просмотры: 5
Навскидку попробовал на нескольких УП.
В принципе, штука полезная, и, как минимум, если при предпросмотре УП выясняется, что имеются бесполезные перемещения, то есть повод для оптимизации.
Например, такая УП, где хватает "мельтешни" -
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

Фактус на мордус (лат), оптимизатор свою функцию выполняет и имеет право быть в наборе софта нашего брата.
В остальном - поюзаем-посмотрим.
 
Сверху Снизу