diff --git a/doc/Auxiliary-fan.md b/doc/Auxiliary-fan.md index 6d3f66599c..25e601d640 100644 --- a/doc/Auxiliary-fan.md +++ b/doc/Auxiliary-fan.md @@ -1 +1,35 @@ -WIP \ No newline at end of file +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} + +``` diff --git a/doc/Chamber-temperature.md b/doc/Chamber-temperature.md index 1fc1779bda..d9fe37e676 100644 --- a/doc/Chamber-temperature.md +++ b/doc/Chamber-temperature.md @@ -1 +1,36 @@ -WIP... \ No newline at end of file +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 %} + +``` \ No newline at end of file diff --git a/doc/air-filtration.md b/doc/air-filtration.md index 6d3f66599c..88eee29b2e 100644 --- a/doc/air-filtration.md +++ b/doc/air-filtration.md @@ -1 +1,35 @@ -WIP \ No newline at end of file +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} + +``` diff --git a/localization/i18n/en/OrcaSlicer_en.po b/localization/i18n/en/OrcaSlicer_en.po index e143bf0c7e..21e935ffa1 100644 --- a/localization/i18n/en/OrcaSlicer_en.po +++ b/localization/i18n/en/OrcaSlicer_en.po @@ -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" diff --git a/localization/i18n/es/OrcaSlicer_es.po b/localization/i18n/es/OrcaSlicer_es.po index d5455d9bdd..7ff0db9f6c 100644 --- a/localization/i18n/es/OrcaSlicer_es.po +++ b/localization/i18n/es/OrcaSlicer_es.po @@ -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 " diff --git a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD5M 0.4 Nozzle.json b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD5M 0.4 Nozzle.json index 96b5effc7d..37d091c649 100644 --- a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD5M 0.4 Nozzle.json +++ b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD5M 0.4 Nozzle.json @@ -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", diff --git a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle.json b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle.json index 445aa7fb96..cd52839a62 100644 --- a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle.json +++ b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle.json @@ -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", diff --git a/resources/profiles/Flashforge/process/0.30mm Standard @Flashforge AD5M 0.6 Nozzle.json b/resources/profiles/Flashforge/process/0.30mm Standard @Flashforge AD5M 0.6 Nozzle.json index d6f30387fa..9b8253fae2 100644 --- a/resources/profiles/Flashforge/process/0.30mm Standard @Flashforge AD5M 0.6 Nozzle.json +++ b/resources/profiles/Flashforge/process/0.30mm Standard @Flashforge AD5M 0.6 Nozzle.json @@ -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", diff --git a/resources/profiles/Flashforge/process/0.30mm Standard @Flashforge AD5M Pro 0.6 Nozzle.json b/resources/profiles/Flashforge/process/0.30mm Standard @Flashforge AD5M Pro 0.6 Nozzle.json index 2bb7eef4fb..230b53670a 100644 --- a/resources/profiles/Flashforge/process/0.30mm Standard @Flashforge AD5M Pro 0.6 Nozzle.json +++ b/resources/profiles/Flashforge/process/0.30mm Standard @Flashforge AD5M Pro 0.6 Nozzle.json @@ -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", diff --git a/resources/profiles/Flashforge/process/fdm_process_klipper_common.json b/resources/profiles/Flashforge/process/fdm_process_klipper_common.json index d8e99a26d8..cfd544f1b6 100644 --- a/resources/profiles/Flashforge/process/fdm_process_klipper_common.json +++ b/resources/profiles/Flashforge/process/fdm_process_klipper_common.json @@ -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", diff --git a/src/libslic3r/Extruder.hpp b/src/libslic3r/Extruder.hpp index d5066f91ec..0568653e78 100644 --- a/src/libslic3r/Extruder.hpp +++ b/src/libslic3r/Extruder.hpp @@ -33,7 +33,7 @@ class Extruder 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. diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index fd8a164f07..7b85a1d422 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -710,7 +710,7 @@ static std::vector 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 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())) diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index a44137a1ae..6404b367ae 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -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, timelapse_type)) diff --git a/version.inc b/version.inc index 60c72b29a0..bfac89afd2 100644 --- a/version.inc +++ b/version.inc @@ -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})