Справочник плейсхолдеров G-Code для платы расширения
Списки плейсхолдеров
| Имя | Тип | Определение | Пример |
| total_layer_count | int | Общее количество слоев |
Отображение общего количества слоев |
| previous_extruder | int 0-16 | Тип предыдущего экструдированного филамента |
Получение информации о типе предыдущего экструдированного филамента при смене |
| next_extruder | int 0-16 | Тип следующего экструдированного филамента |
Получение информации о типе следующего экструдированного филамента при смене |
| layer_num | int | Номер текущего слоя |
Отображение номера текущего слоя |
| layer_z | float | Высота текущего слоя | |
| max_layer_z | float | Максимальная высота слоя | |
| x_after_toolchange | float | Координаты после смены филаментов | |
| y_after_toolchange | float | ||
| z_after_toolchange | float | ||
| filament_extruder_id | int | Идентификатор текущего типа филамента |
Условный оператор |
| toolchange_z | float | Текущая общая высота слоя |
Перемещение экструдера филамента |
Руководство G-Code
Получение значений из имен переменных
Переменную "layer_z" можно получить напрямую, используя ее имя.
Чтобы получить его значение, используйте{layer_z}.
Доступ к значению плейсхолдера массива или вектора с использованием имени переменной[index]
"cool_plate_temp_initial_layer[0]" обращается к первому элементу "cool_plate_temp_initial_layer".
Чтобы получить его значение, используйте{cool_plate_temp_initial_layer[0]}.
Условные операторы
{if scan_first_layer}
;=========register first layer scan=====
M977 S1 P60
{endif}
Тернарный оператор/Условный оператор
(<condition> ? <cond_true>:<cond_false>)
Объединение инструкций G-кода
S[next_extruder]
S{cool_plate_temp_initial_layer[0]}
Представление типа данных String с помощью "string"
Строки:
"Bambu PLA Basic @BBL X1C"
Регулярное выражение
/regex/
Сравнение <, >, ==, !=, <>, <=, >=
toolchange_count > 1
Логические операции &&, ||, !
{if old_filament_temp > 142 && next_extruder < 255};dosomething{endif}
Арифметические операции +,-, *, /
Арифметические операторы:
{layer_num+1}
Операции с float возвращают тип float, тогда как операции с integer возвращают тип integer.
Если вы хотите, чтобы результат был десятичным значением, вам нужно включить аргумент типа float в операцию.
Например, 3/2 вернет 1 (integer), тогда как 3.0/2 вернет 1.5 (float).
Совпадение
=~совпадение и!~несовпадение:
=~и!~являются операторами сравнения, используемыми в программировании для проверки, совпадает ли строка с шаблоном или нет. Оператор=~оператор проверяет, совпадает ли строка с шаблоном, тогда как!~оператор проверяет, не совпадает ли строка с шаблоном.
Операции функций
Функции — это набор инструкций, которые выполняются при вызове. В программировании функция может принимать аргументы и возвращать результат. Вот некоторые распространенные операции функций в программировании:
min(a, b): возвращает минимальное значение междуaиb.max(a, b): возвращает максимальное значение междуaиb.int(a): преобразуетaв тип integer.round(a): округляетaк ближайшему целому числу.digits(a, num_digits, num_decimals=0): округляет дробную частьaдо целого числа и отображаетnum_digitsцифр с заполнением пробелами, гдеnum_decimalsпо умолчанию равно 0 и может быть оставлено пустым.zdigits(a, num_digits, num_decimals=0): то же, что и выше, за исключением того, что используется заполнение нулями вместо заполнения пробелами.
