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

Ну что ж.
Пальцев наподнимали, а скачиваний практически нет. Стало быть, проблема не сильно волнует.
Публикую очередной релиз и, видимо последний.
В архиве содержится 2 файла - idl_optim5.exe и Timer.exe. Оба файла портабельные и не требуют установки. Просто распакуйте архив в удобную для вас папку. Оба файла во время работы должны находиться в одной папке. Основной файл - idl_optim5.exe, второй имитирует прогресс_бар во время сортировки трасс.
Программа способна принять до 250000 рабочих строк, т.е. содержащих команды перемещения по осям X и Y и до 20000 трасс. Команды G02 и G03 НЕ обрабатываются и могут вызвать аварийное завершение программы.
Время выпонения программы, его львиная доля, определяется количеством трасс и быстродействием процессора и не сильно зависит от количества рабочих строк. Оно пропорционально примрно N^1.8, где N - число трасс и прирно в такой же степени отношению Fe/Fr, где Fe - некоторая эталонная частота, а Fr -рабочая частота вашего процессора.
Программа вычисляет время, необходимое для сотировки, сообщает вам об этом и запускает таймер. Вы можете наблюдать за заполнением рамки окна таймера, который ведёт обратный отсчёт времени в секундах. В зависимости от предпологаемого времени выполнения вы можете смотреть на экран, или пойти выкурить сигарету, или выпить стаканчик пивасика. Если смотреть на таймер надоело, его можно выключить, программа всё равно продолжит работу.
Поскольку при вычислении времени испльзуются только самые важные зависимости, то оно вычисляется с погрешностью, которая не превышает 10%. Поэтому случается, что таймер уже очистился, а вычисления ещё не завершеныи или наборот, вычисления закончились до очистки таймера. И в том и другом случае программа по завершении вычмслений выключает таймер и переходит к следующему этапу работы.
Подготовка вашей УП к оптимизации должна производиться так, как описано в pdf файле в первом посте. Сначала меняете G0 на G00, потом G1 на G01. поиск->замену не зацикливаете, иначе может получмться G0000000...., что тоже плохо.
Если вам важны комментарии в начале программы, начинающиеся с ; - скопируйте их и верните в оптимизированный файл.
С богом.
 

Вложения

  • optim5.zip
    548.1 KB · Просмотры: 9
Пальцев наподнимали, а скачиваний практически нет. Стало быть, проблема не сильно волнует.
А может просто программа не оправдала первоначальные ожидания?
 
А может просто программа не оправдала первоначальные ожидания?
Да, это возможно. И даже очень.
Но как сказал давным давно Жванецкий - "Нельзя судить о вкусе ананаса, не попробовав его".
А если наводишь мышку на контейнер с вложением и видишь - "Просмотры : 0", стало быть столько и попробовало.
 
"Просмотры : 0", стало быть столько и попробовало.
Не берите близко к сердцу, я скачал первый раз, сегодня прочитав ваш пост скачал ещё раз, показания счётчика не изменились, вот бы так с комуналкой! :)
 
Только что посмотрел. Изменились. Показывает, что 1 просмотр.
 
Но как сказал давным давно Жванецкий - "Нельзя судить о вкусе ананаса, не попробовав его".
Иногда достаточно описания:
На первом этапе она удаляет из исходной УП всё, что не относится к
перемещениям по осям X и Y, а именно:знаки %
комментарии, т.е. строки начинающиеся со ( и ;
номера строк
команды перемещения по оси Z
команды управления шпинделем/мощностью лазера (M__, S__ )
изменением скорости перемещения ( F__ )
в результате чего остаются только трассы.
Спасибо, но я уж лучше в bCNC руками.
 
  • Последнее редактирование:
Последнее редактирование:
Спасибо, но я уж лучше в bCNC руками.
Вам спасибо за комментарий.
Как поют в известной песне "Каждый выбирает для себя...". Моё дело - предложить, а ваше ....
Но ближе к концу описания написано, что все эти параметры восстанавливатся. Кроме номеров сток и комментариев.
 
Выкладываю окончательный релиз пограммы для оптимизации холостых ходов.
Теперь она не требует подготовки, так как понимает и короткие и длинные команды G, а заодно и нечувствительна к их регистру (верхнему или нижнему), показывает процесс обработки и способна сохранять на выходе строки комментариев, начинающихся с ; .
Как бонус её можно применить для конвертации УП под лазер в УП под гравер и наоборот :).
Большое спасибо всем, кто проявил к ней интерес, оставил комментарии и пожелания.
 

Вложения

  • idl_optim.pdf
    240.5 KB · Просмотры: 10
  • optim6.zip
    528 KB · Просмотры: 9
  • Последнее редактирование:
Последнее редактирование:
Выкладываю окончательный релиз пограммы
Наверное поторопились. Окончательных не бывает. всегда захочется улучшить.
Скачал, испытал. Нужно доработать.

1738593181782.png

Первоначальный код создан программой Лазергрбл 7.0.0 (правый рисунок) Из файла SVG (из корел дроу).
После обработки пограммой много холостых проходов стали не холостыми.

Файлы прилагаю.
 

Вложения

  • Электроника на есп32.rar
    882.7 KB · Просмотры: 2
Ну по поводу окончательности релиза в какой то песне пелось "И не то, чтобы да, и не то, чтобы нет..."
А ещё говорят, что если бордель не приносит дохода, то может быть в нём не кровати надо менять.
Я прогрнал ваш файл .svg через вектрик аспире в режиме быстрой гравировки и получил столь же плачевный результат.
Потом поменял путь. Преобразовал файл svg в файл hpgl, сбацал маленький vbs скриптик, который сделал из файла hpgl файл .cnc, содержащий только трассы и прогнал через свою программу. Результаты вот:
1738608809022.png

1738608978243.png

На мой взляд даже очень приличный результат.
Вот только в размерах немного ошибся, на 0.6 мм по каждой координате, от спешки.

В аттачменте полученные файлы и, на всякий случай, скриптик.
Если есть ещё вопросы и пожелания - пожалуйста.
 

Вложения

  • 1738608891007.png
    1738608891007.png
    157 KB · Просмотры: 3
  • pcb.zip
    664 KB · Просмотры: 1
  • hpgl_trace.zip
    1.3 KB · Просмотры: 0
  • Последнее редактирование:
Последнее редактирование:
Ну по поводу окончательности релиза в какой то песне пелось "И не то, чтобы да, и не то, чтобы нет..."
А ещё говорят, что если бордель не приносит дохода, то может быть в нём не кровати надо менять.
Я прогрнал ваш файл .svg через вектрик аспире в режиме быстрой гравировки и получил столь же плачевный результат.
Потом поменял путь. Преобразовал файл svg в файл hpgl, сбацал маленький vbs скриптик, который сделал из файла hpgl файл .cnc, содержащий только трассы и прогнал через свою программу. Результаты вот:
1738608809022.png

1738608978243.png

На мой взляд даже очень приличный результат.
Вот только в размерах немного ошибся, на 0.6 мм по каждой координате, от спешки.

В аттачменте полученные файлы и, на всякий случай, скриптик.
Если есть ещё вопросы и пожелания - пожалуйста.
Я не понял ваш ответ. Я что-то неправильно сделал в вашей программе?
Или нужны дополнительные действия по переводу в разные форматы? и дополнительные программы?
Ваши сообщения автоматически объединены:

Я на своём канале, ещё 7 лет назад, рассказывал про программу Романа Козырева, HPGL2CNC. Она из файлов plt делает код. Может с оптимизацией, а может без.
Но так как я выжигаю и режу по вектору очень редко, то обычно с оптимизацией не заморачивался. И как лазергрбл рисовал, так я и пользовался. Так что рекомендую, код делает за секунды, даже с оптимизацией.
Вот, посмотрите:
1738615033446.png

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

1738659874217.jpeg
Но осталось 5 вертикальных линий, природа которых мне пока непонятна. В Вашей УП эти строки полные, т.е. присутствуют обе коодинаты, но в выходной файл перегоняется неполная строка и теряется последня цифра по координате Y. А поскольку там чило целое, то смещение очень большое. Разберусь.
Так что ваше утверждение о незавершонности работы оказалось верным.
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать