Merge branch 'main' into dev/gizmo

This commit is contained in:
Noisyfox 2023-11-12 11:03:05 +08:00 committed by GitHub
commit d6c2192fe2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 174 additions and 70 deletions

View file

@ -1 +1,35 @@
WIP
OrcaSlicer use `M106 P2` command to control auxiliary cooling fan.
If you are using Klipper, you can define a `M106` macro to control the both normal part cooling fan and auxiliary fan and exhuast fan.
Below is a reference configuration for Klipper.
*Note: Don't forget to change the pin name to the actual pin name you are using in the configuration*
```
# instead of using [fan], we define the default part cooling fan with [fan_generic] here
# this is the default part cooling fan
[fan_generic fan0]
pin: PA7
cycle_time: 0.01
hardware_pwm: false
# this is the auxiliary fan
# comment out it if you don't have auxiliary fan
[fan_generic fan2]
pin: PA8
cycle_time: 0.01
hardware_pwm: false
# this is the exhaust fan
# comment out it if you don't have exhaust fan
[fan_generic fan3]
pin: PA9
cycle_time: 0.01
hardware_pwm: false
[gcode_macro M106]
gcode:
{% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
{% set speed = (params.S|int if params.S is defined else 255) %}
SET_FAN_SPEED FAN={fan} SPEED={speed}
```

View file

@ -1 +1,36 @@
WIP...
OrcaSlicer use `M141/M191` command to control active chamber heater.
If you are using Klipper, you can define these macros to control the active chamber heater.
Bellow is a reference configuration for Klipper.
*Note: Don't forget to change the pin name/values to the actual values you are using in the configuration*
```
[heater_generic chamber_heater]
heater_pin:PB10
max_power:1.0
# Note: here the temperature sensor should be the sensor you are using for chamber temperature, not the PTC sensor
sensor_type:NTC 100K MGB18-104F39050L32
sensor_pin:PA1
control = pid
pid_Kp = 63.418
pid_ki = 0.960
pid_kd = 1244.716
min_temp:0
max_temp:70
[gcode_macro M141]
gcode:
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={params.S|default(0)}
[gcode_macro M191]
gcode:
{% set s = params.S|float %}
{% if s == 0 %}
# If target temperature is 0, do nothing
M117 Chamber heating cancelled
{% else %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={s}
TEMPERATURE_WAIT SENSOR="heater_generic chamber_heater" MINIMUM={s-1} MAXIMUM={s+1}
M117 Chamber at target temperature
{% endif %}
```

View file

@ -1 +1,35 @@
WIP
OrcaSlicer use `M106 P3` command to control air-filtration/exhuast fan.
If you are using Klipper, you can define a `M106` macro to control the both normal part cooling fan and auxiliary fan and exhuast fan.
Below is a reference configuration for Klipper.
*Note: Don't forget to change the pin name to the actual pin name you are using in the configuration*
```
# instead of using [fan], we define the default part cooling fan with [fan_generic] here
# this is the default part cooling fan
[fan_generic fan0]
pin: PA7
cycle_time: 0.01
hardware_pwm: false
# this is the auxiliary fan
# comment out it if you don't have auxiliary fan
[fan_generic fan2]
pin: PA8
cycle_time: 0.01
hardware_pwm: false
# this is the exhaust fan
# comment out it if you don't have exhaust fan
[fan_generic fan3]
pin: PA9
cycle_time: 0.01
hardware_pwm: false
[gcode_macro M106]
gcode:
{% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
{% set speed = (params.S|int if params.S is defined else 255) %}
SET_FAN_SPEED FAN={fan} SPEED={speed}
```

View file

@ -11,7 +11,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n"
"X-Generator: Poedit 3.3.2\n"
"X-Generator: Poedit 3.4.1\n"
msgid "Supports Painting"
msgstr "Support Painting"
@ -4080,7 +4080,7 @@ msgid "Upload failed\n"
msgstr ""
msgid "obtaining instance_id failed\n"
msgstr ""
msgstr "Obtaining instance_id failed\n"
msgid ""
"Your comment result cannot be uploaded due to some reasons. As follows:\n"
@ -4660,7 +4660,7 @@ msgid "Please select a file"
msgstr "Please select a file"
msgid "Do you want to replace it"
msgstr ""
msgstr "Do you want to replace it?"
msgid "Message"
msgstr ""
@ -5809,13 +5809,13 @@ msgstr ""
msgid ""
"When recording timelapse without toolhead, it is recommended to add a "
"\"Timelapse Wipe Tower\" \n"
"by right-click the empty position of build plate and choose \"Add Primitive"
"\"->\"Timelapse Wipe Tower\"."
"by right-click the empty position of build plate and choose \"Add "
"Primitive\"->\"Timelapse Wipe Tower\"."
msgstr ""
"When recording timelapse without toolhead, it is recommended to add a "
"\"Timelapse Wipe Tower\" \n"
"by right-click the empty position of build plate and choose \"Add Primitive"
"\"->\"Timelapse Wipe Tower\"."
"by right-click the empty position of build plate and choose \"Add "
"Primitive\"->\"Timelapse Wipe Tower\"."
msgid "Line width"
msgstr "Line width"
@ -8543,10 +8543,10 @@ msgstr "Full fan speed at layer"
msgid ""
"Fan speed will be ramped up linearly from zero at layer "
"\"close_fan_the_first_x_layers\" to maximum at layer \"full_fan_speed_layer"
"\". \"full_fan_speed_layer\" will be ignored if lower than "
"\"close_fan_the_first_x_layers\", in which case the fan will be running at "
"maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1."
"\"close_fan_the_first_x_layers\" to maximum at layer "
"\"full_fan_speed_layer\". \"full_fan_speed_layer\" will be ignored if lower "
"than \"close_fan_the_first_x_layers\", in which case the fan will be running "
"at maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1."
msgstr ""
msgid "Support interface fan speed"
@ -9716,21 +9716,21 @@ msgid ""
"normal(manual) or tree(manual) is selected, only support enforcers are "
"generated"
msgstr ""
"normal(auto) and tree(auto) are used to generate support automatically. If "
"Normal(auto) and Tree(auto) are used to generate support automatically. If "
"normal(manual) or tree(manual) is selected, only support enforcers are "
"generated"
msgid "normal(auto)"
msgstr "normal(auto)"
msgstr "Normal(auto)"
msgid "tree(auto)"
msgstr "tree(auto)"
msgstr "Tree(auto)"
msgid "normal(manual)"
msgstr "normal(manual)"
msgstr "Normal(manual)"
msgid "tree(manual)"
msgstr "tree(manual)"
msgstr "Tree(manual)"
msgid "Support/object xy distance"
msgstr "Support/object xy distance"

View file

@ -254,7 +254,7 @@ msgid "%"
msgstr "%"
msgid "uniform scale"
msgstr "escala uniforme"
msgstr "Escala uniforme"
msgid "Left click"
msgstr "Click izquierdo"
@ -631,15 +631,13 @@ msgstr ""
msgid "WebView2 Runtime"
msgstr "Tiempo de ejecución de WebView2"
# msgid "OrcaSlicer configuration file may be corrupted and is not abled to be parsed.Please delete the file and try again."
# msgstr "Es posible que el archivo de configuración de OrcaSlicer esté dañado y no pueda ser procesado. Por favor, borre el archivo e inténtelo de nuevo."
#, c-format, boost-format
msgid ""
"%s\n"
"Do you want to continue?"
msgstr ""
"%s\n"
"¿Quiere continuar?"
"¿Quieres continuar?"
msgid "Remember my choice"
msgstr "Recordar mi selección"
@ -667,6 +665,11 @@ msgid ""
"Please note, application settings will be lost, but printer profiles will "
"not be affected."
msgstr ""
"El archivo de configuración de OrcaSlicer puede estar dañado y no puede ser "
"analizado.\n"
"OrcaSlicer ha intentado recrear el archivo de configuración.\n"
"Tenga en cuenta que se perderán los ajustes de la aplicación, pero los "
"perfiles de impresora no se verán afectados."
msgid "Rebuild"
msgstr "Reconstruir"
@ -839,10 +842,10 @@ msgid "Add modifier"
msgstr "Añadir modificador"
msgid "Add support blocker"
msgstr "Añadir bloqueo soportes"
msgstr "Añadir bloqueo de soportes"
msgid "Add support enforcer"
msgstr "Añadir forzado de soportes"
msgstr "Añadir refuerzo de soportes"
msgid "Select settings"
msgstr "Seleccione los ajustes"
@ -902,10 +905,10 @@ msgid "Set as individual objects"
msgstr "Ajustar como objetos individuales"
msgid "Fill bed with copies"
msgstr "Fill bed with copies"
msgstr "Llenar la cama de copias"
msgid "Fill the remaining area of bed with copies of the selected object"
msgstr "Fill the remaining area of bed with copies of the selected object"
msgstr "Llena el resto del área de la cama con copias del objeto seleccionado"
msgid "Printable"
msgstr "Imprimible"
@ -963,7 +966,7 @@ msgid "Flush into objects' support"
msgstr "Purgar en los soportes de objetos"
msgid "Edit in Parameter Table"
msgstr "Editar en la Tabla de Parámetro"
msgstr "Editar en la Tabla de Parámetros"
msgid "Convert from inch"
msgstr "Convertir desde pulgadas"
@ -4813,7 +4816,7 @@ msgid "Please select a file"
msgstr "Por favor, seleccione un archivo"
msgid "Do you want to replace it"
msgstr "¿Quiere reemplazarlo?"
msgstr "¿Desea reemplazarlo?"
msgid "Message"
msgstr "Mensaje"
@ -5143,13 +5146,13 @@ msgid "Units"
msgstr "Unidades"
msgid "Home"
msgstr ""
msgstr "Página de Inicio"
msgid "Default Page"
msgstr ""
msgstr "Página por defecto"
msgid "Set the page opened on startup."
msgstr ""
msgstr "Establece la página que se abre al inicio."
msgid "Zoom to mouse position"
msgstr "Hacer zoom en la posición del ratón"
@ -5166,14 +5169,14 @@ msgstr "Usar cámara libre"
msgid "If enabled, use free camera. If not enabled, use constrained camera."
msgstr ""
"Si está activada, usa la cámara libre. Si no está activada, usa la cámara "
"restringida"
"Si está activada, utiliza la cámara libre. Si no está activada, utiliza la "
"cámara restringida."
msgid "Show splash screen"
msgstr ""
msgstr "Mostrar pantalla de inicio"
msgid "Show the splash screen during startup."
msgstr ""
msgstr "Muestra la página de bienvenida al iniciar."
msgid "Show \"Tip of the day\" notification after start"
msgstr "Mostrar la notificación \"Consejo del Día\" después de empezar"
@ -6007,8 +6010,8 @@ msgstr ""
msgid ""
"When recording timelapse without toolhead, it is recommended to add a "
"\"Timelapse Wipe Tower\" \n"
"by right-click the empty position of build plate and choose \"Add Primitive"
"\"->\"Timelapse Wipe Tower\"."
"by right-click the empty position of build plate and choose \"Add "
"Primitive\"->\"Timelapse Wipe Tower\"."
msgstr ""
"Cuando grabamos timelapse sin cabezal de impresión, es recomendable añadir "
"un \"Torre de Purga de Intervalo\" \n"
@ -6298,7 +6301,7 @@ msgid "Change filament G-code"
msgstr "G-Code para el cambio de filamento"
msgid "Change extrusion role G-code"
msgstr ""
msgstr "Cambiar el rol de extrusión Código G"
msgid "Pause G-code"
msgstr "G-Code de pausa"
@ -8964,10 +8967,10 @@ msgstr "Velocidad máxima del ventilador en la capa"
msgid ""
"Fan speed will be ramped up linearly from zero at layer "
"\"close_fan_the_first_x_layers\" to maximum at layer \"full_fan_speed_layer"
"\". \"full_fan_speed_layer\" will be ignored if lower than "
"\"close_fan_the_first_x_layers\", in which case the fan will be running at "
"maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1."
"\"close_fan_the_first_x_layers\" to maximum at layer "
"\"full_fan_speed_layer\". \"full_fan_speed_layer\" will be ignored if lower "
"than \"close_fan_the_first_x_layers\", in which case the fan will be running "
"at maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1."
msgstr ""
"La velocidad de ventilador se incrementará linealmente de cero a "
"\"close_fan_the_first_x_layers\" al máximo de capa \"full_fan_speed_layer\". "
@ -9188,14 +9191,14 @@ msgstr ""
"Ajústelo a 0 para desactivarlo."
msgid "Time cost"
msgstr "Coste dinerario por hora"
msgid "The printer cost per hour"
msgstr ""
"La cantidad de dinero que cuesta la impresión que vamos a realizar por hora. "
"Podemos calcular el coste dependiendo de la potencia de la impresora, el "
"coste del filamento, etc."
msgid "The printer cost per hour"
msgstr "Coste por hora de la impresión"
msgid "money/h"
msgstr "dinero/hora"
@ -10742,11 +10745,11 @@ msgid ""
"This gcode is inserted when change filament, including T command to trigger "
"tool change"
msgstr ""
"Este G-Code se inserta cuando se cambia de filamento, incluyendo el comando "
"T para activar el cambio de herramienta"
"Este gcode se inserta al cambiar de filamento, incluyendo el comando T para "
"activar el cambio de herramienta"
msgid "This gcode is inserted when the extrusion role is changed"
msgstr ""
msgstr "Este gcode se inserta cuando se cambia el rol de extrusión"
msgid ""
"Line width for top surfaces. If expressed as a %, it will be computed over "
@ -11704,12 +11707,12 @@ msgstr ""
"wiki.\n"
"\n"
"Normalmente la calibración es innecesaria. Cuando se inicia una impresión de "
"un solo color/material, con la opción \"Calibración de la dinámica de caudal"
"\" marcada en el menú de inicio de impresión, la impresora seguirá el método "
"antiguo, calibrar el filamento antes de la impresión; Cuando se inicia una "
"impresión de varios colores/materiales, la impresora utilizará el parámetro "
"de compensación por defecto para el filamento durante cada cambio de "
"filamento que tendrá un buen resultado en la mayoría de los casos.\n"
"un solo color/material, con la opción \"Calibración de la dinámica de "
"caudal\" marcada en el menú de inicio de impresión, la impresora seguirá el "
"método antiguo, calibrar el filamento antes de la impresión; Cuando se "
"inicia una impresión de varios colores/materiales, la impresora utilizará el "
"parámetro de compensación por defecto para el filamento durante cada cambio "
"de filamento que tendrá un buen resultado en la mayoría de los casos.\n"
"\n"
"Tenga en cuenta que hay algunos casos en los que el resultado de la "
"calibración no es fiable: el uso de una placa de textura para hacer la "
@ -12661,6 +12664,10 @@ msgstr ""
"extrusor/hotend al imprimir filamento de baja temperatura con una "
"temperatura de carcasa más alta. Más información sobre esto en la Wiki."
#~ msgid "The minimum printing speed when slow down for cooling"
#~ msgstr ""
#~ "La velocidad mínima de impresión cuando se ralentiza para el refrigeración"
#~ msgid "Embeded"
#~ msgstr "Integrado"
@ -12727,10 +12734,6 @@ msgstr ""
#~ msgstr ""
#~ "Paso 1: confirme que Bambu Studio y su impresora estén en la misma LAN."
#~ msgid "The minimum printing speed when slow down for cooling"
#~ msgstr ""
#~ "La velocidad mínima de impresión cuando se ralentiza para el refrigeración"
#~ msgid "Empty layers around bottom are replaced by nearest normal layers."
#~ msgstr ""
#~ "Las capas vacías del fondo se sustituyen por las capas normales más "

View file

@ -57,7 +57,7 @@
"seam_position": "aligned",
"skirt_distance": "2",
"skirt_height": "1",
"skirt_loops": "0",
"skirt_loops": "1",
"minimum_sparse_infill_area": "15",
"internal_solid_infill_line_width": "0.42",
"spiral_mode": "0",

View file

@ -57,7 +57,7 @@
"seam_position": "aligned",
"skirt_distance": "2",
"skirt_height": "1",
"skirt_loops": "0",
"skirt_loops": "1",
"minimum_sparse_infill_area": "15",
"internal_solid_infill_line_width": "0.42",
"spiral_mode": "0",

View file

@ -57,7 +57,7 @@
"seam_position": "aligned",
"skirt_distance": "2",
"skirt_height": "1",
"skirt_loops": "0",
"skirt_loops": "1",
"minimum_sparse_infill_area": "15",
"internal_solid_infill_line_width": "0.62",
"spiral_mode": "0",

View file

@ -130,8 +130,7 @@
"single_extruder_multi_material_priming": "1",
"skirt_distance": "2",
"skirt_height": "1",
"skirt_loops": "0",
"skirt_speed": "0",
"skirt_loops": "1",
"slice_closing_radius": "0.049",
"slicing_mode": "regular",
"slow_down_layers": "1",

View file

@ -56,7 +56,7 @@
"seam_position": "aligned",
"skirt_distance": "2",
"skirt_height": "1",
"skirt_loops": "0",
"skirt_loops": "1",
"minimum_sparse_infill_area": "15",
"internal_solid_infill_line_width": "0.4",
"spiral_mode": "0",

View file

@ -33,7 +33,7 @@ public:
double retract(double length, double restart_extra);
double unretract();
double E() const { return m_share_extruder ? m_share_E : m_E; }
void reset_E() { reset(); }
void reset_E() { m_E = 0.; m_share_E = 0.; }
double e_per_mm(double mm3_per_mm) const { return mm3_per_mm * m_e_per_mm3; }
double e_per_mm3() const { return m_e_per_mm3; }
// Used filament volume in mm^3.

View file

@ -710,7 +710,7 @@ static std::vector<Vec2d> get_path_of_change_filament(const Print& print)
if (is_ramming)
gcodegen.m_wipe.reset_path(); // We don't want wiping on the ramming lines.
toolchange_gcode_str = gcodegen.set_extruder(new_extruder_id, tcr.print_z); // TODO: toolchange_z vs print_z
if (gcodegen.config().has_prime_tower)
if (gcodegen.config().enable_prime_tower)
deretraction_str = gcodegen.unretract();
}
@ -925,7 +925,7 @@ static std::vector<Vec2d> get_path_of_change_filament(const Print& print)
assert(m_layer_idx >= 0);
if (m_layer_idx >= (int) m_tool_changes.size())
return gcode;
if (gcodegen.config().purge_in_prime_tower) {
if (!gcodegen.is_BBL_Printer()) {
if (gcodegen.writer().need_toolchange(extruder_id) || finish_layer) {
if (m_layer_idx < (int) m_tool_changes.size()) {
if (!(size_t(m_tool_change_idx) < m_tool_changes[m_layer_idx].size()))

View file

@ -1124,7 +1124,6 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE(
// BBS: project filaments
((ConfigOptionFloats, filament_colour_new))
// BBS: not in any preset, calculated before slicing
((ConfigOptionBool, has_prime_tower))
((ConfigOptionFloat, nozzle_volume))
((ConfigOptionPoints, start_end_points))
((ConfigOptionEnum<TimelapseType>, timelapse_type))

View file

@ -10,7 +10,7 @@ endif()
if(NOT DEFINED BBL_INTERNAL_TESTING)
set(BBL_INTERNAL_TESTING "1")
endif()
set(SoftFever_VERSION "1.8.0-rc")
set(SoftFever_VERSION "1.8.0-rc2")
string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)"
SoftFever_VERSION_MATCH ${SoftFever_VERSION})
set(ORCA_VERSION_MAJOR ${CMAKE_MATCH_1})