Re: Documentation for Script variables
Posted: Thu Jun 11, 2020 5:13 am
I'm sorry. I took this post from some Russian site without translation. You can use a translator. Here is a complete list of variables that can be used in scripts.
- Starting Script
[spoiler="Старт"]Пользовательский G-код, который будет вставлен в самом начале. Все скорости должны вводиться в мм/мин.
Можно использовать предустановленные переменные:
- [extruder#_temperature] - темперетура сопла, где #є[0..5] (подставляются только определенные, c 4.1 - '-1');
- [bed#_temperature] - темперетура стола, где #є[0..5] (подставляются только определенные, c 4.1 - '-1');
- [fan_speed_percentage] - скорость вентилятора в процентах [0..100];
- [fan_speed_pwm] - скорость вентилятора [0..255];
- [progress] - процент печати (вроде всегда 0).
С версии 4.1 добавили переменные:
- [current_feature_type] - тип элемента, одним из (travel,outer_perimeter,inner_perimeter,external_single_extrusion,internal_single_extrusion,gap_fill,
solid_layer,infill,bridge,support,dense_support,raft,skirt,prime_pillar,ooze_shield);
- [current_layer] - текущий слой;
- [current_layer_height] текущая высота слоя;
- [current_position_$] - текущие координаты оси $, где $є[xyze];
- [current_position_e#] - текущие координаты оси экструдера, где #є[0..5];
- [next_position_$] - следующие координаты оси $, где $є[xyz];
- [current_tool] - текущее сопло;
- [first_tool] - не понятно;
- [last_tool] - не понятно;
- [prime_distance] - дистанция выдавливания после втягивания;
- [prime_speed] - скорость выдавливания после втягивания, мм/мин;
- [retract_distance] - дистанция втягивания;
- [retract_speed] - скорость втягивания, мм/мин;
- [retract_vertical_lift] - подъём сопла после втягивания;
- [toolchange_prime_distance] - дистанция выдавливания после втягивания при смене сопла;
- [toolchange_prime_speed] - скорость выдавливания после втягивания при смене сопла, мм/мин;
- [toolchange_retract_distance] - дистанция втягивания при смене сопла;
- [toolchange_retract_speed] - скорость втягивания при смене сопла, мм/мин;
- [xy_travel_speed] - скорость перемещения по осям xy, мм/мин;
- [z_travel_speed] - скорость перемещения по оси z, мм/мин;
- [travel_speed] - скорость перемещения, мм/мин;
- [chamber#_temperature] - не понятно, где #є[0..5];
- [fan#_speed_percentage] - не понятно, где #є[0..5];
- [fan#_speed_pwm] - не понятно, где #є[0..5];
- [total_filament_used] - длинна используемого прутка;
- [total_filament_weight] - вес используемого прутка;
- [total_filament_cost] - стоимость используемого прутка;
- [total_filament_volume] - объем используемого прутка;
- [total_print_time_min] - время печати в минутах;
- [total_print_time_sec] - время печати в секундах;
- [total_layer_count] - количество слоёв;
- [build_min_$] - минимальная координата детали по оси, где $є[xyz];
- [build_max_$] - максимальная координата детали по оси, где $є[xyz];
- [build_size_$] - размер детали по оси, где $є[xyz];
- [extruder#_filament_used] - длинна используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_weight] - вес используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_cost] - стоимость используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_volume] - объем используемого прутка для экструдера, где #є[0..5].
С версии 4.1 добавили операторы:
- {EVAL "xxx"} - у числа xxx уберает последние 0 и потом последнюю '.'. Например, от 10.000 останется 10, где
xxx выражение (используется QJSEngine.toNumber(), интерпретатор кода JavaScript);
- {IF "xxx"}zzz - при выполнения условия xxx выводится zzz, где
xxx выражение (используется QJSEngine.toBool(), интерпретатор кода JavaScript).[/spoiler] - Ending Script
[spoiler="Стоп"]Пользовательский G-код, который будет вставлен при завершении печати детали. Все скорости должны вводиться в мм/мин.
Можно использовать предустановленные переменные:
- [current_Z_position] - координаты Z;
- [progress] - процент печати (вроде всегда 100).
С версии 4.1 добавили переменные:
- [extruder#_temperature] - темперетура сопла или -1, где #є[0..5];
- [bed#_temperature] - темперетура стола или -1, где #є[0..5];
- [chamber#_temperature] - не понятно или -1, где #є[0..5];
- [fan_speed_percentage] - скорость вентилятора в процентах [0..100];
- [fan_speed_pwm] - скорость вентилятора [0..255];
- [fan#_speed_percentage] - не понятно, где #є[0..5];
- [fan#_speed_pwm] - не понятно, где #є[0..5];
- [current_feature_type] - тип элемента, одним из (travel,outer_perimeter,inner_perimeter,external_single_extrusion,internal_single_extrusion,gap_fill,
solid_layer,infill,bridge,support,dense_support,raft,skirt,prime_pillar,ooze_shield);
- [current_layer] - текущий слой;
- [current_layer_height] текущая высота слоя;
- [current_position_$] - текущие координаты оси $, где $є[xyze];
- [current_position_e#] - текущие координаты оси экструдера, где #є[0..5];
- [next_position_$] - следующие координаты оси $, где $є[xyz];
- [current_tool] - текущее сопло;
- [first_tool] - не понятно;
- [last_tool] - не понятно;
- [prime_distance] - дистанция выдавливания после втягивания;
- [prime_speed] - скорость выдавливания после втягивания, мм/мин;
- [retract_distance] - дистанция втягивания;
- [retract_speed] - скорость втягивания, мм/мин;
- [retract_vertical_lift] - подъём сопла после втягивания;
- [toolchange_prime_distance] - дистанция выдавливания после втягивания при смене сопла;
- [toolchange_prime_speed] - скорость выдавливания после втягивания при смене сопла, мм/мин;
- [toolchange_retract_distance] - дистанция втягивания при смене сопла;
- [toolchange_retract_speed] - скорость втягивания при смене сопла, мм/мин;
- [xy_travel_speed] - скорость перемещения по осям xy, мм/мин;
- [z_travel_speed] - скорость перемещения по оси z, мм/мин;
- [travel_speed] - скорость перемещения, мм/мин;
- [total_filament_used] - длинна используемого прутка;
- [total_filament_weight] - вес используемого прутка;
- [total_filament_cost] - стоимость используемого прутка;
- [total_filament_volume] - объем используемого прутка;
- [total_print_time_min] - время печати в минутах;
- [total_print_time_sec] - время печати в секундах;
- [total_layer_count] - количество слоёв;
- [build_min_$] - минимальная координата детали по оси, где $є[xyz];
- [build_max_$] - максимальная координата детали по оси, где $є[xyz];
- [build_size_$] - размер детали по оси, где $є[xyz];
- [extruder#_filament_used] - длинна используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_weight] - вес используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_cost] - стоимость используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_volume] - объем используемого прутка для экструдера, где #є[0..5].
С версии 4.1 добавили операторы:
- {EVAL "xxx"} - у числа xxx уберает последние 0 и потом последнюю '.'. Например, от 10.000 останется 10, где
xxx выражение (используется QJSEngine.toNumber(), интерпретатор кода JavaScript);
- {IF "xxx"}zzz - при выполнения условия xxx выводится zzz, где
xxx выражение (используется QJSEngine.toBool(), интерпретатор кода JavaScript).[/spoiler] - Layer Change Script
[spoiler="Новый слой"]Пользовательский G-код, который будет вставлен при переходе на новый слой после команды втягивания. Все скорости должны вводиться в мм/мин.
Можно использовать предустановленные переменные:
- [next_position_$] - следующие координаты оси $, где $є[XYZ];
- [previous_Z_position] - предыдущие координаты Z;
- [current_Z_position] - следующие координаты Z;
- [current_layer] - номер следующего слоя;
- [progress] - процент печати.
С версии 4.1 добавили переменные:
- [extruder#_temperature] - темперетура сопла или -1, где #є[0..5];
- [bed#_temperature] - темперетура стола или -1, где #є[0..5];
- [chamber#_temperature] - не понятно или -1, где #є[0..5];
- [fan_speed_percentage] - скорость вентилятора в процентах [0..100];
- [fan_speed_pwm] - скорость вентилятора [0..255];
- [fan#_speed_percentage] - не понятно, где #є[0..5];
- [fan#_speed_pwm] - не понятно, где #є[0..5];
- [current_feature_type] - тип элемента, одним из (travel,outer_perimeter,inner_perimeter,external_single_extrusion,internal_single_extrusion,gap_fill,
solid_layer,infill,bridge,support,dense_support,raft,skirt,prime_pillar,ooze_shield);
- [current_layer_height] текущая высота слоя;
- [current_position_$] - текущие координаты оси $, где $є[xyze];
- [current_position_e#] - текущие координаты оси экструдера, где #є[0..5];
- [current_tool] - текущее сопло;
- [first_tool] - не понятно;
- [last_tool] - не понятно;
- [prime_distance] - дистанция выдавливания после втягивания;
- [prime_speed] - скорость выдавливания после втягивания, мм/мин;
- [retract_distance] - дистанция втягивания;
- [retract_speed] - скорость втягивания, мм/мин;
- [retract_vertical_lift] - подъём сопла после втягивания;
- [toolchange_prime_distance] - дистанция выдавливания после втягивания при смене сопла;
- [toolchange_prime_speed] - скорость выдавливания после втягивания при смене сопла, мм/мин;
- [toolchange_retract_distance] - дистанция втягивания при смене сопла;
- [toolchange_retract_speed] - скорость втягивания при смене сопла, мм/мин;
- [xy_travel_speed] - скорость перемещения по осям xy, мм/мин;
- [z_travel_speed] - скорость перемещения по оси z, мм/мин;
- [travel_speed] - скорость перемещения, мм/мин;
- [total_filament_used] - длинна используемого прутка;
- [total_filament_weight] - вес используемого прутка;
- [total_filament_cost] - стоимость используемого прутка;
- [total_filament_volume] - объем используемого прутка;
- [total_print_time_min] - время печати в минутах;
- [total_print_time_sec] - время печати в секундах;
- [total_layer_count] - количество слоёв;
- [build_min_$] - минимальная координата детали по оси, где $є[xyz];
- [build_max_$] - максимальная координата детали по оси, где $є[xyz];
- [build_size_$] - размер детали по оси, где $є[xyz];
- [extruder#_filament_used] - длинна используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_weight] - вес используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_cost] - стоимость используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_volume] - объем используемого прутка для экструдера, где #є[0..5].
С версии 4.1 добавили операторы:
- {EVAL "xxx"} - у числа xxx уберает последние 0 и потом последнюю '.'. Например, от 10.000 останется 10, где
xxx выражение (используется QJSEngine.toNumber(), интерпретатор кода JavaScript);
- {IF "xxx"}zzz - при выполнения условия xxx выводится zzz, где
xxx выражение (используется QJSEngine.toBool(), интерпретатор кода JavaScript).[/spoiler] - Retraction Script
[spoiler="Втягивание"]Пользовательский G-код, который будет вставлен перед каждым втягиванием. Все скорости должны вводиться в мм/мин.
Поддерживаются операторы:
{EVAL "xxx"} - у числа xxx уберает последние 0 и потом последнюю '.'. Например, от 10.000 останется 10 (обновлено с версии 4.1);
{IF xxxOPyyy}zzz - при выполнения условия выводится zzz (обновлено с версии 4.1), где
- OP - операция, одна из (==,!=,<,<=,>,>=,=);
- xxx может быть:
- TOOL - № сопла, тогда yyy должно быть числом [0..5]
- FEATURETYPE - тип элемента, тогда yyy должно быть одним из (travel,outer_perimeter,inner_perimeter,external_single_extrusion,internal_single_extrusion,
gap_fill,solid_layer,infill,bridge,support,dense_support,raft,skirt,prime_pillar,ooze_shield)
Можно использовать предустановленные переменные:
- [retract_distance] - дистанция втягивания;
- [prime_distance] - дистанция выдавливания после втягивания;
- [retract_speed] - скорость втягивания;
- [travel_speed] - скорость перемещения;
- [current_position_$] - текущие координаты оси $, где $є[xyz];
- [next_position_$] - следующие координаты оси $, где $є[xyz];
- [previous_direction_$] - предыдущее смещение оси $, где $є[xyz] (с версии 4.1 удалено);
- [next_direction_$] - следующее смещение оси $, где $є[xyz] (с версии 4.1 удалено);
- [average_direction_$] - не понятно (с версии 4.1 удалено).
С версии 4.1 добавили переменные:
- [extruder#_temperature] - темперетура сопла или -1, где #є[0..5];
- [bed#_temperature] - темперетура стола или -1, где #є[0..5];
- [chamber#_temperature] - не понятно или -1, где #є[0..5];
- [fan_speed_percentage] - скорость вентилятора в процентах [0..100];
- [fan_speed_pwm] - скорость вентилятора [0..255];
- [fan#_speed_percentage] - не понятно, где #є[0..5];
- [fan#_speed_pwm] - не понятно, где #є[0..5];
- [current_feature_type] - тип элемента, одним из (travel,outer_perimeter,inner_perimeter,external_single_extrusion,internal_single_extrusion,gap_fill,
solid_layer,infill,bridge,support,dense_support,raft,skirt,prime_pillar,ooze_shield);
- [current_layer] - текущий слой;
- [current_layer_height] текущая высота слоя;
- [current_position_e#] - текущие координаты оси экструдера, где #є[0..5];
- [current_tool] - текущее сопло;
- [first_tool] - не понятно;
- [last_tool] - не понятно;
- [prime_speed] - скорость выдавливания после втягивания, мм/мин;
- [retract_vertical_lift] - подъём сопла после втягивания;
- [toolchange_prime_distance] - дистанция выдавливания после втягивания при смене сопла;
- [toolchange_prime_speed] - скорость выдавливания после втягивания при смене сопла, мм/мин;
- [toolchange_retract_distance] - дистанция втягивания при смене сопла;
- [toolchange_retract_speed] - скорость втягивания при смене сопла, мм/мин;
- [xy_travel_speed] - скорость перемещения по осям xy, мм/мин;
- [z_travel_speed] - скорость перемещения по оси z, мм/мин;
- [progress] - процент печати;
- [total_filament_used] - длинна используемого прутка;
- [total_filament_weight] - вес используемого прутка;
- [total_filament_cost] - стоимость используемого прутка;
- [total_filament_volume] - объем используемого прутка;
- [total_print_time_min] - время печати в минутах;
- [total_print_time_sec] - время печати в секундах;
- [total_layer_count] - количество слоёв;
- [build_min_$] - минимальная координата детали по оси, где $є[xyz];
- [build_max_$] - максимальная координата детали по оси, где $є[xyz];
- [build_size_$] - размер детали по оси, где $є[xyz];
- [extruder#_filament_used] - длинна используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_weight] - вес используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_cost] - стоимость используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_volume] - объем используемого прутка для экструдера, где #є[0..5].
С версии 4.1 добавили операторы:
- {EVAL "xxx"} - у числа xxx уберает последние 0 и потом последнюю '.'. Например, от 10.000 останется 10, где
xxx выражение (используется QJSEngine.toNumber(), интерпретатор кода JavaScript);
- {IF "xxx"}zzz - при выполнения условия xxx выводится zzz, где
xxx выражение (используется QJSEngine.toBool(), интерпретатор кода JavaScript).[/spoiler] - Tool Change Script
[spoiler="Смена сопла"]Пользовательский G-код, который будет вставлен перед каждой командой смены сопла. Все скорости должны вводиться в мм/мин.
Поддерживаются операторы:
{IF xxxOPyyy}zzz - при выполнения условия выводится zzz (обновлено с версии 4.1), где
- OP - операция, одна из (==,!=,<,<=,>,>=,=);
- xxx может быть:
- OLDTOOL - № предыдущего сопла, тогда yyy должно быть числом [0..5]
- NEWTOOL - № нового сопла, тогда yyy должно быть числом [0..5]
- FEATURETYPE - тип элемента, тогда yyy должно быть одним из (travel,outer_perimeter,inner_perimeter,external_single_extrusion,internal_single_extrusion,
gap_fill,solid_layer,infill,bridge,support,dense_support,raft,skirt,prime_pillar,ooze_shield)
Можно использовать предустановленные переменные:
- [new_tool] - № нового сопла;
- [old_tool] - № предыдущего сопла;
- [travel_speed] - скорость перемещения;
- [toolchange_retract_speed] - скорость втягивания при смене сопла;
- [toolchange_retract_distance] - дистанция втягивания при смене сопла;
- [toolchange_prime_distance] - дистанция выдавливания после втягивания при смене сопла;
- [extruder#_temperature] - темперетура сопла, где #є[0..5];
- [bed#_temperature] - темперетура стола, где #є[0..5];
- [current_position_$] - текущие координаты оси $, где $є[XYZ];
- [next_position_$] - следующие координаты оси $, где $є[XYZ];
- [previous_direction_$] - предыдущее смещение оси $, где $є[XYZ] (с версии 4.1 удалено);
- [next_direction_$] - следующее смещение оси $, где $є[XYZ] (с версии 4.1 удалено);
- [average_direction_$] - не понятно (с версии 4.1 удалено).
С версии 4.1 добавили переменные:
- [chamber#_temperature] - не понятно или -1, где #є[0..5];
- [fan_speed_percentage] - скорость вентилятора в процентах [0..100];
- [fan_speed_pwm] - скорость вентилятора [0..255];
- [fan#_speed_percentage] - не понятно, где #є[0..5];
- [fan#_speed_pwm] - не понятно, где #є[0..5];
- [current_feature_type] - тип элемента, одним из (travel,outer_perimeter,inner_perimeter,external_single_extrusion,internal_single_extrusion,gap_fill,
solid_layer,infill,bridge,support,dense_support,raft,skirt,prime_pillar,ooze_shield);
- [current_layer] - текущий слой;
- [current_layer_height] текущая высота слоя;
- [current_position_e#] - текущие координаты оси экструдера, где #є[0..5];
- [current_tool] - текущее сопло;
- [first_tool] - не понятно;
- [first_tool_use] - не понятно;
- [last_tool] - не понятно;
- [prime_distance] - дистанция выдавливания после втягивания;
- [prime_speed] - скорость выдавливания после втягивания, мм/мин;
- [retract_distance] - дистанция втягивания;
- [retract_speed] - скорость втягивания, мм/мин;
- [retract_vertical_lift] - подъём сопла после втягивания;
- [toolchange_prime_speed] - скорость выдавливания после втягивания при смене сопла, мм/мин;
- [xy_travel_speed] - скорость перемещения по осям xy, мм/мин;
- [z_travel_speed] - скорость перемещения по оси z, мм/мин;
- [progress] - процент печати;
- [total_filament_used] - длинна используемого прутка;
- [total_filament_weight] - вес используемого прутка;
- [total_filament_cost] - стоимость используемого прутка;
- [total_filament_volume] - объем используемого прутка;
- [total_print_time_min] - время печати в минутах;
- [total_print_time_sec] - время печати в секундах;
- [total_layer_count] - количество слоёв;
- [build_min_$] - минимальная координата детали по оси, где $є[xyz];
- [build_max_$] - максимальная координата детали по оси, где $є[xyz];
- [build_size_$] - размер детали по оси, где $є[xyz];
- [extruder#_filament_used] - длинна используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_weight] - вес используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_cost] - стоимость используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_volume] - объем используемого прутка для экструдера, где #є[0..5].
С версии 4.1 добавили операторы:
- {EVAL "xxx"} - у числа xxx уберает последние 0 и потом последнюю '.'. Например, от 10.000 останется 10, где
xxx выражение (используется QJSEngine.toNumber(), интерпретатор кода JavaScript);
- {IF "xxx"}zzz - при выполнения условия xxx выводится zzz, где
xxx выражение (используется QJSEngine.toBool(), интерпретатор кода JavaScript).[/spoiler] - Post Processing
[spoiler="Постобработка"]Запуск скриптов после создания файла G-кода. Например,
"notepad.exe" "[output_filepath]"
Можно использовать системные переменные (%programfiles%, %windir% и др.) и предустановленные:
- [output_filename] - имя файла без расширения;
- [output_filepath] - имя файла с директорией;
- [output_dir] - директория файла;
- [install_dir] - директория установки ПО;
- [total_filament_used] - длинна используемого прутка;
- [total_filament_weight] - вес используемого прутка;
- [total_filament_cost] - стоимость используемого прутка;
- [total_print_time_min] - время печати в минутах;
- [total_print_time_sec] - время печати в секундах;
- [total_layer_count] - количество слоёв;
- [build_size_$] - размер детали по оси, где $є[xyz];
- [extruder#_filament_used] - длинна используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_weight] - вес используемого прутка для экструдера, где #є[0..5];
- [extruder#_filament_cost] - стоимость используемого прутка для экструдера, где #є[0..5].
С версии 4.1 добавлены:
- [total_filament_volume] - объем используемого прутка;
- [extruder#_filament_volume] - объем используемого прутка для экструдера, где #є[0..5];
- [build_min_$] - минимальная координата детали по оси, где $є[xyz];
- [build_max_$] - максимальная координата детали по оси, где $є[xyz].
Встроенные сценарии:
- {PREPEND "G28\n"} - добавляет строку в начало;
- {APPEND "G28\n"} - добавляет строку в конец;
- {REPLACE "; layer" "M117 line ="} - заменяет одну строку на другую. В примере - вывод слоев на экран;
- {DELETE "G28 X0 Y0\n"} - удаляет последовательность символов;
- {STRIP ";"} - удаляет строку, если она с этого начинается;
- {TOOL#REPLACE "xxx" "yyy"} - тоже, что и {REPLACE "xxx" "yyy"}, но для определенной головы, где #є[0..5] - номер головы,
с 4.1 заменен на {REPLACEIFTOOL "#" "xxx" "yyy"}
- {EXTENSION "gcode"} - устанавливает расширение файла.[/spoiler]