Как написать дуги непосредственно в G-коде?
Как я могу написать G-код для треугольника без острых наконечников?
Я хочу сгенерировать углы вручную, а не с помощью среза, чтобы сгенерировать их, просто чтобы знать, как это делается.
@GCODE2, 👍4
Обсуждение2 ответа
У Марлина есть команды G2
(дуга по часовой стрелке) и G3
(дуга против часовой стрелки), которые можно использовать для этого. Вы можете найти подробную документацию по этой команде здесь.
В принципе, вы можете использовать
G2 R1 X5 Y5
нарисовать дугу (по часовой стрелке) от текущего положения до $(X,Y)=(5,5)$ с радиусом $1$.
Таким образом, ваш закругленный треугольник можно нарисовать с помощью 3 ходов по прямой линии и 3 ходов по дуге. Определение точных координат для каждого движения было бы довольно сложным геометрическим упражнением, так как вам нужно было бы знать, где заканчивается прямая часть каждой стороны и начинается закругленная часть.
хотя это простое упражнение с сапром, @Trish
Обратите внимание, что в встроенном ПО поддержка G2/G3 должна быть включена в встроенном ПО, например, в Marlin по определению "#define ARC_SUPPORT " в файле Configuration_adv.h. Кроме того, разве ваша плата принтера не должна иметь достаточно мощный процессор для обработки вычислений для этой опции?, @0scar
круги @0scar довольно обычны в командах с ЧПУ, и большинство печатных плат могут удваиваться для них. Я предполагаю, что вы, возможно, захотите использовать аргумент IJ вместо аргумента R, хотя., @Trish
@Trish В вопросе указывается, что G-код должен быть создан "вручную". Я не уверен, что использование САПР по-прежнему считается ручным., @Tom van der Zanden
Во-первых, преобразуйте данные измерения в эскиз...
Махинации с G-кодом
на самом деле у нас есть принтер, делающий круги.. давайте разберемся с этим...
Используя это, легко написать G-код, используя документацию для G1 и G2. Вам придется добавить значения E, чтобы вытянуть что-то вдоль путей, но ваш эскиз превратится в этот путь:
G92 X0 Y0 ; текущая позиция сейчас (0,0) на XY
G90 ;Отмените режим для всего...
M83 ;...но для электронного аргумента, так что вы можете просто указать длину в выдавливаниях, которые должны быть выполнены
G0 X10.66 Y2
G2 R5 X6.33 Y9.5 ; Альтернативный вариант: G3 I0 J5 X6.33 Y9.5
G1 X45.66 Y77.638
G2 R5 X54.33 Y77.638 ; Альтернативный вариант: G3 I4.33 Y-2,5 X54.33 Y77.638
G1 93,67 Лет 9,5
G2 R5 X89.33 Года ; Альтернативный вариант: G3 I-4,33 Года-2,5 X89.33 Года
G1 X10.66 Y2
G0 X0 Y0
G91 ; возврат к относительным координатам
Этот код должен предваряться перемещением туда, где вы хотите запустить шаблон, и не будет знать, сдвинете ли вы его с монтажной пластины, поэтому держите 100 мм X и 87 мм в Y от допустимой монтажной пластины. Все закончится именно там, где вы это начали.
Итеративный подход
Во многих случаях использования g-кода закругленные углы на самом деле являются n-углами с очень большим числом n. Тогда нам нужен только G1
, и мы можем легко рассчитать длину отрезков и заполнить G1. Нам нужно перейти к несколько круговому...
Давайте начнем итерацию с n=3, он же треугольник, который дает прямую линию над углом, дает следующее:
переход к n=6 (шестиугольник) намного лучше повторяет кривую...
переход к n=12 выглядит почти круглым в большем масштабе...
и когда мы достигнем n=24, мы окажемся довольно близко к кругу..
И когда мы поднимаемся выше n=6, мы также получаем более простую математику для углов, так как мы всегда получаем одинаковые длины движения вдоль X и Y, просто поменявшиеся местами из-за симметрии.
Определив все эти отрезки, мы могли бы легко начать работать в относительных координатах, опять же без E, и только для нижнего левого угла:
G0 X10.66 Y2
G1 X-1.294 Y0.17
G1 X-1.206 Y0.5
G1 X-1.036 Y0.795
G1 X-0.795 X1.036
G1 X-0.5 Y1.206
G1 X-0.17 Y1.294
G1 X0.17 Y1.294
G1 X0.5 Y1.036
...
Убийственное объяснение ... очень нравится графика, которая полностью помогает пониманию. +1, @Pᴀᴜʟsᴛᴇʀ2
Прекрасно иллюстрированный, но он отвечает на вопрос, который, по-видимому, касался написания дуг в g-коде, а не того, как можно имитировать дуги с помощью линейных сегментов., @cmm
- Создание плавных кривых в GCode
- Есть ли G-код для ожидания?
- Для чего используется G92 в G-коде
- Написание G-кода : проведите пальцем в начале печати
- Используя автоматическое выравнивание стола, нужно ли инициировать G29 перед каждой печатью?
- Cura: установить z-смещение
- Одновременный нагрев экструдера и стола при запуске печати
- В чем разница между M420 S и M420 S1?
ваш вопрос чрезвычайно лаконичен. Вы хотите сгенерировать углы вручную или хотите понять, как их режет слайсер? Как это делает ХАМ?!, @Trish
С множеством и множеством крошечных сегментов., @towe
@towe Верно, даже если вы используете G2/G3, @0scar