Merge branch 'master-remote' 01.06.00.66
# Conflicts: # .github/workflows/build_ubuntu.yml # bbl/i18n/OrcaSlicer.pot # bbl/i18n/de/OrcaSlicer_de.po # bbl/i18n/en/OrcaSlicer_en.po # bbl/i18n/es/OrcaSlicer_es.po # bbl/i18n/fr/OrcaSlicer_fr.po # bbl/i18n/hu/OrcaSlicer_hu.po # bbl/i18n/it/OrcaSlicer_it.po # bbl/i18n/ja/OrcaSlicer_ja.po # bbl/i18n/nl/OrcaSlicer_nl.po # bbl/i18n/sv/OrcaSlicer_sv.po # bbl/i18n/zh_cn/OrcaSlicer_zh_CN.po # resources/i18n/zh_cn/BambuStudio.mo # version.inc
This commit is contained in:
commit
54c02521d4
10 changed files with 108 additions and 23 deletions
|
@ -8,6 +8,8 @@ set -x
|
||||||
docker run \
|
docker run \
|
||||||
`# Use the hosts networking. Printer wifi and also dbus communication` \
|
`# Use the hosts networking. Printer wifi and also dbus communication` \
|
||||||
--net=host \
|
--net=host \
|
||||||
|
`# Some X installs will not have permissions to talk to sockets for shared memory` \
|
||||||
|
--ipc host \
|
||||||
`# Run as your workstations username to keep permissions the same` \
|
`# Run as your workstations username to keep permissions the same` \
|
||||||
-u $USER \
|
-u $USER \
|
||||||
`# Bind mount your home directory into the container for loading/saving files` \
|
`# Bind mount your home directory into the container for loading/saving files` \
|
||||||
|
|
|
@ -18,6 +18,8 @@ RUN apt-get update && apt-get install -y \
|
||||||
extra-cmake-modules \
|
extra-cmake-modules \
|
||||||
file \
|
file \
|
||||||
git \
|
git \
|
||||||
|
gstreamer1.0-plugins-bad \
|
||||||
|
gstreamer1.0-libav \
|
||||||
libcairo2-dev \
|
libcairo2-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libdbus-1-dev \
|
libdbus-1-dev \
|
||||||
|
|
|
@ -5373,10 +5373,10 @@ msgid ""
|
||||||
"by right-click the empty position of build plate and choose \"Add Primitive"
|
"by right-click the empty position of build plate and choose \"Add Primitive"
|
||||||
"\"->\"Timelapse Wipe Tower\"."
|
"\"->\"Timelapse Wipe Tower\"."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Wenn Sie eine Zeitrafferaufnahme ohne Werkzeugkopf aufnehmen, wird "
|
"Wenn Sie einen Zeitraffer ohne Werkzeugkopf aufnehmen, wird empfohlen, einen "
|
||||||
"empfohlen, einen „Timelapse Wipe Tower“ hinzuzufügen,\n"
|
"\"Timelapse Wischturm\" hinzuzufügen, indem Sie mit der rechten Maustaste "
|
||||||
"indem Sie auf die leere Position der Bauplatte rechtsklicken und „Primitiv "
|
"auf die leere Position der Bauplatte klicken und \"Primitiv hinzufügen\"->"
|
||||||
"hinzufügen“ -> „Timelapse Wipe Tower“ auswählen."
|
"\"Timelapse Wischturm\" wählen."
|
||||||
|
|
||||||
msgid "Line width"
|
msgid "Line width"
|
||||||
msgstr "Breite der Linie"
|
msgstr "Breite der Linie"
|
||||||
|
|
|
@ -5084,6 +5084,10 @@ msgid ""
|
||||||
"by right-click the empty position of build plate and choose \"Add Primitive"
|
"by right-click the empty position of build plate and choose \"Add Primitive"
|
||||||
"\"->\"Timelapse Wipe Tower\"."
|
"\"->\"Timelapse Wipe Tower\"."
|
||||||
msgstr ""
|
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\"."
|
||||||
|
|
||||||
msgid "Line width"
|
msgid "Line width"
|
||||||
msgstr "Line width"
|
msgstr "Line width"
|
||||||
|
|
|
@ -1540,8 +1540,8 @@ msgid ""
|
||||||
"Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically "
|
"Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically "
|
||||||
"load or unload filiament."
|
"load or unload filiament."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Choisissez un emplacement de l’AMS puis appuyez sur le bouton \"Charger\" ou "
|
"Choisissez un slot AMS puis appuyez sur le bouton \"charger\" ou\"Décharger"
|
||||||
"\"Décharger\" pour charger ou décharger automatiquement le filament."
|
"\" pour charger ou décharger automatiquement le filament."
|
||||||
|
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Éditer"
|
msgstr "Éditer"
|
||||||
|
@ -5517,9 +5517,9 @@ msgid ""
|
||||||
"Bed temperature when cool plate is installed. Value 0 means the filament "
|
"Bed temperature when cool plate is installed. Value 0 means the filament "
|
||||||
"does not support to print on the Cool Plate"
|
"does not support to print on the Cool Plate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Température du plateau lorsque le plateau Bambu Cool Plate est installé. Une "
|
"Il s'agit de la température du plateau lorsque le plateau froid (\"Cool plate"
|
||||||
"valeur à 0 signifie que le filament ne prend pas en charge l'impression sur "
|
"\") est installé. Une valeur à 0 signifie que ce filament ne peut pas être "
|
||||||
"le plateau Bambu Cool Plate"
|
"imprimé sur le plateau froid."
|
||||||
|
|
||||||
msgid "Engineering plate"
|
msgid "Engineering plate"
|
||||||
msgstr "Bambu Engineering Plate"
|
msgstr "Bambu Engineering Plate"
|
||||||
|
@ -6628,8 +6628,8 @@ msgstr ""
|
||||||
|
|
||||||
msgid "The prime tower is not supported in \"By object\" print."
|
msgid "The prime tower is not supported in \"By object\" print."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La tour de purge n'est pas prise en charge avec la séquence d’impression "
|
"La tour de nettoyage n'est pas prise en charge dans l'impression \"Par objet"
|
||||||
"\"Par objet\"."
|
"\"."
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"The prime tower is not supported when adaptive layer height is on. It "
|
"The prime tower is not supported when adaptive layer height is on. It "
|
||||||
|
@ -7275,8 +7275,9 @@ msgid ""
|
||||||
"Add solid infill near sloping surfaces to guarantee the vertical shell "
|
"Add solid infill near sloping surfaces to guarantee the vertical shell "
|
||||||
"thickness (top+bottom solid layers)"
|
"thickness (top+bottom solid layers)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Ajouter un remplissage solide près des surfaces en pente pour garantir "
|
"Ajoutez du remplissage solide à proximité des surfaces inclinées pour "
|
||||||
"l'épaisseur verticale de la coque (couches solides supérieures + inférieures)"
|
"garantir l'épaisseur verticale de la coque (couches solides supérieure"
|
||||||
|
"+inférieure)."
|
||||||
|
|
||||||
msgid "Internal bridge support thickness"
|
msgid "Internal bridge support thickness"
|
||||||
msgstr "Épaisseur des supports de ponts internes"
|
msgstr "Épaisseur des supports de ponts internes"
|
||||||
|
|
|
@ -5951,6 +5951,10 @@ msgid ""
|
||||||
"continue. Do you want to update now? You can also update later from 'Upgrade "
|
"continue. Do you want to update now? You can also update later from 'Upgrade "
|
||||||
"firmware'."
|
"firmware'."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"È stato rilevato un aggiornamento importante che deve essere eseguito prima "
|
||||||
|
"che la stampa possa continuare. Si desidera aggiornare ora? È possibile "
|
||||||
|
"effettuare l'aggiornamento anche in un secondo momento da \"Aggiorna firmware"
|
||||||
|
"\"."
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"The firmware version is abnormal. Repairing and updating are required before "
|
"The firmware version is abnormal. Repairing and updating are required before "
|
||||||
|
@ -9845,7 +9849,43 @@ msgstr ""
|
||||||
#~ "\"Timelapse Wipe Tower\" \n"
|
#~ "\"Timelapse Wipe Tower\" \n"
|
||||||
#~ "by right-click the empty position of build plate and choose \"Add "
|
#~ "by right-click the empty position of build plate and choose \"Add "
|
||||||
#~ "Primitive\"->\"Timelapse Wipe Tower\".\n"
|
#~ "Primitive\"->\"Timelapse Wipe Tower\".\n"
|
||||||
#~ msgstr "\n"
|
#~ msgstr ""
|
||||||
|
#~ "Quando si registra un timelapse senza testa di satmpa, si consiglia di "
|
||||||
|
#~ "aggiungere un \"Timelapse Torre di pulizia\"\n"
|
||||||
|
#~ "facendo clic con il pulsante destro del mouse sulla posizione vuota del "
|
||||||
|
#~ "piatto e scegli \"Aggiungi primitiva\" ->\"Timelapse Torre di pulizia"
|
||||||
|
#~ "\"».\n"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "When sparse infill density is low, the internal solid infill or internal "
|
||||||
|
#~ "bridge may have no archor at the end of line. This cause falling and bad "
|
||||||
|
#~ "quality when printing internal solid infill. When enable this feature, "
|
||||||
|
#~ "loop paths will be added to the sparse fill of the lower layers for "
|
||||||
|
#~ "specific thickness, so that better archor can be provided for internal "
|
||||||
|
#~ "bridge. 0 means disable this feature"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Quando la densità riempimento è bassa, il riempimento solido interno o il "
|
||||||
|
#~ "ponte interno potrebbero non avere alcun ancoraggio alla fine della "
|
||||||
|
#~ "linea. Ciò causa cadute e cattiva qualità durante la stampa del "
|
||||||
|
#~ "riempimento solido interno. Quando si abilita questa funzione, i percorsi "
|
||||||
|
#~ "ad anello verranno aggiunti al riempimento dei layer inferiori per uno "
|
||||||
|
#~ "spessore specifico, in modo da poter fornire ancoraggi migliori per i "
|
||||||
|
#~ "ponti interni. 0 significa disabilitare questa funzione"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "When using support material for the support interface, We recommend the "
|
||||||
|
#~ "following settings:\n"
|
||||||
|
#~ "0 top z distance, 0 interface spacing, concentric pattern."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Quando si utilizza materiale di supporto per l'interfaccia supporto, si "
|
||||||
|
#~ "consigliano le seguenti impostazioni:\n"
|
||||||
|
#~ "0 distanza superiore, 0 distanza tra interfacce, trama concentrica."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "X1 General Settings - Network Settings in the side bar of X1 main screen"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Impostazioni generali X1 - Impostazioni rete nella barra laterale della "
|
||||||
|
#~ "schermata principale X1."
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "You have changed some preset settings. \n"
|
#~ "You have changed some preset settings. \n"
|
||||||
|
|
|
@ -8719,6 +8719,21 @@ msgstr "支撑:正在生成多边形"
|
||||||
msgid "Support: generate toolpath"
|
msgid "Support: generate toolpath"
|
||||||
msgstr "支撑:正在生成走线路径"
|
msgstr "支撑:正在生成走线路径"
|
||||||
|
|
||||||
|
msgid "Unknown file format. Input file must have .stl, .obj, .amf(.xml) extension."
|
||||||
|
msgstr "未知的文件格式。输入文件的扩展名必须为.stl、.obj 或 .amf(.xml)。"
|
||||||
|
|
||||||
|
msgid "Loading of a model file failed."
|
||||||
|
msgstr "加载模型文件失败。"
|
||||||
|
|
||||||
|
msgid "The supplied file couldn't be read because it's empty"
|
||||||
|
msgstr "无法读取提供的文件,因为该文件为空。"
|
||||||
|
|
||||||
|
msgid "Unknown file format. Input file must have .3mf or .zip.amf extension."
|
||||||
|
msgstr "未知的文件格式。输入文件的扩展名必须为.3mf或.zip .amf。"
|
||||||
|
|
||||||
|
msgid "Canceled"
|
||||||
|
msgstr "已取消"
|
||||||
|
|
||||||
#, c-format, boost-format
|
#, c-format, boost-format
|
||||||
msgid "Support: generate polygons at layer %d"
|
msgid "Support: generate polygons at layer %d"
|
||||||
msgstr "支撑:正在生成层%d的多边形"
|
msgstr "支撑:正在生成层%d的多边形"
|
||||||
|
|
16
resources/images/param_rectilinear_interlaced.svg
Normal file
16
resources/images/param_rectilinear_interlaced.svg
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_10579_34940)">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 1H1V9H9V1ZM1 0.5C0.723858 0.5 0.5 0.723858 0.5 1V9C0.5 9.27614 0.723858 9.5 1 9.5H9C9.27614 9.5 9.5 9.27614 9.5 9V1C9.5 0.723858 9.27614 0.5 9 0.5H1Z" fill="#262E30"/>
|
||||||
|
<path opacity="0.4" fill-rule="evenodd" clip-rule="evenodd" d="M4.75 9.5V0.5H5.25V9.5H4.75Z" fill="#262E30"/>
|
||||||
|
<path opacity="0.4" fill-rule="evenodd" clip-rule="evenodd" d="M2.5498 9.5V0.5H3.0498V9.5H2.5498Z" fill="#262E30"/>
|
||||||
|
<path opacity="0.4" fill-rule="evenodd" clip-rule="evenodd" d="M6.9502 9.5V0.5H7.4502V9.5H6.9502Z" fill="#262E30"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.5 4.75L9.5 4.75L9.5 5.25L0.5 5.25L0.5 4.75Z" fill="#262E30"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.5 2.5498L9.5 2.5498L9.5 3.0498L0.5 3.0498L0.5 2.5498Z" fill="#262E30"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.5 6.95019L9.5 6.9502L9.5 7.4502L0.5 7.45019L0.5 6.95019Z" fill="#262E30"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_10579_34940">
|
||||||
|
<rect width="10" height="10" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
|
@ -37,6 +37,11 @@
|
||||||
#include "MeshBoolean.hpp"
|
#include "MeshBoolean.hpp"
|
||||||
#include "Format/3mf.hpp"
|
#include "Format/3mf.hpp"
|
||||||
|
|
||||||
|
// Transtltion
|
||||||
|
#include "I18N.hpp"
|
||||||
|
|
||||||
|
#define _L(s) Slic3r::I18N::translate(s)
|
||||||
|
|
||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
// BBS initialization of static variables
|
// BBS initialization of static variables
|
||||||
std::map<size_t, ExtruderParams> Model::extruderParamsMap = { {0,{"",0,0}}};
|
std::map<size_t, ExtruderParams> Model::extruderParamsMap = { {0,{"",0,0}}};
|
||||||
|
@ -191,7 +196,7 @@ Model Model::read_from_file(const std::string& input_file, DynamicPrintConfig* c
|
||||||
//BBS: is_xxx is used for is_bbs_3mf when load 3mf
|
//BBS: is_xxx is used for is_bbs_3mf when load 3mf
|
||||||
result = load_bbs_3mf(input_file.c_str(), config, config_substitutions, &model, plate_data, project_presets, is_xxx, file_version, proFn, options, project, plate_id);
|
result = load_bbs_3mf(input_file.c_str(), config, config_substitutions, &model, plate_data, project_presets, is_xxx, file_version, proFn, options, project, plate_id);
|
||||||
else
|
else
|
||||||
throw Slic3r::RuntimeError("Unknown file format. Input file must have .stl, .obj, .amf(.xml) extension.");
|
throw Slic3r::RuntimeError(_L("Unknown file format. Input file must have .stl, .obj, .amf(.xml) extension."));
|
||||||
|
|
||||||
if (is_cb_cancel) {
|
if (is_cb_cancel) {
|
||||||
Model empty_model;
|
Model empty_model;
|
||||||
|
@ -200,13 +205,13 @@ Model Model::read_from_file(const std::string& input_file, DynamicPrintConfig* c
|
||||||
|
|
||||||
if (!result) {
|
if (!result) {
|
||||||
if (message.empty())
|
if (message.empty())
|
||||||
throw Slic3r::RuntimeError("Loading of a model file failed.");
|
throw Slic3r::RuntimeError(_L("Loading of a model file failed."));
|
||||||
else
|
else
|
||||||
throw Slic3r::RuntimeError(message);
|
throw Slic3r::RuntimeError(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (model.objects.empty())
|
if (model.objects.empty())
|
||||||
throw Slic3r::RuntimeError("The supplied file couldn't be read because it's empty");
|
throw Slic3r::RuntimeError(_L("The supplied file couldn't be read because it's empty"));
|
||||||
|
|
||||||
for (ModelObject *o : model.objects)
|
for (ModelObject *o : model.objects)
|
||||||
o->input_file = input_file;
|
o->input_file = input_file;
|
||||||
|
@ -252,14 +257,14 @@ Model Model::read_from_archive(const std::string& input_file, DynamicPrintConfig
|
||||||
else if (boost::algorithm::iends_with(input_file, ".zip.amf"))
|
else if (boost::algorithm::iends_with(input_file, ".zip.amf"))
|
||||||
result = load_amf(input_file.c_str(), config, config_substitutions, &model, &is_bbl_3mf);
|
result = load_amf(input_file.c_str(), config, config_substitutions, &model, &is_bbl_3mf);
|
||||||
else
|
else
|
||||||
throw Slic3r::RuntimeError("Unknown file format. Input file must have .3mf or .zip.amf extension.");
|
throw Slic3r::RuntimeError(_L("Unknown file format. Input file must have .3mf or .zip.amf extension."));
|
||||||
|
|
||||||
if (out_file_type != En3mfType::From_Prusa) {
|
if (out_file_type != En3mfType::From_Prusa) {
|
||||||
out_file_type = is_bbl_3mf ? En3mfType::From_BBS : En3mfType::From_Other;
|
out_file_type = is_bbl_3mf ? En3mfType::From_BBS : En3mfType::From_Other;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!result)
|
if (!result)
|
||||||
throw Slic3r::RuntimeError("Loading of a model file failed.");
|
throw Slic3r::RuntimeError(_L("Loading of a model file failed."));
|
||||||
|
|
||||||
for (ModelObject *o : model.objects) {
|
for (ModelObject *o : model.objects) {
|
||||||
// if (boost::algorithm::iends_with(input_file, ".zip.amf"))
|
// if (boost::algorithm::iends_with(input_file, ".zip.amf"))
|
||||||
|
@ -278,7 +283,7 @@ Model Model::read_from_archive(const std::string& input_file, DynamicPrintConfig
|
||||||
if (proFn) {
|
if (proFn) {
|
||||||
proFn(IMPORT_STAGE_ADD_INSTANCE, 0, 1, cb_cancel);
|
proFn(IMPORT_STAGE_ADD_INSTANCE, 0, 1, cb_cancel);
|
||||||
if (cb_cancel)
|
if (cb_cancel)
|
||||||
throw Slic3r::RuntimeError("Canceled");
|
throw Slic3r::RuntimeError(_L("Canceled"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -289,7 +294,7 @@ Model Model::read_from_archive(const std::string& input_file, DynamicPrintConfig
|
||||||
if (proFn) {
|
if (proFn) {
|
||||||
proFn(IMPORT_STAGE_UPDATE_GCODE, 0, 1, cb_cancel);
|
proFn(IMPORT_STAGE_UPDATE_GCODE, 0, 1, cb_cancel);
|
||||||
if (cb_cancel)
|
if (cb_cancel)
|
||||||
throw Slic3r::RuntimeError("Canceled");
|
throw Slic3r::RuntimeError(_L("Canceled"));
|
||||||
}
|
}
|
||||||
|
|
||||||
//BBS
|
//BBS
|
||||||
|
@ -300,7 +305,7 @@ Model Model::read_from_archive(const std::string& input_file, DynamicPrintConfig
|
||||||
if (proFn) {
|
if (proFn) {
|
||||||
proFn(IMPORT_STAGE_CHECK_MODE_GCODE, 0, 1, cb_cancel);
|
proFn(IMPORT_STAGE_CHECK_MODE_GCODE, 0, 1, cb_cancel);
|
||||||
if (cb_cancel)
|
if (cb_cancel)
|
||||||
throw Slic3r::RuntimeError("Canceled");
|
throw Slic3r::RuntimeError(_L("Canceled"));
|
||||||
}
|
}
|
||||||
|
|
||||||
handle_legacy_sla(*config);
|
handle_legacy_sla(*config);
|
||||||
|
|
|
@ -11,4 +11,4 @@ if(NOT DEFINED BBL_INTERNAL_TESTING)
|
||||||
set(BBL_INTERNAL_TESTING "1")
|
set(BBL_INTERNAL_TESTING "1")
|
||||||
endif()
|
endif()
|
||||||
set(SoftFever_VERSION "1.6.3-beta")
|
set(SoftFever_VERSION "1.6.3-beta")
|
||||||
set(SLIC3R_VERSION "01.06.00.65")
|
set(SLIC3R_VERSION "01.06.00.66")
|
Loading…
Reference in a new issue