mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-17 18:42:24 +00:00
Compare commits
7 Commits
v1.6.4-bet
...
v1.6.4-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0fa666792a | ||
|
|
14f248f8fa | ||
|
|
580424701b | ||
|
|
127ce2b909 | ||
|
|
013a64243f | ||
|
|
ce59235bd7 | ||
|
|
d381a5ed11 |
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Generator: Poedit 3.3.2\n"
|
||||
|
||||
msgid "Supports Painting"
|
||||
msgstr "Soportes de pintura"
|
||||
msgstr "Pintar Soportes"
|
||||
|
||||
msgid "Alt + Mouse wheel"
|
||||
msgstr "Alt + Rueda del ratón"
|
||||
@@ -150,7 +150,7 @@ msgid "Height range"
|
||||
msgstr "Rango de altura"
|
||||
|
||||
msgid "Ctrl + Shift + Enter"
|
||||
msgstr ""
|
||||
msgstr "Ctrl + Shift + Enter"
|
||||
|
||||
msgid "Toggle Wireframe"
|
||||
msgstr "Alternar Malla Alámbrica"
|
||||
@@ -3274,7 +3274,7 @@ msgid "Save Project as"
|
||||
msgstr "Guardar proyecto como"
|
||||
|
||||
msgid "Shift+"
|
||||
msgstr ""
|
||||
msgstr "Shift+"
|
||||
|
||||
msgid "Save current project as"
|
||||
msgstr "Guardar el proyecto actual como"
|
||||
@@ -3777,7 +3777,7 @@ msgid "Stop"
|
||||
msgstr "Detener"
|
||||
|
||||
msgid "0"
|
||||
msgstr ""
|
||||
msgstr "0"
|
||||
|
||||
msgid "Layer: N/A"
|
||||
msgstr "Capa: N/A"
|
||||
@@ -5650,7 +5650,7 @@ msgid "Layer height limits"
|
||||
msgstr "Límites de altura de la capa"
|
||||
|
||||
msgid "Lift Z Enforcement"
|
||||
msgstr ""
|
||||
msgstr "Forzar elevación Z"
|
||||
|
||||
msgid "Retraction when switching material"
|
||||
msgstr "Retracción al cambiar de material"
|
||||
@@ -5947,10 +5947,10 @@ msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files"
|
||||
msgstr "Importar datos de geometría de los archivos STL/STEP/3MF/OBJ/AMF"
|
||||
|
||||
msgid "⌘+Shift+G"
|
||||
msgstr ""
|
||||
msgstr "⌘+Shift+G"
|
||||
|
||||
msgid "Ctrl+Shift+G"
|
||||
msgstr ""
|
||||
msgstr "Ctrl+Shift+G"
|
||||
|
||||
msgid "Copy to clipboard"
|
||||
msgstr "Copiar al portapapeles"
|
||||
@@ -5980,7 +5980,7 @@ msgid "Zoom View"
|
||||
msgstr "Vista de Zoom"
|
||||
|
||||
msgid "Shift+A"
|
||||
msgstr ""
|
||||
msgstr "Shift+A"
|
||||
|
||||
msgid "Shift+R"
|
||||
msgstr ""
|
||||
@@ -8604,40 +8604,46 @@ msgid "Spiral"
|
||||
msgstr "Espiral"
|
||||
|
||||
msgid "Only lift Z above"
|
||||
msgstr ""
|
||||
msgstr "Solo elevar Z por encima"
|
||||
|
||||
msgid ""
|
||||
"If you set this to a positive value, Z lift will only take place above the "
|
||||
"specified absolute Z."
|
||||
msgstr ""
|
||||
"Si lo ajusta a un valor positivo, la elevación de Z sólo tendrá lugar por "
|
||||
"encima de la Z absoluta especificada."
|
||||
|
||||
msgid "Only lift Z below"
|
||||
msgstr ""
|
||||
msgstr "Solo elevar Z por debajo"
|
||||
|
||||
msgid ""
|
||||
"If you set this to a positive value, Z lift will only take place below the "
|
||||
"specified absolute Z."
|
||||
msgstr ""
|
||||
"Si se ajusta a un valor positivo, el levantamiento Z sólo tendrá lugar por "
|
||||
"debajo de la Z absoluta especificada."
|
||||
|
||||
msgid "On surfaces"
|
||||
msgstr ""
|
||||
msgstr "En las superficies"
|
||||
|
||||
msgid ""
|
||||
"Enforce Z Hop behavior. This setting is impacted by the above settings (Only "
|
||||
"lift Z above/below)."
|
||||
msgstr ""
|
||||
"Forzar el comportamiento de Salto Z. Este ajuste se ve afectado por los "
|
||||
"ajustes anteriores (Sólo levantar Z arriba/abajo)."
|
||||
|
||||
msgid "All Surfaces"
|
||||
msgstr ""
|
||||
msgstr "Todas las Superficies"
|
||||
|
||||
msgid "Top Only"
|
||||
msgstr ""
|
||||
msgstr "Solo Superior"
|
||||
|
||||
msgid "Bottom Only"
|
||||
msgstr ""
|
||||
msgstr "Solo Inferior"
|
||||
|
||||
msgid "Top and Bottom"
|
||||
msgstr ""
|
||||
msgstr "Superior e Inferior"
|
||||
|
||||
msgid "Extra length on restart"
|
||||
msgstr "Longitud extra de reinicio"
|
||||
@@ -9805,7 +9811,7 @@ msgid "PA Line"
|
||||
msgstr "Línea PA"
|
||||
|
||||
msgid "PA Pattern"
|
||||
msgstr ""
|
||||
msgstr "Modelo PA"
|
||||
|
||||
msgid "Method"
|
||||
msgstr "Método"
|
||||
|
||||
@@ -925,7 +925,7 @@ msgid "Edit in Parameter Table"
|
||||
msgstr "Змінити у таблиці параметрів"
|
||||
|
||||
msgid "Convert from inch"
|
||||
msgstr "Конвертувати з імерської"
|
||||
msgstr "Перетворити з імерської"
|
||||
|
||||
msgid "Restore to inch"
|
||||
msgstr "Відновити до імперської"
|
||||
@@ -1131,7 +1131,7 @@ msgid "Click the icon to edit color painting of the object"
|
||||
msgstr "Клацніть значок, щоб відредагувати колірне забарвлення об'єкта"
|
||||
|
||||
msgid "Click the icon to shift this object to the bed"
|
||||
msgstr "Клацніть значок, щоб перемістити цей об'єкт на ліжко"
|
||||
msgstr "Клацніть значок, щоб перемістити цей об'єкт на столі"
|
||||
|
||||
msgid "Loading file"
|
||||
msgstr "Завантаження файлу"
|
||||
@@ -1589,8 +1589,8 @@ msgid ""
|
||||
"bed:\n"
|
||||
"%s"
|
||||
msgstr ""
|
||||
"Аранжування ігнорувало такі об'єкти, які не можуть поміститися в один\n"
|
||||
"ліжко:\n"
|
||||
"Аранжування ігнорувало такі об'єкти, які не можуть поміститися на один\n"
|
||||
"стіл:\n"
|
||||
"%s"
|
||||
|
||||
msgid ""
|
||||
@@ -1887,10 +1887,10 @@ msgstr ""
|
||||
"сопла"
|
||||
|
||||
msgid "max"
|
||||
msgstr "max"
|
||||
msgstr "макс"
|
||||
|
||||
msgid "min"
|
||||
msgstr "min"
|
||||
msgstr "мін"
|
||||
|
||||
#, boost-format
|
||||
msgid "The input value should be greater than %1% and less than %2%"
|
||||
@@ -1985,7 +1985,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Калібрування завершено. Будь ласка, знайдіть найбільш рівномірну "
|
||||
"екструзійнулінію на вашому\n"
|
||||
"гаряче ліжко, як на малюнку нижче, і вставте значення зліва в поле\n"
|
||||
"гарячий стіл, як на малюнку нижче, і вставте значення зліва в поле\n"
|
||||
"поле введення коефіцієнта K."
|
||||
|
||||
msgid "Save"
|
||||
@@ -2408,7 +2408,7 @@ msgid ""
|
||||
"Too small ironing spacing.\n"
|
||||
"Reset to 0.1"
|
||||
msgstr ""
|
||||
"Занадто маленька відстань між прасуванням.\n"
|
||||
"Занадто маленька відстань між розглажуванням.\n"
|
||||
"Скинути на 0,1"
|
||||
|
||||
msgid ""
|
||||
@@ -2519,7 +2519,7 @@ msgid ""
|
||||
"While printing by Object, the extruder may collide skirt.\n"
|
||||
"Thus, reset the skirt layer to 1 to avoid that."
|
||||
msgstr ""
|
||||
"Під час друку об'єктом екструдер може зіткнутися зі спідницею.\n"
|
||||
"Під час друку об'єкта екструдер може зіткнутися зі спідницею.\n"
|
||||
"Таким чином, скиньте шар спідниці до 1, щоб уникнути цього."
|
||||
|
||||
msgid "Auto bed leveling"
|
||||
@@ -3127,7 +3127,7 @@ msgid "will be closed before creating a new model. Do you want to continue?"
|
||||
msgstr "буде закрито перед створенням нової моделі. Ви хочете продовжувати?"
|
||||
|
||||
msgid "Slice plate"
|
||||
msgstr "Слайс пластина"
|
||||
msgstr "Нарізати моделі"
|
||||
|
||||
msgid "Print plate"
|
||||
msgstr "Друкована пластина"
|
||||
@@ -3394,7 +3394,7 @@ msgid "Flow rate"
|
||||
msgstr "Швидкість потоку"
|
||||
|
||||
msgid "Pressure advance"
|
||||
msgstr "Підвищення тиску"
|
||||
msgstr "Випередження тиску PA"
|
||||
|
||||
msgid "Retraction test"
|
||||
msgstr "Тест на втягування"
|
||||
@@ -3789,7 +3789,7 @@ msgid "Cham"
|
||||
msgstr "Камера"
|
||||
|
||||
msgid "Bed"
|
||||
msgstr "Ліжко"
|
||||
msgstr "Стіл"
|
||||
|
||||
msgid "Unload"
|
||||
msgstr "Вивантаження"
|
||||
@@ -6059,7 +6059,7 @@ msgid "Gizmo cut"
|
||||
msgstr "Виріз Gizmo"
|
||||
|
||||
msgid "Gizmo Place face on bed"
|
||||
msgstr "Gizmo Покладіть обличчя на ліжко"
|
||||
msgstr "Gizmo Покладіть обличчя на стіл"
|
||||
|
||||
msgid "Gizmo SLA support points"
|
||||
msgstr "Точки підтримки Gizmo SL"
|
||||
@@ -6623,7 +6623,7 @@ msgid "Plate %d: %s does not support filament %s"
|
||||
msgstr "Плита %d: %s не підтримує філамент %s"
|
||||
|
||||
msgid "Generating skirt & brim"
|
||||
msgstr "Створення спідниці та облямівки"
|
||||
msgstr "Створення спідниці та кайми"
|
||||
|
||||
msgid "Exporting G-code"
|
||||
msgstr "Експорт G-code"
|
||||
@@ -6635,7 +6635,7 @@ msgid "Failed processing of the filename_format template."
|
||||
msgstr "Не вдалося обробити шаблон filename_format."
|
||||
|
||||
msgid "Printable area"
|
||||
msgstr "Друкована область"
|
||||
msgstr "Область друку"
|
||||
|
||||
msgid "Bed exclude area"
|
||||
msgstr "Площа виключення столу"
|
||||
@@ -6958,7 +6958,7 @@ msgstr ""
|
||||
"матеріалу для мосту, щоб покращити провисання"
|
||||
|
||||
msgid "Top surface flow ratio"
|
||||
msgstr "Коефіцієнт обтікання верхньої поверхні"
|
||||
msgstr "Коефіцієнт потоку верхньої поверхні"
|
||||
|
||||
msgid ""
|
||||
"This factor affects the amount of material for top solid infill. You can "
|
||||
@@ -6969,7 +6969,7 @@ msgstr ""
|
||||
"шорсткістьповерхні"
|
||||
|
||||
msgid "Bottom surface flow ratio"
|
||||
msgstr "Коефіцієнт витрати нижньої поверхні"
|
||||
msgstr "Коефіцієнт потоку нижньої поверхні"
|
||||
|
||||
msgid "This factor affects the amount of material for bottom solid infill"
|
||||
msgstr ""
|
||||
@@ -7029,13 +7029,13 @@ msgid "mm/s"
|
||||
msgstr "mm/с"
|
||||
|
||||
msgid "Brim width"
|
||||
msgstr "Ширина облямівки"
|
||||
msgstr "Ширина кайми"
|
||||
|
||||
msgid "Distance from model to the outermost brim line"
|
||||
msgstr "Відстань від моделі до крайньої лінії облямівки"
|
||||
msgstr "Відстань від моделі до крайньої лінії кайми"
|
||||
|
||||
msgid "Brim type"
|
||||
msgstr "Тип облямівки"
|
||||
msgstr "Тип кайми"
|
||||
|
||||
msgid ""
|
||||
"This controls the generation of the brim at outer and/or inner side of "
|
||||
@@ -7060,8 +7060,8 @@ msgid ""
|
||||
"A gap between innermost brim line and object can make brim be removed more "
|
||||
"easily"
|
||||
msgstr ""
|
||||
"Зазор між внутрішньою лінією облямівки та предметом може сприяти "
|
||||
"більшелегкого зняття облямівки"
|
||||
"Зазор між внутрішньою лінією кайми та предметом може сприяти "
|
||||
"більшелегкого зняття кайми"
|
||||
|
||||
msgid "Compatible machine"
|
||||
msgstr "Сумісна машина"
|
||||
@@ -7306,7 +7306,7 @@ msgid "inner-outer-inner/infill"
|
||||
msgstr "внутрішній-внутрішній/заповнення"
|
||||
|
||||
msgid "Height to rod"
|
||||
msgstr "Висота до стрижня"
|
||||
msgstr "Висота до сопла"
|
||||
|
||||
msgid ""
|
||||
"Distance of the nozzle tip to the lower rod. Used for collision avoidance in "
|
||||
@@ -7342,7 +7342,7 @@ msgid "Extruder offset"
|
||||
msgstr "Зміщення екструдера"
|
||||
|
||||
msgid "Flow ratio"
|
||||
msgstr "Коефіцієнт витрат"
|
||||
msgstr "Коефіцієнт потоку"
|
||||
|
||||
msgid ""
|
||||
"The material may have volumetric change after switching between molten state "
|
||||
@@ -7358,7 +7358,7 @@ msgstr ""
|
||||
"хорошу плоску поверхню, коли є невелике переповнення або недолив"
|
||||
|
||||
msgid "Enable pressure advance"
|
||||
msgstr "Увімкнути випередження тиску"
|
||||
msgstr "Увімкнути випередження тиску PA"
|
||||
|
||||
msgid ""
|
||||
"Enable pressure advance, auto calibration result will be overwriten once "
|
||||
@@ -7514,7 +7514,7 @@ msgid ""
|
||||
msgstr "Допоміжний матеріал зазвичай використовується для друку підтримки"
|
||||
|
||||
msgid "Temperature of vitrificaiton"
|
||||
msgstr "Температура вітрифікайтону"
|
||||
msgstr "Температура склування"
|
||||
|
||||
msgid ""
|
||||
"Material becomes soft at this temperature. Thus the heatbed cannot be hotter "
|
||||
@@ -7987,7 +7987,7 @@ msgstr ""
|
||||
"Для деактивації встановіть значення 0."
|
||||
|
||||
msgid "G-code flavor"
|
||||
msgstr "Ароматизатор G-коду"
|
||||
msgstr "Тип G-коду"
|
||||
|
||||
msgid "What kind of gcode the printer is compatible with"
|
||||
msgstr "З яким gcode сумісний принтер"
|
||||
@@ -8076,7 +8076,7 @@ msgid ""
|
||||
"Ironing is using small flow to print on same height of surface again to make "
|
||||
"flat surface more smooth. This setting controls which layer being ironed"
|
||||
msgstr ""
|
||||
"При прасуванні використовується невеликий потік для повторного друку на тій "
|
||||
"При розглажуванні використовується невеликий потік для повторного друку на тій "
|
||||
"самійвисота поверхні, щоб зробити плоску поверхню більш гладкою. Цей "
|
||||
"параметр визначає, який шар гладити"
|
||||
|
||||
@@ -8099,7 +8099,7 @@ msgid ""
|
||||
"The amount of material to extrude during ironing. Relative to flow of normal "
|
||||
"layer height. Too high value results in overextrusion on the surface"
|
||||
msgstr ""
|
||||
"Кількість матеріалу, що видавлюється під час прасування. Щодо "
|
||||
"Кількість матеріалу, що видавлюється під час розглажування. Щодо "
|
||||
"потокунормальної висоти шару. Надто високе значення призводить до "
|
||||
"надмірноїекструзії на поверхню"
|
||||
|
||||
@@ -8107,10 +8107,10 @@ msgid "Ironing line spacing"
|
||||
msgstr "Крок лінії розглажування"
|
||||
|
||||
msgid "The distance between the lines of ironing"
|
||||
msgstr "Відстань між лініями прасування"
|
||||
msgstr "Відстань між лініями розглажування"
|
||||
|
||||
msgid "Ironing speed"
|
||||
msgstr "Швидкість прасування"
|
||||
msgstr "Швидкість розглажування"
|
||||
|
||||
msgid "Print speed of ironing lines"
|
||||
msgstr "Швидкість друку прасувальних ліній"
|
||||
@@ -8255,7 +8255,7 @@ msgstr ""
|
||||
"вентилятораохолодження деталі"
|
||||
|
||||
msgid "Max"
|
||||
msgstr "Max"
|
||||
msgstr "Макс"
|
||||
|
||||
msgid ""
|
||||
"The largest printable layer height for extruder. Used tp limits the maximum "
|
||||
@@ -8277,7 +8277,7 @@ msgstr ""
|
||||
"шарів, які не визначаються шарами охолодження"
|
||||
|
||||
msgid "Min"
|
||||
msgstr "Min"
|
||||
msgstr "Мін"
|
||||
|
||||
msgid ""
|
||||
"The lowest printable layer height for extruder. Used tp limits the minimum "
|
||||
@@ -8505,23 +8505,27 @@ msgid "Spiral"
|
||||
msgstr "Спіраль"
|
||||
|
||||
msgid "Only lift Z above"
|
||||
msgstr ""
|
||||
msgstr "Підіймати Z лише вище"
|
||||
|
||||
msgid ""
|
||||
"If you set this to a positive value, Z lift will only take place above the "
|
||||
"specified absolute Z."
|
||||
msgstr ""
|
||||
"Якщо ви встановите додатне значення, підйом Z відбуватиметься лише над "
|
||||
"вказаний абсолютний висоті Z."
|
||||
|
||||
msgid "Only lift Z below"
|
||||
msgstr ""
|
||||
msgstr "Підіймати Z лише нижче"
|
||||
|
||||
msgid ""
|
||||
"If you set this to a positive value, Z lift will only take place below the "
|
||||
"specified absolute Z."
|
||||
msgstr ""
|
||||
"Якщо встановити додатне значення, підйом по Z відбуватиметься лише нижче "
|
||||
"вказаний абсолютний висоті Z."
|
||||
|
||||
msgid "On surfaces"
|
||||
msgstr ""
|
||||
msgstr "На поверхнях"
|
||||
|
||||
msgid ""
|
||||
"Enforce Z Hop behavior. This setting is impacted by the above settings (Only "
|
||||
@@ -8529,16 +8533,16 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
msgid "All Surfaces"
|
||||
msgstr ""
|
||||
msgstr "Усі поверхні"
|
||||
|
||||
msgid "Top Only"
|
||||
msgstr ""
|
||||
msgstr "Тільки вгорі"
|
||||
|
||||
msgid "Bottom Only"
|
||||
msgstr ""
|
||||
msgstr "Тільки знизу"
|
||||
|
||||
msgid "Top and Bottom"
|
||||
msgstr ""
|
||||
msgstr "Зверху та знизу"
|
||||
|
||||
msgid "Extra length on restart"
|
||||
msgstr "Додаткова довжина під час перезавантаження"
|
||||
@@ -8606,7 +8610,7 @@ msgid "Random"
|
||||
msgstr "Випадковий"
|
||||
|
||||
msgid "Staggered inner seams"
|
||||
msgstr ""
|
||||
msgstr "Внутрішні шви в шаховому порядку"
|
||||
|
||||
msgid ""
|
||||
"This option causes the inner seams to be shifted backwards based on their "
|
||||
@@ -8684,10 +8688,10 @@ msgid "Number of loops for the skirt. Zero means disabling skirt"
|
||||
msgstr "Кількість петель для спідниці. Нуль означає відключення спідниці"
|
||||
|
||||
msgid "Skirt speed"
|
||||
msgstr ""
|
||||
msgstr "Швидкість спідниці"
|
||||
|
||||
msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed."
|
||||
msgstr ""
|
||||
msgstr "Швидкість спідниці, у мм/с. Нуль означає використання стандартної швидкості екструзії шару."
|
||||
|
||||
msgid ""
|
||||
"The printing speed in exported gcode will be slowed down, when the estimated "
|
||||
@@ -9041,7 +9045,7 @@ msgstr ""
|
||||
"виключенням першого, буде розрахована автоматично "
|
||||
|
||||
msgid "Auto brim width"
|
||||
msgstr "Ширина облямівки опори дерева"
|
||||
msgstr "Ширина кайми опори дерева"
|
||||
|
||||
msgid ""
|
||||
"Enabling this option means the width of the brim for tree support will be "
|
||||
@@ -9051,10 +9055,10 @@ msgstr ""
|
||||
"будерозрахована автоматично"
|
||||
|
||||
msgid "Tree support brim width"
|
||||
msgstr "Ширина межі облямівки дерева"
|
||||
msgstr "Ширина межі кайми дерева"
|
||||
|
||||
msgid "Distance from tree branch to the outermost brim line"
|
||||
msgstr "Відстань від гілки дерева до зовнішньої лінії межі облямівки"
|
||||
msgstr "Відстань від гілки дерева до зовнішньої лінії межі кайми"
|
||||
|
||||
msgid "Tree support branch diameter"
|
||||
msgstr "Діаметр гілки деревоподібної підтримки"
|
||||
@@ -9270,7 +9274,7 @@ msgstr ""
|
||||
"наступному форматі: «XxY, XxY»,..."
|
||||
|
||||
msgid "Use relative E distances"
|
||||
msgstr "Використовуйте відносні відстані E"
|
||||
msgstr "Використовуйте відносні відстані E екструдера"
|
||||
|
||||
msgid ""
|
||||
"Relative extrusion is recommended when using \"label_objects\" option.Some "
|
||||
@@ -9574,7 +9578,7 @@ msgid "floating cantilever"
|
||||
msgstr "плаваюча консоль"
|
||||
|
||||
msgid "large overhangs"
|
||||
msgstr "великі звиси"
|
||||
msgstr "великі звіси"
|
||||
|
||||
#, c-format, boost-format
|
||||
msgid ""
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -3654,7 +3654,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
|
||||
}
|
||||
else if(key == PLATER_NAME_ATTR)
|
||||
{
|
||||
m_curr_plater->plate_name = value;
|
||||
m_curr_plater->plate_name = value.c_str();
|
||||
}
|
||||
else if (key == LOCK_ATTR)
|
||||
{
|
||||
|
||||
@@ -4159,23 +4159,25 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description,
|
||||
// perimeter
|
||||
int overhang_threshold = overhang_fan_threshold == Overhang_threshold_none ? Overhang_threshold_none
|
||||
: overhang_fan_threshold - 1;
|
||||
if ((overhang_fan_threshold == Overhang_threshold_none && is_perimeter(path.role()) && !m_is_overhang_fan_on) ||
|
||||
if ((overhang_fan_threshold == Overhang_threshold_none && is_perimeter(path.role())) ||
|
||||
(path.get_overhang_degree() > overhang_threshold || is_bridge(path.role()))) {
|
||||
gcode += ";_OVERHANG_FAN_START\n";
|
||||
m_is_overhang_fan_on = true;
|
||||
}
|
||||
else {
|
||||
if (!m_is_overhang_fan_on) {
|
||||
gcode += ";_OVERHANG_FAN_START\n";
|
||||
m_is_overhang_fan_on = true;
|
||||
}
|
||||
} else {
|
||||
if (m_is_overhang_fan_on) {
|
||||
m_is_overhang_fan_on = false;
|
||||
gcode += ";_OVERHANG_FAN_END\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
if(supp_interface_fan_speed >= 0 && path.role() == erSupportMaterialInterface && !m_is_supp_interface_fan_on) {
|
||||
gcode += ";_SUPP_INTERFACE_FAN_START\n";
|
||||
m_is_supp_interface_fan_on = true;
|
||||
}
|
||||
else {
|
||||
if (supp_interface_fan_speed >= 0 && path.role() == erSupportMaterialInterface) {
|
||||
if (!m_is_supp_interface_fan_on) {
|
||||
gcode += ";_SUPP_INTERFACE_FAN_START\n";
|
||||
m_is_supp_interface_fan_on = true;
|
||||
}
|
||||
} else {
|
||||
if (m_is_supp_interface_fan_on) {
|
||||
gcode += ";_SUPP_INTERFACE_FAN_END\n";
|
||||
m_is_supp_interface_fan_on = false;
|
||||
|
||||
@@ -785,6 +785,7 @@ std::string CoolingBuffer::apply_layer_cooldown(
|
||||
}
|
||||
if (fan_speed_new != m_fan_speed) {
|
||||
m_fan_speed = fan_speed_new;
|
||||
m_current_fan_speed = fan_speed_new;
|
||||
if (immediately_apply)
|
||||
new_gcode += GCodeWriter::set_fan(m_config.gcode_flavor, m_fan_speed);
|
||||
}
|
||||
@@ -803,7 +804,8 @@ std::string CoolingBuffer::apply_layer_cooldown(
|
||||
// Reduce set fan commands by deferring the GCodeWriter::set_fan calls. Inspired by SuperSlicer
|
||||
// define fan_speed_change_requests and initialize it with all possible types fan speed change requests
|
||||
std::unordered_map<int, bool> fan_speed_change_requests = {{CoolingLine::TYPE_OVERHANG_FAN_START, false},
|
||||
{CoolingLine::TYPE_SUPPORT_INTERFACE_FAN_START, false}};
|
||||
{CoolingLine::TYPE_SUPPORT_INTERFACE_FAN_START, false},
|
||||
{CoolingLine::TYPE_FORCE_RESUME_FAN, false}};
|
||||
bool need_set_fan = false;
|
||||
|
||||
for (const CoolingLine *line : lines) {
|
||||
@@ -826,8 +828,8 @@ std::string CoolingBuffer::apply_layer_cooldown(
|
||||
} else if (line->type & CoolingLine::TYPE_OVERHANG_FAN_END) {
|
||||
if (overhang_fan_control && fan_speed_change_requests[CoolingLine::TYPE_OVERHANG_FAN_START]) {
|
||||
fan_speed_change_requests[CoolingLine::TYPE_OVERHANG_FAN_START] = false;
|
||||
need_set_fan = true;
|
||||
}
|
||||
need_set_fan = true;
|
||||
} else if (line->type & CoolingLine::TYPE_SUPPORT_INTERFACE_FAN_START) {
|
||||
if (supp_interface_fan_control && !fan_speed_change_requests[CoolingLine::TYPE_SUPPORT_INTERFACE_FAN_START]) {
|
||||
fan_speed_change_requests[CoolingLine::TYPE_SUPPORT_INTERFACE_FAN_START] = true;
|
||||
@@ -836,11 +838,12 @@ std::string CoolingBuffer::apply_layer_cooldown(
|
||||
} else if (line->type & CoolingLine::TYPE_SUPPORT_INTERFACE_FAN_END && fan_speed_change_requests[CoolingLine::TYPE_SUPPORT_INTERFACE_FAN_START]) {
|
||||
if (supp_interface_fan_control) {
|
||||
fan_speed_change_requests[CoolingLine::TYPE_SUPPORT_INTERFACE_FAN_START] = false;
|
||||
need_set_fan = true;
|
||||
}
|
||||
need_set_fan = true;
|
||||
} else if (line->type & CoolingLine::TYPE_FORCE_RESUME_FAN) {
|
||||
// check if any fan speed change request is active
|
||||
if (m_fan_speed != -1 && !std::any_of(fan_speed_change_requests.begin(), fan_speed_change_requests.end(), [](const std::pair<int, bool>& p) { return p.second; })){
|
||||
fan_speed_change_requests[CoolingLine::TYPE_FORCE_RESUME_FAN] = true;
|
||||
need_set_fan = true;
|
||||
}
|
||||
if (m_additional_fan_speed != -1 && m_config.auxiliary_fan.value)
|
||||
@@ -932,10 +935,18 @@ std::string CoolingBuffer::apply_layer_cooldown(
|
||||
}
|
||||
|
||||
if (need_set_fan) {
|
||||
if (fan_speed_change_requests[CoolingLine::TYPE_OVERHANG_FAN_START])
|
||||
if (fan_speed_change_requests[CoolingLine::TYPE_OVERHANG_FAN_START]){
|
||||
new_gcode += GCodeWriter::set_fan(m_config.gcode_flavor, overhang_fan_speed);
|
||||
else if (fan_speed_change_requests[CoolingLine::TYPE_SUPPORT_INTERFACE_FAN_START])
|
||||
m_current_fan_speed = overhang_fan_speed;
|
||||
}
|
||||
else if (fan_speed_change_requests[CoolingLine::TYPE_SUPPORT_INTERFACE_FAN_START]){
|
||||
new_gcode += GCodeWriter::set_fan(m_config.gcode_flavor, supp_interface_fan_speed);
|
||||
m_current_fan_speed = supp_interface_fan_speed;
|
||||
}
|
||||
else if(fan_speed_change_requests[CoolingLine::TYPE_FORCE_RESUME_FAN] && m_current_fan_speed != -1){
|
||||
new_gcode += GCodeWriter::set_fan(m_config.gcode_flavor, m_current_fan_speed);
|
||||
fan_speed_change_requests[CoolingLine::TYPE_FORCE_RESUME_FAN] = false;
|
||||
}
|
||||
else
|
||||
new_gcode += GCodeWriter::set_fan(m_config.gcode_flavor, m_fan_speed);
|
||||
need_set_fan = false;
|
||||
|
||||
@@ -806,15 +806,16 @@ void PerimeterGenerator::split_top_surfaces(const ExPolygons &orig_polygons, ExP
|
||||
else
|
||||
offset_top_surface = 0;
|
||||
// don't takes into account too thin areas
|
||||
double min_width_top_surface = std::max(double(ext_perimeter_spacing / 2 + 10), 1.0 * (double(perimeter_width)));
|
||||
// skip if the exposed area is smaller than 2x perimeter width
|
||||
double min_width_top_surface = std::max(double(ext_perimeter_spacing / 2 + 10), 2.0 * (double(perimeter_width)));
|
||||
|
||||
Polygons grown_upper_slices = offset(*this->upper_slices, min_width_top_surface);
|
||||
|
||||
// BBS: get boungding box of last
|
||||
// get boungding box of last
|
||||
BoundingBox last_box = get_extents(orig_polygons);
|
||||
last_box.offset(SCALED_EPSILON);
|
||||
|
||||
// BBS: get the Polygons upper the polygon this layer
|
||||
// get the Polygons upper the polygon this layer
|
||||
Polygons upper_polygons_series_clipped =
|
||||
ClipperUtils::clip_clipper_polygons_with_subject_bbox(grown_upper_slices, last_box);
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
#include "GUI_ObjectList.hpp"
|
||||
#include "Tab.hpp"
|
||||
#include "format.hpp"
|
||||
#include "slic3r/GUI/GUI.hpp"
|
||||
#include <imgui/imgui_internal.h>
|
||||
|
||||
using boost::optional;
|
||||
@@ -1571,7 +1572,7 @@ void PartPlate::generate_plate_name_texture()
|
||||
{
|
||||
// generate m_name_texture texture from m_name with generate_from_text_string
|
||||
m_name_texture.reset();
|
||||
auto text = m_name.empty()? _L("Untitled") : m_name;
|
||||
auto text = m_name.empty()? _L("Untitled") : from_u8(m_name);
|
||||
wxCoord w, h;
|
||||
|
||||
auto* font = &Label::Head_32;
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include <wx/filedlg.h>
|
||||
#include <wx/dnd.h>
|
||||
#include <wx/progdlg.h>
|
||||
#include <wx/string.h>
|
||||
#include <wx/wupdlock.h>
|
||||
#include <wx/numdlg.h>
|
||||
#include <wx/debug.h>
|
||||
@@ -6630,24 +6631,24 @@ wxString Plater::priv::get_export_gcode_filename(const wxString& extension, bool
|
||||
auto full_filename = m_project_folder / std::string((m_project_name + extension).mb_str(wxConvUTF8));
|
||||
return from_path(full_filename);
|
||||
} else {
|
||||
auto full_filename = m_project_folder / std::string((m_project_name + plate_index_str + extension).mb_str(wxConvUTF8));
|
||||
auto full_filename = m_project_folder / std::string((m_project_name + from_u8(plate_index_str) + extension).mb_str(wxConvUTF8));
|
||||
return from_path(full_filename);
|
||||
}
|
||||
} else {
|
||||
if (export_all)
|
||||
return m_project_name + wxString(plate_index_str) + extension;
|
||||
return m_project_name + from_u8(plate_index_str) + extension;
|
||||
else
|
||||
return m_project_name + extension;
|
||||
}
|
||||
} else {
|
||||
if (only_filename) {
|
||||
if(m_project_name == _L("Untitled"))
|
||||
return fs::path(model.objects.front()->name).replace_extension().c_str() + wxString(plate_index_str) + extension;
|
||||
return wxString(fs::path(model.objects.front()->name).replace_extension().c_str()) + from_u8(plate_index_str) + extension;
|
||||
|
||||
if (export_all)
|
||||
return m_project_name + extension;
|
||||
else
|
||||
return m_project_name + wxString(plate_index_str) + extension;
|
||||
return m_project_name + from_u8(plate_index_str) + extension;
|
||||
}
|
||||
else
|
||||
return "";
|
||||
@@ -11799,7 +11800,7 @@ int Plater::select_plate_by_hover_id(int hover_id, bool right_click)
|
||||
else
|
||||
dlg.sync_print_seq(0);
|
||||
|
||||
dlg.set_plate_name(curr_plate->get_plate_name());
|
||||
dlg.set_plate_name(from_u8(curr_plate->get_plate_name()));
|
||||
|
||||
dlg.Bind(EVT_SET_BED_TYPE_CONFIRM, [this, plate_index, &dlg](wxCommandEvent& e) {
|
||||
PartPlate *curr_plate = p->partplate_list.get_curr_plate();
|
||||
@@ -11825,7 +11826,7 @@ int Plater::select_plate_by_hover_id(int hover_id, bool right_click)
|
||||
update();
|
||||
});
|
||||
dlg.ShowModal();
|
||||
curr_plate->set_plate_name(dlg.get_plate_name().ToStdString());
|
||||
curr_plate->set_plate_name(dlg.get_plate_name().ToUTF8().data());
|
||||
|
||||
this->schedule_background_process();
|
||||
}
|
||||
|
||||
@@ -3069,7 +3069,7 @@ void SelectMachineDialog::set_default()
|
||||
filename = m_plater->get_export_gcode_filename("", true);
|
||||
}
|
||||
|
||||
fs::path filename_path(filename.ToStdWstring());
|
||||
fs::path filename_path(filename.c_str());
|
||||
m_current_project_name = wxString::FromUTF8(filename_path.filename().string());
|
||||
m_rename_text->SetLabelText(m_current_project_name);
|
||||
m_rename_normal_panel->Layout();
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "libslic3r/Utils.hpp"
|
||||
#include "Label.hpp"
|
||||
#include "StaticBox.hpp"
|
||||
#include <wx/intl.h> // For wxLocale
|
||||
|
||||
wxFont Label::sysFont(int size, bool bold)
|
||||
{
|
||||
@@ -11,11 +12,17 @@ wxFont Label::sysFont(int size, bool bold)
|
||||
size = size * 4 / 5;
|
||||
#endif
|
||||
|
||||
auto face = wxString::FromUTF8("HarmonyOS Sans SC");
|
||||
wxString face = "HarmonyOS Sans SC";
|
||||
|
||||
// Check if the current locale is Korean
|
||||
if (wxLocale::GetSystemLanguage() == wxLANGUAGE_KOREAN) {
|
||||
face = "Noto Sans KR";
|
||||
}
|
||||
|
||||
wxFont font{size, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, bold ? wxFONTWEIGHT_BOLD : wxFONTWEIGHT_NORMAL, false, face};
|
||||
font.SetFaceName(face);
|
||||
if (!font.IsOk()) {
|
||||
BOOST_LOG_TRIVIAL(warning) << boost::format("Cann't find HarmonyOS Sans SC font");
|
||||
BOOST_LOG_TRIVIAL(warning) << boost::format("Can't find %1% font") % face;
|
||||
font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
|
||||
BOOST_LOG_TRIVIAL(warning) << boost::format("Use system font instead: %1%") % font.GetFaceName();
|
||||
if (bold)
|
||||
@@ -49,17 +56,25 @@ wxFont Label::Body_9;
|
||||
void Label::initSysFont()
|
||||
{
|
||||
#if defined(__linux__) || defined(_WIN32)
|
||||
const std::string& resource_path = Slic3r::resources_dir();
|
||||
wxString font_path = wxString::FromUTF8(resource_path+"/fonts/HarmonyOS_Sans_SC_Bold.ttf");
|
||||
const std::string &resource_path = Slic3r::resources_dir();
|
||||
wxString font_path = wxString::FromUTF8(resource_path + "/fonts/HarmonyOS_Sans_SC_Bold.ttf");
|
||||
bool result = wxFont::AddPrivateFont(font_path);
|
||||
//BOOST_LOG_TRIVIAL(info) << boost::format("add font of HarmonyOS_Sans_SC_Bold returns %1%")%result;
|
||||
// BOOST_LOG_TRIVIAL(info) << boost::format("add font of HarmonyOS_Sans_SC_Bold returns %1%")%result;
|
||||
printf("add font of HarmonyOS_Sans_SC_Bold returns %d\n", result);
|
||||
font_path = wxString::FromUTF8(resource_path+"/fonts/HarmonyOS_Sans_SC_Regular.ttf");
|
||||
font_path = wxString::FromUTF8(resource_path + "/fonts/HarmonyOS_Sans_SC_Regular.ttf");
|
||||
result = wxFont::AddPrivateFont(font_path);
|
||||
//BOOST_LOG_TRIVIAL(info) << boost::format("add font of HarmonyOS_Sans_SC_Regular returns %1%")%result;
|
||||
// BOOST_LOG_TRIVIAL(info) << boost::format("add font of HarmonyOS_Sans_SC_Regular returns %1%")%result;
|
||||
printf("add font of HarmonyOS_Sans_SC_Regular returns %d\n", result);
|
||||
// Adding Noto Sans KR Regular and Bold
|
||||
font_path = wxString::FromUTF8(resource_path + "/fonts/NotoSansKR-Regular.otf");
|
||||
result = wxFont::AddPrivateFont(font_path);
|
||||
// BOOST_LOG_TRIVIAL(info) << boost::format("add font of NotoSansKR-Regular returns %1%")%result;
|
||||
printf("add font of NotoSansKR-Regular returns %d\n", result);
|
||||
font_path = wxString::FromUTF8(resource_path + "/fonts/NotoSansKR-Bold.otf");
|
||||
result = wxFont::AddPrivateFont(font_path);
|
||||
// BOOST_LOG_TRIVIAL(info) << boost::format("add font of NotoSansKR-Bold returns %1%")%result;
|
||||
printf("add font of NotoSansKR-Bold returns %d\n", result);
|
||||
#endif
|
||||
|
||||
Head_48 = Label::sysFont(48, true);
|
||||
Head_32 = Label::sysFont(32, true);
|
||||
Head_24 = Label::sysFont(24, true);
|
||||
|
||||
@@ -10,5 +10,5 @@ endif()
|
||||
if(NOT DEFINED BBL_INTERNAL_TESTING)
|
||||
set(BBL_INTERNAL_TESTING "1")
|
||||
endif()
|
||||
set(SoftFever_VERSION "1.6.4-beta")
|
||||
set(SoftFever_VERSION "1.6.4-beta2")
|
||||
set(SLIC3R_VERSION "01.06.02.04")
|
||||
Reference in New Issue
Block a user