ПОЛЕЗНО Корректировка G-кодов

VikNik

МЕСТНЫЙ
ПРОВЕРЕННЫЙ
Регистрация
27.11.2021
Сообщения
36
Реакции
59
Баллы
38
Город
Кировск
Область
Ленинградская
  • Причина: Обновлён архив по просьбе автора темы
Причина: Обновлён архив по просьбе автора темы
В процессе разработки "произведений" довольно часто приходится компоновать изделие из G-кодов, сформированных разными CAM программами. Общее впечатление от результата может отличаться от ожидаемого и появляется желание какие-то фрагменты сдвинуть или изменить их размеры. На просторах этого форума я встречал вопросы и о том как изменить глубину фрезеровки.
Все САМ программы определяют точку привязки и размеры, но это обычно происходит в самом начале разработки пректа. И если Вам не понравился уже конечный результат, то приходится возвращаться в самое начало, вносить изменения и повторять весь процесс заново. А вдруг Вы используете чужой код или тот, проект которого уже утрачен?
Для решения таких проблем я написал три "примочки" и теперь в начале проектирования не сильно заморачиваюсь расположением и размерами - так, приблизительно.
Эти "примочки" написаны в виде VBS скриптов и не требуют никакого дополнительного программного обеспечения так как используют ресурсы операционной системы. Проверялись на Винде 7 и 10.
Писались они для себя. Если будете использовать, то на свой страх и риск. Претензий не принимаю, донатов не прошу. На возникшие вопросы отвечу.
 

Вложения

  • Modify.zip
    57.9 KB · Просмотры: 18
VikNik, а можно поподробнее, в частности как пользоваться, чет как-то не пойму (n)
 
Не ожидал такой быстрой реакции. Погодите немного, напшу инструкцию.
 
Похожая ситуация с FlatCam'ом. При подготовке контура платы при наличии вырезов в ней же, программа случайным образом выбирает очерёдность фрезеровки разных мест.

Допустим, отверстие #1, #4, #3, контур, #2. Технически, порядок выбирается исходя из минимального расстояния движения инструмента, но контур приходится сдвигать в самый конец обработки (плата держится за лист текстолита и после завершения контура - уже НЕ держится).

Хватает блокнота Notepad++ и поиска по G0 Zx.xx - инструмент поднимается над заготовкой для перемещения. Вырезаю, перехожу к последней такой же строке, вставляю.

Главное - не вставить ДО этой строки - сломал так 3 фрезы в одном и том же месте.

На просторах этого форума я встречал вопросы и о том как изменить глубину фрезеровки.
В моём случае обошлось бы последовательной заменой координаты Z, если всё под одну глубину фрезеровки. Либо нескольких значений тем же Ctrl+H - найти+заменить.
 

Вложения

  • О скриптах.pdf
    60.1 KB · Просмотры: 46
В процессе разработки "произведений" довольно часто приходится компоновать изделие из G-кодов, сформированных разными CAM программами.
А я вот сильно интересуюсь знать, что это за "произведение" такое хитрое, что его таки надо формировать в разных CAM программах?
 
На возникшие вопросы отвечу.
scale.vbs
Масштаб с миллиметрах или процентах, или в чем-то еще?


В конце ошибку выдает, как у homega :(
 
Масштаб с миллиметрах или процентах, или в чем-то еще?
В "разах".
Т.е. выставили 2 - значит в два раза увеличили, 0.5 - в два раза уменьшили.
У меня отработал без ошибок, но в результирующем файле получаются удвоенные "минуса"
Файл до и после
Before.pngAfter.png
 
12.png
X-ok, Y-???
 
  • Последнее редактирование:
Последнее редактирование:
Уважаемый homega. В самом начале своего текста я сообщил, что скрипты писал для себя под станок CNC-3018. У этого станка паспортная дискретность перемещения 0.01 мм. Т.е. для него лишние знаки после заяпятой (больше 2) абсолютно бесполезны, только загружают канал передачи данных. Поэтому после необходимых расчётов результат округляется до двух знаков после запятой. В вашем примере Y33.118 увеличивается в 2 раза, т.е. до 66.236. Если это число округлить по правилам до 2 знаков, то получим 66.24. Если Вам нужна дискретность больше, чем 2 знака, напишите в личку. Я для Вас сделаю спецверсию, поскольку это просто - изменить одну команду в скрипте.
Ваши сообщения автоматически объединены:

Уважаемый homega. В данном случае скрипт отругался на то, что не определил точку между именем и расширением файла. Более подробно не могу ответить за недостатком информации от Вас.
 
Урааа! Все работает!
Спасибо VikNik, прикольная программка:)
 
В вашем примере Y33.118 увеличивается в 2 раза, т.е. до 66.236
Будь так, вопросов бы не возникло, но посмотрите повнимательнее -
Y33.118 у homega увеличились до Y366.24, что совсем не в 2 раза. Т.е. при сборке результирующей строки тройка осталась от "старой".
У меня тоже лишних минусов навтыкало.

И это... Поиск расширения первой найденной точке, КМК, неправильно (какое расширение у файла 1.2.3.nc в вашем случае определится?), нужно либо с последней точки определять, либо использовать специализированные функции FSO, типа FSO.GetExtensionName(ПутькФайлу)
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

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

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

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

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