Страница 1 из 1

Быстрый вариант генерации G-кода для простой траектории

Добавлено: 08 фев 2017, 07:29
selenur
Иногда бывает нужно получить очень простую траекторию движения, по быстрому, и тут нашел вот такой способ, установим программу если не стоит "Windows PowerShell ISE".
После запуска программы можно легко писать скрипты:
2017-02-08_091549.jpg (8151 просмотр) <a class='original' href='./download/file.php?id=102517&sid=7033ffc94a23627e3892cfad216c1aaf&mode=view' target=_blank>Загрузить оригинал (133.71 КБ)</a>

Код: Выделить всё

$p1 = ""

$s = 10;

for ($y = 0; $y -lt 10; $y++)
{ 

    $p1 += "G0 X0 Y"+$y + [char]13 + [char]10

    $p1 += "G1 X20 Y"+$y + " S" + $s + [char]13 + [char]10

    $s += 10

}

$p1

# Сохранение в файл
$p1 > d:\out.txt
Данный пример генерирует полоски для выжигания лазером, длиной 20 мм по оси Х, с шагом по оси Y с шагом 1 мм. И каждая линия содержит параметр S, который увеличивается на 10, с каждой новой линией.
2017-02-08_091603.jpg (8151 просмотр) <a class='original' href='./download/file.php?id=102518&sid=7033ffc94a23627e3892cfad216c1aaf&mode=view' target=_blank>Загрузить оригинал (104.9 КБ)</a>
Или периодически на форуме появляется вопрос как по быстрому сгенерировать выборку прямоугольную, в данном случае легко:
Скорректировав всего пару значений, получаем:
2017-02-08_092530.jpg (8151 просмотр) <a class='original' href='./download/file.php?id=102520&sid=7033ffc94a23627e3892cfad216c1aaf&mode=view' target=_blank>Загрузить оригинал (221.92 КБ)</a>
А вот сам код:

Код: Выделить всё

$strOut = ""

[bool]$directRight = $true

for ($y = 0; $y -lt 10; $y+=2)
{ 
    if ($directRight -eq $true)
    {

        $strOut += "G0 X0 Y"+$y + [char]13 + [char]10

        $strOut += "G1 X20 Y"+$y + [char]13 + [char]10

        $directRight = $false
    }
    else
    {
       $strOut += "G0 X20 Y"+$y + [char]13 + [char]10

       $strOut += "G1 X0 Y"+$y + [char]13 + [char]10

       $directRight = $true
    }

}

$strOut

# Сохранение в файл
$strOut > d:\out.txt

Re: Быстрый вариант генерации G-кода для простой траектории

Добавлено: 08 фев 2017, 09:13
AndyBig
Думаю, что тому, кто умеет скрипты, не составит труда и несложный G-код накидать :)

Re: Быстрый вариант генерации G-кода для простой траектории

Добавлено: 08 фев 2017, 09:31
aftaev
selenur, для таких дел есть O-Code http://www.cnc-club.ru/wiki/index.php/% ... 0%BE%D0%B4

Re: Быстрый вариант генерации G-кода для простой траектории

Добавлено: 08 фев 2017, 09:47
selenur
aftaev писал(а):selenur, для таких дел есть O-Code http://www.cnc-club.ru/wiki/index.php/% ... 0%BE%D0%B4
Об этом я знаю, я когда немного изучал LinuxCNC смотрел это: http://linuxcnc.org/docs/html/gcode/o-code.html

Но я пока использую ардуино контроллер, у которого нет поддержки О кодов :-)

Re: Быстрый вариант генерации G-кода для простой траектории

Добавлено: 15 дек 2017, 20:59
Immortal88
Есть готовый файл г-кода детали, нужно размножить его на лист материала, допустим, 3х2. Проблема в том что материалы у меня разных размеров, тоесть переменные "3" и "2" будут меняться часто и нужно это дело автоматизировать.
Какие могут быть способы решения такой проблеммы?

1. Есть ли готовые скрипты, которые делают то что мне нужно?
2. Подскажите примерный алгоритм действий как написать самописный скрипт. Я хорошо умею программировать на Python, но в г-кодах новичек поэтому мне не совсем понятно как правильно приплюсовать смещения траекторий по X и Y. В идеале нужен парсер/библиотека для перевода в абсолютные координаты